Thanks! That does seem like a really strange one...
When it's not working, please could you tell me what D36.read() reports back?
Also, please could you try running Bangle.setLocked(1);Bangle.setLocked(0); and see if that brings it back to life?
My guess is for some reason the communications with the touchscreen aren't 100% reliable. The touchscreen pulls an IRQ line low when there's data and then when it's read out it goes high - but if the read failed then I guess it'd be stuck low.
It'd be really good to see if completely flattening the battery and recharging fixed it (as that would reset the touch IC), but if it is what I think it is, it should be pretty easy to detect the problem and fix in software.
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.
Thanks! That does seem like a really strange one...
When it's not working, please could you tell me what
D36.read()
reports back?Also, please could you try running
Bangle.setLocked(1);Bangle.setLocked(0);
and see if that brings it back to life?My guess is for some reason the communications with the touchscreen aren't 100% reliable. The touchscreen pulls an IRQ line low when there's data and then when it's read out it goes high - but if the read failed then I guess it'd be stuck low.
It'd be really good to see if completely flattening the battery and recharging fixed it (as that would reset the touch IC), but if it is what I think it is, it should be pretty easy to detect the problem and fix in software.