Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
david gauchard
@d-a-v

AVR's reset must be connected to pin N (see in esp_avr_programmer). I don't know if avr bootloader needs a crystal.
You must not unplug the chip if it does. But if it is unplugged, then usb-serial will be connected (rx/tx shortcuts)
If avr bootloader does not need a crystal, it must not run at 16MHz either otherwise it needs more than 3.3v.

Don't you have a a 8MHz board without usb to try with ? (pro mini 8MHz / 3.3v)

saqibmanan329
@saqibmanan329
Yea i have connected reset pin to GPIO4 of nodemcu.
I have a arduino nano also, i will try it with that one also.
In the arduino ide it is showing me avrmkll
saqibmanan329
@saqibmanan329
its far , but the browser portion is not working , i reduced the baud rate also but when i even upload the hex file the next page doesn't open, the page remains the same but as shown in the ss there shoulb be another webpage opening after the file upload i.e http://something/files.
as seen in the htm file.
and webserv.cpp file
saqibmanan329
@saqibmanan329

AVR's reset must be connected to pin N (see in esp_avr_programmer). I don't know if avr bootloader needs a crystal.
You must not unplug the chip if it does. But if it is unplugged, then usb-serial will be connected (rx/tx shortcuts)
If avr bootloader does not need a crystal, it must not run at 16MHz either otherwise it needs more than 3.3v.

Don't you have a a 8MHz board without usb to try with ? (pro mini 8MHz / 3.3v)

yes, the uno avr needs a crystal if removed from the board, and my arduino nano as well is 16Mhz

Well , could it mean that this library only works with 8Mhz avr's? I wonder the library's are universal, and this one surely is pretty less documented.
hreintke
@hreintke

@earlephilhower :
Anything specific changed in uart in your gcc9 branch ?
Running this :

void setup()
{
    Serial.begin(115200);
}
void loop()
{
    static int c = 0;
    if ((c++ %10000) ==0) { Serial.printf(".");};
    if (Serial.available())
    {
        Serial.read();
        Serial.printf("Key pressed\r\n");
    }
}

Runs OK after power up, but fails (almost every time) to read & print the keypressed after reset.
The dot is printing -> loop runs

Earle F. Philhower, III
@earlephilhower
@hreintke, nothing in uart.c changed other than fixing the uart IRQ prototype bug present in core by adding the missing interrupt frame pointer to the IRQ callback. That's a no-op in terms of logic changes.
Could be a missing memory barrier somewhere in Serial.c is now causing trouble with the new gcc code generator...
Earle F. Philhower, III
@earlephilhower
@hreintke, I just tried your example and am not seeing any problem. I uploaded it and changed to minicom and it's printing key pressed consistently whenever I type anything.
Could it be a terminal issue on your end? Buffering in the app or serial monitor?
hreintke
@hreintke

@earlephilhower :
Thanks for testing on your side.
Will get into more detail on my side.
For now I have

  • Arduino git head -> OK
  • Arduino git head + gcc PR -> fails
  • Your gcc9 branch -> fails

I have another issue in these environments that incremental compile does not work correct.
Complaining on missing rule on Arduino.h. Maybe related, but I am puzzled.
I'll keep you informed.

Earle F. Philhower, III
@earlephilhower
For the GCC PR, make sure you do submodule update to get the proper libs, too. Might be something to do with that. I'm using the IDE and not seeing anything awry, and arduino-builder is caching OK on the CI, too AFAICT. There are some PlatformIO users, too, which seem ok...
Hasenradball
@hasenradball
Hi Togehter I have an Question regarding WiFi.mode
When I have a connected ESP with STA mode and the router switches off wifi over night.
And I will switch WiFi.mode(WIFI_OFF)on the ESP too.
In the morning I will go to WiFi.mode(WIFI_STA) when the router is not up again.
--> Will the ESP make a reconnect if the router comes up or do I have to make a connect?
hreintke
@hreintke
@earlephilhower : Tried another device and that's working without any issues.
Device dependent -> not core related.
No idea yet how that is possible but at least I can continue.
Sorry for the confusion.
Federico Frigo
@FIAV1

Hello everyone!
I have a question for you guys:
I'm using the AsyncWebSocket plugin; from the frontend I'm sending a file to the ESP that in turn will send it to a microcontroller using FTP; since the file could be large, the websocket could possibly receive several chunks, and i need to store them somewhere before sending them to the micro. I'm thinking about std::vector, that allows to have a dynamic buffer.
Is this a good practice? Or should I follow another (better) way?

Thanks everyone!

Earle F. Philhower, III
@earlephilhower
NP, @hreintke . If you do find something wrong let me know. I am still surprised that things "just work" when moving from GCC 4.ancient to 10.bleeding...
david gauchard
@d-a-v
@FIAV1 ram is a precious resource, and is quite small. It all depends on what you call "could be large". If it's more than 10KBytes, then you should store it on a local filesystem (= use the eeprom). (Best would be to stream your chunks). If it's less than 10KB, maybe vector<> is an acceptable answer. You need to regularly check ram health (using ESP.{getFreeHeap,getMaxFreeBlock,getHeapFragmentation})
Federico Frigo
@FIAV1
@d-a-v thanks for your answer, this was exactly what I was looking for. Yeah, you're absolutely right, my first thought went to streaming chunks directly; then i thought about buffering the whole file, because I'm using some code i found on the net and this was the simplest solution.
I'm going back to streaming since i don't want to have ram issues, this is gonna take some time but it will be worth for sure!
Thanks again!
Jeroen88
@Jeroen88
@FIAV1 Maybe it is of any use for you, for the ESP32 I designed a ClientHTTP derived from Client that handles request and response headers for you, chunking, redirection, etc. You can do POST and write / print / etc a payload directly to it. Or you can do a POST or a GET and read directly from it, stream to a file, stream to a ArduinoJson, to a StreamString, to Serial or any other Stream, without an intermediate buffer. It was written to work for the ESP8266 as well. You can find it in the ESP32 github, pull request 3848
Hasenradball
@hasenradball
Hello I have regularly the issue on two ESP8266 with OTA that teir are not anymore available in the Network. Is this already a know issue with OTA?
Max Prokhorov
@mcspr
I just found out Bosch's BSEC library wants user to modify ldscript file to make it work:
https://github.com/BoschSensortec/BSEC-Arduino-library#esp8266---modify-the-linker-script-header
Any reason why we are not using *(.literal .text .literal.* .text.* ... etc.)instead in the ldscript?
https://github.com/esp8266/Arduino/blob/cc1cc0b2ce4825057f6a8bb0c6b1b82e17be313e/tools/sdk/ld/eagle.app.v6.common.ld.h#L142-L144
(or at least *.o, as it seems to be the main reason for BSEC library instructions, their files are just .o without .c or .cpp)
James
@WanaGo

Hi - Can someone please help me with trying to edit the boards.txt and pushing it back onto github. I am reading the board generator FAQ, and have created the abridged boards.txt file, but for the life of me I cant figure out how you then get this into the format that the CI will accept. It says dont upload the abridged, and I need to do the --allgen, but when I do allgen it overwrites the boards.txt file I just made. I am a bit lost (I must be stupid). Can anyone help?

I did:

boards.txt.py --boardnames >favourites.txt

edited the favourites.txt file to be only the board I want to modify (our company board which just needs a tweak)

boards.txt.py --boardsgen --filter favourites.txt

edited the boards.txt file to have the changes.

Now unsure what I need to do now.

Aim is to modfiy the board of ours in the boards.txt which is in the esp8266 Arduino github board.txt already, as we have changed the flash so need to add another option in there. But its been a few years since we last uploaded this and all of this has changed dramatically, and this FAQ is not clear to me how I do the last step.

Thanks

The people that normally did this sadly have been let go due to covid :(
James
@WanaGo
Or is it a case I do the --allgen, then do the above, and then upload the files that changed, including the abridged boards.txt ?
I feel like the FAQ could be spelt out a bit better
david gauchard
@d-a-v
@WanaGO You need to modify tools/boards.txt.py, not boards.txt which is regenerated by the first
david gauchard
@d-a-v
@mcspr I think that's because of closed source nonos-sdk's files.a that must be linked into iram.
So default must be iram, and we need to name all external libraries in the right irom section - that allows us to not decorate all function with ICACHE_FLASH_ATTR like in old days.
We could maybe reverse that so everything by default would be linked in flash, and we'd need to explicitely name nonossdk's files.a in the iram section ?
James
@WanaGo

@WanaGO You need to modify tools/boards.txt.py, not boards.txt which is regenerated by the first

Thank you David. Ok, that is making sense now, I opened the file but it wasnt immediately obvious what was going on, but now I see. OK so I made the changes in the boards.txt.py file, and have run the --allgen now, and created the abridged boards.txt file. Now to do a pull request with all modified files, I think.

david gauchard
@d-a-v
I should have listened to @earlephilhower when he told me that nobody would read the first three lines from boards.txt... :worried:
@WanaGo You may copy these three lines to put them in where you think is the right place in doc/faq/and commit with your boards.txt.py changes.
James
@WanaGo
I did read, but it did not compute as to what it was asking me to do. I never thought I would have to edit the python script, only run it. It really was not clear what it was asking.
In all honesty, only having to do this and touch git once in a blue moon, its foreign every time we have to go and do something like this, its relearning it from scratch, and development continues so its completely different than the last time anyway. The boards.txt file is so complex compared to what it use to be. Ive never touched python up till now, and really the only git I have used is the Desktop version, not the command prompt - which might be laughable, but its not something I ever have to deal with. But with covid, things change and people have to do things they dont normally do in order to keep the business running. This confused me. I have pushed my change now, really hope it works.
david gauchard
@d-a-v

You did read this in boards.txt ?

# Do not create pull-requests for this file only, CI will not accept them.
# You ***must*** edit/modify/run boards.txt.py to regenerate boards.txt.
# All modified files after running with option "--allgen" must be included in the pull-request.

You must edit/modify/run boards.txt.py to regenerate boards.txt.

The boards.txt file is so complex compared to what it use to be.

That's the reason why we have this script

James
@WanaGo
yes, but edit/modify didnt really compute as I said, I didnt think I had to actually modify someone elses script, I just thought I had to run it, it confused me.
I opened the file and got immediately lost. Only when I searched for our board name, did I realise what it was asking me to do
Im not a programmer.
david gauchard
@d-a-v
Please update the faq as you would have liked to read and understand it for that matter !
James
@WanaGo
ill try, I pushed the change already, but it hasnt passed, unsure if its waiting on me or what. This whole process is so foreign to me
david gauchard
@d-a-v
I think I remember last time I made the change for you (4dsystems)
The current PR is wrong, you must not commit a local configuration in which you removed all other boards.
Also, boards.txt.py is not added in the commit.
James
@WanaGo
oh dear :(
david gauchard
@d-a-v
We can help, just send me an email with your change request.
James
@WanaGo
Thank you - what is your email ?
found it.
Raphyyy
@Raphyyy
Hello. I was wondering if there is any informations about reducing the .bin size out there. For example I use ESP8266WiFi, ESP8266HTTPClient and ESP8266httpUpdate but I do not use any of TLS encryption. So I would like to know if there is existing options or tricks in order to reduce the .bin size for about 30-50 Ko.
david gauchard
@d-a-v
Option NDEBUG in the tool menu, option nofloat with tools/boards.txt
Also the bin file can be compressed with gzip