These are chat archives for esp8266/Arduino

13th
Apr 2018
Earle F. Philhower, III
@earlephilhower
Apr 13 2018 16:33
@Makuna have him open an issue on the Arduino-8266 tracker with a stack decode. Class static variables sit in BSS, which is always in RAM. There is also a .MAP file generated on ARduino compile where you can find the absolute address of this variable (post-C++-name-mangling) to verify its location. Only symbols starting with _ZTV (a prefix that GCC adds only to vtable names) should be moved.
Michael Miller
@Makuna
Apr 13 2018 17:15
Thanks @earlephilhower , I have been trying to create a minimum sketch that demonstrates it. I am seeing some interesting behavior when the class object is destroyed, the static variable values (I added some debug static variables to track some stuff) are being changed to the same non-zero value even though nothing in the destructor is doing anything.
Earle F. Philhower, III
@earlephilhower
Apr 13 2018 17:26
If you were able to set anything to the static variable, it's not in flash for sure (you'd fault writing anything to it). There is no data copied automatically from flash to ram after BSS is initialized at system startup. Very odd thing you're seeing!
Sam Kendrick
@adnauseum
Apr 13 2018 19:13
Hi all, I finished my first IoT project ever! It's a bathroom door monitor for my workplace. It is really simple; just hits a lambda function to modify a piece of state in a DB. I integrated it with Slack, so the status can be queried. I'm know my code is pretty poor, but I was making this during my brief lunch breaks :-D https://github.com/adnauseum/esp8266-door-monitor/blob/master/arduino_code/door-monitor.ino