Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Victor Aprea
@vicatcu
hi, anybody home?
Steve Nelson
@zenmanenergy
I’m around, but probably not much help.
Victor Aprea
@vicatcu
@zenmanenergy hehe nice to meet you :)
i'll be back, switching back to ubuntu
Victor Aprea
@vicatcu
i'll leave gitter open, if anyone has insights into #855 would be much appreciated
Steve Nelson
@zenmanenergy
Do you have more than one esp you can test with? Does it do that with every device? I’m testing it on a nodemcu 1.0 right now… one sec.
Victor Aprea
@vicatcu
@zenmanenergy yea I'm going to go ahead right now with another one, but I don't know how the borked one got into that state
Steve Nelson
@zenmanenergy
I just uploaded it 5 times to my development board and it worked fine every time. one thing that’s different about esp boards versus arduinos is that to see the Serial output in the setup() function I always seem to have to reset the board after you upload it with the serial monitor open.
Victor Aprea
@vicatcu
and i'm hoping there's a way to recover it, i'm more worried about bricking more without knowing if it can come back
Steve Nelson
@zenmanenergy
another super minor thing… add a println to this:
Serial.print(F("Flash Chip Size By Id: "));
the text is showing up at the end of the garbage for me after i reset
Victor Aprea
@vicatcu
i was able to load software on it multiple times before i wasn't
the garbage you're seeing is almost certainly decode-able at 77600 baud
if you use PuTTY instead of Arduino Serial Monitor you can set arbitrary baud rates
crazy ass baud rate, but it is what it is
Martin Ayotte
@martinayotte
I see that you are using F macro, but the Serial.print() is not PROGMEM aware ...
Steve Nelson
@zenmanenergy
which board are you working with? I have struggled with a bunch of them, the power requirements usually cause the issues.
Martin are you suggesting he just get rid of the F() function in the print?
Victor Aprea
@vicatcu
@martinayotte if you're talking to me, it doesn't matter what I try and load anymore, it just goes reset crazy in flash load boot mode
Martin Ayotte
@martinayotte
Yes ! F macro can only be used with method like client.write_P() or server.send_P(), Serial doesn't have such method.
Steve Nelson
@zenmanenergy
sweet. that’s good to know.
Victor Aprea
@vicatcu
btw I just loaded code onto a different board and it's fine
Steve Nelson
@zenmanenergy
the board must have just gone bad.
Victor Aprea
@vicatcu
i don't think so honestly
i just don't understand well enough what's going on at the boot level to know what boot mode (3, 6) means
Victor Aprea
@vicatcu
is the ROM bootloader documented anywhere, like how to decode boot mode and reset cause?
Steve Nelson
@zenmanenergy
I’m not certain about that. martin may know. are you sure you have the right flash size?
Victor Aprea
@vicatcu
which suggests
reset causes:
0:
1: normal boot
2: reset pin
3: software reset
4: watchdog reset
boot device:
    0:
    1: ram
    3: flash
which doesn't really make sense unless you interpret 'ram' to mean 'uart'
Michael Miller
@Makuna
@martinayotte i belive your statement is incorrect. F () macro casts to stringhelper type, of which the print does support. This is a Arduino feature not esp specific. The other progmem features like declaring a const with PROGMEM will not work with print.
The difference between atmel and avr support is that the atmel compiler will check for duplicate strings declared like this and only include one, while the gcc will not do this.
Martin Ayotte
@martinayotte
Hi Makuna ! Thanks for clarification. Is that means that F macro will still work with Serial.print() but not with PROGMEM ?
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