Currently wasp-os does not keep appdata in the nRF flash. It is offloaded
to spinor instead.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
The PNVRAM feature is currently only available on NRF52832 board and is
breaking the builds for the nRF52840 devices. Fix this the obvious way.
Fixes: d8d7d76 ("boards: Add pseudo-NVRAM support")
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
Generally having no button is a bad idea because it makes it hard to
manage the watchdog. However if we haven't yet figured out how the
button works it is still useful to have a bootloader.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
If the button blackout time is too short then we can reset before
we remove the splash screen... which means we can't hold down the
button when we transition to the payload... which, for wasp-os,
makes it really hard to trigger safe mode.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
This involves a longer double reset delay aligned the button blackout
period. The result is that the <- Start will not appear until the button
is active. Finally we shorten the debounce window to make the button
press appear more repsonsive.
Currently the pseudo-NVRAM is used only to measure the time spent in the
bootloader (which keeps the watch time stable when we reset the device).
At this stage the legacy mechanisms to pass messages via the SRAM have
not been modified.
Shorten the delay on the application boot path to make the boot feel
quicker. Add a delay to the bootloader path so the user gets to see the
splash screen ;-) .
If the bootloader fails for any reason we'd like to be able to restart
it! This is approach is a bit of a cheat... we are feeding the dog from
a periodic interrupt and there are plenty of ways to the system to fail
that leave periodic interrupts still ticking. However since we test the
user button and reboot from the ISR then this is OK... either the SysTick
stops and we reboot or the SysTick is running and the reboot switch will
still work.
The button on the PineTime isn't a simple pull low design. Instead
the switch is connected across two GPIO pins *and* has external
pull downs on both pins. This circuit requires special handling since
it must be active high and we need to configure the other pin as an
output for the pin to work correctly.