-
For me it seems best to simply update the bootloader to have a higher timeout on the watchdog.
Yes. It is just that replacing bootloader is not trivial and is a bit risky without having SWD debugger but yes this is the most sensible solution. Once the watchdog is started the interval
NRF_WDT->CRV
cannot be changed so bootloader is the only place to change it.BTW the code kicking watchdog is here
https://github.com/espruino/Espruino/blob/master/libs/banglejs/jswrap_bangle.c#L1093
it is insideif (!(jshPinGetValue(BTN1_PININDEX) ))
so some variation of one time delayed kick even if button is held longer than some time could be implemented there too.
Perfect this is what i was looking for
For me it seems best to simply update the bootloader to have a higher timeout on the watchdog.
I will also do some work on a custom clock that locksdown the app code side, but that seems easier for me. My real problem was getting my head around the bootloader/firmware code.
Thanks for guiding me in the right direction