Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
xbary
@xbary
Hello, I have a question: whether to use correctly the abilities of ESP8266HTTPUpdateServer need in the module ESP have twice as much flash memory as the size of the firmware's new?
Michael Miller
@Makuna
@martinayotte I included a new "macro" FPSTR to allow you to use a progmem defined const in prints, the core issue is that progmem is not a type, its an attribute, and C++ does not consider attributes part of the type, so there is no way for it to figure out which print function to use based on the argument. By wrapping your program attributed const with FPSTR() as you pass it, then the correct print method will be used.
Martin Ayotte
@martinayotte
Thanks Michael ! We have always something to learn, even after 25 years experience. :-)
Victor Aprea
@vicatcu
evil macros :-)
Michael Miller
@Makuna
@vicatcu Yeah, I don't disagree, but sometimes there is no other way to do some things. Further, this was all to keep it Arduino compatible. They never created a unique type for it.
Victor Aprea
@vicatcu
ya I know too well
now if I could only figure out what the hell happened to this board
Michael Miller
@Makuna
Is yours a dev board or just the module? I have had two modules go bad (I suspect bad contacts with the programmer and get strange reset as it programs) but I have only had one dev board go bad and that was due to dragging a hot 5v wire across it ;-)
Victor Aprea
@vicatcu
@Makuna, it's a board I built myself actually, with an ESP-WROOM2 module on it
I had 4 made, and loaded code on two others fine, this one was working fine before too, but then it wasn't
still have one virgin board, I just wish I understood what happened to this one board
Michael Miller
@Makuna
p.s. I tried replacing the module on the dev board, but in the process of heating it (hot air) the inside chips under the RF shield of the new module slid around and ruined the module. Without a IR preheat of a real rework station I wouldn't trust my work.
The module just gets too hot without the main board preheat.
Victor Aprea
@vicatcu
oh interesting, i do have a hot air station
but I'm not satisfied to just fix it
Michael Miller
@Makuna
I suspect that the chips under the shield are not epoxied down so if enough heat melts their solder, they slide. When I tore the RF shield off (literally used diagonal snips so I check what happened under it without another heating session) one chip was 30 degrees rotated.
Ivan Grokhotkov
@igrr
@vicatcu your log indicates that module actually boots to the sketch, but something goes wrong afterwards
Could you please add Serial.setDebugOutput(true); after your Serial.begin line and check if you get more output?
Victor Aprea
@vicatcu
@igrr sure... incidentally does upload verify the flash?
alon24
@alon24
does arduino support gpio9 and gpio10 - if flashed as DIO mode?
Ivan Grokhotkov
@igrr
It doesn't. Bootloader relies on a few checksums written along with the program.
alon24
@alon24
meaning do I get these 2 pins? did any1 check?? with sming I am able to get gpio10 for myself, but gpio9 is not functioning for me, so I wondered if any1 here tried it
Victor Aprea
@vicatcu
Ivan Grokhotkov
@igrr
This looks fine. Although I normally use 115200, but that shouldn't matter much.
Victor Aprea
@vicatcu
@igrr I'm just getting infinite resets from that, i think the fact that my flash ID says a1a1 is not good
Ivan Grokhotkov
@igrr
Yes that flash ID is a bit funny.
Victor Aprea
@vicatcu
what's the right baud rate to see the bootloader messages, 76800?
alon24
@alon24
74880
Victor Aprea
@vicatcu
wierd, putty looks like gibberish at that baud rate
looks like a 13.86uS bit time
alon24
@alon24
did any1 try using gpio9 and gpio10?
Ivan Grokhotkov
@igrr
@alon24 I haven't, if you do, make sure you call pinMode(9, OUTPUT)
or INPUT
unlike other GPIOs these pins are not initialized as INPUT at startup
@vicatcu this weird baud rate is 115200 * xtal_frequency / 40
alon24
@alon24
k, thanks, do iu have a way to set to dio
Victor Aprea
@vicatcu
@igrr ah that's interesting
@igrr so have you seen anything like this before, or do I have a snowflake here?
as in 'beautiful and unique'
Ivan Grokhotkov
@igrr
no i haven't seen a1a1 stuff yet.
could you also do read_flash instead of read_mem?
Victor Aprea
@vicatcu
does esptool talk to the flash through the ROM bootloader?
yea sure, one sec
Ivan Grokhotkov
@igrr
partially. most commands work through bootloader, but for some commands (like read_flash and read_mac) esptool.py uploads a short piece of code into RAM and runs it... then this piece of code does things which bootloader was not programmed to do
you can do some interesting tricks this way. for example, i have used this idea in my branch of esptool-ck to implement deflate-compressed code uploads.
basically esptool-ck first uploads decompressor into ESP8266's RAM, runs it, and then pumps compressed program over serial. Decompressor reads the stream, inflates it, and writes to flash.
after you do read_flash, do a diff against the .bin which is uploaded by Arduino
Victor Aprea
@vicatcu
@igrr what address range should I do read_flash on?
Sketch uses 207,276 bytes (19%) of program storage space. Maximum is 1,044,464 bytes.
Global variables use 44,816 bytes (54%) of dynamic memory, leaving 37,104 bytes for local variables. Maximum is 81,920 bytes.
Ivan Grokhotkov
@igrr
address 0, size should be the size of the uploaded bin
207276 bytes