With 20150426 I note two visible differences:
1) At boot time it often (every time?) says "MEM CHECK FAIL!!!".
- What is this?
- Is it related?
- some of the boards have slow flash, and I mean real slow.
- Some have 4MB (e.g. my nodeMCU) and others have 512KB (e.g. my esp-01).
I could not see a relationship between these attributes and the failure.
2) After a (short) while it fails with this constant message:
MEM CHECK FAIL!!!
Fatal exception (29):
epc1=0x40222788, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000044, depc=0x00000000
It was already said that this epc1 is inside pm_wait4wakeup. This is probably informative to someone who is familiar with this part of the code. Is it nodemcu code? SDK code?
BTW, the above messages are at 15200 baud.
To avoid distractions I am running a trivial init.lua that is just a dsleep loop
magic_pin = 1 -- gpio5, LOW on this pin will stop the program
gpio.mode (magic_pin, gpio.INPUT, gpio.PULLUP);
if 0 == gpio.read (magic_pin) then
print ("aborting by magic")
else
print ("will wake up in 2s\n")
node.dsleep(2*1000000)
end
Wireless was intentionally not set up on the chip so I assume it is not involved (but what do I know?).
So, is anyone looking into this? This issue makes it impossible to use this software for low power (is there any other kind?) IoT.
I should say though, that I have two chips (one an esp-01 and the other a nodeMCU board) that are mostly reliable. So I suspect the issue is related to some sensitivity in the later code, which was handled better before. A timing issue (wakeeup too slow)? OK, I am just dreaming up ideas now...
cheers