Ok, I left it running and got one or two glitches - a 0.2 sec delay as opposed to 0.05 sec, followed by 3 faster iterations as it tries to catch up.
I'm not too sure why this would be happening and it's going to be a pain to track down, but I'm just trying a change now to see if that has any effect.
Adding something along the lines of analogWrite(pin_a_dont_care_about, 0.5, {freq:200,forceSoft:true}) should work as a stopgap I think - it basically forces the board to wake up every so often, so that occasional glitch (where it seems to miss a wakeup event) shouldn't happen.
The other thing you can do is setDeepSleep(1) if you're not using Serial ports. That uses a different sleep mechanism which has way better power consumption, but which may not suffer from whatever issue is hitting us here
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Ok, I left it running and got one or two glitches - a 0.2 sec delay as opposed to 0.05 sec, followed by 3 faster iterations as it tries to catch up.
I'm not too sure why this would be happening and it's going to be a pain to track down, but I'm just trying a change now to see if that has any effect.
Adding something along the lines of
analogWrite(pin_a_dont_care_about, 0.5, {freq:200,forceSoft:true})
should work as a stopgap I think - it basically forces the board to wake up every so often, so that occasional glitch (where it seems to miss a wakeup event) shouldn't happen.The other thing you can do is
setDeepSleep(1)
if you're not using Serial ports. That uses a different sleep mechanism which has way better power consumption, but which may not suffer from whatever issue is hitting us here