diff options
| author | Scott Shawcroft <scott@tannewt.org> | 2018-12-06 14:24:20 -0800 |
|---|---|---|
| committer | Scott Shawcroft <scott@tannewt.org> | 2018-12-06 14:24:20 -0800 |
| commit | 6ef863997186e1893cdf19c0e04d0a8a3f33ad9d (patch) | |
| tree | 461360ed76e39ca0a534a0dee040fc1cf6848d70 /ports/nrf/peripherals | |
| parent | 7ad2e6ace34a6d417ec1b84472fa409d5451137b (diff) | |
Rework safe mode and have heap overwrite trigger it.
This creates a common safe mode mechanic that ports can share.
As a result, the nRF52 now has safe mode support as well.
The common safe mode adds a 700ms delay at startup where a reset
during that window will cause a reset into safe mode. This window
is designated by a yellow status pixel and flashing the single led
three times.
A couple NeoPixel fixes are included for the nRF52 as well.
Fixes #1034. Fixes #990. Fixes #615.
Diffstat (limited to 'ports/nrf/peripherals')
| -rw-r--r-- | ports/nrf/peripherals/nrf/clocks.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ports/nrf/peripherals/nrf/clocks.c b/ports/nrf/peripherals/nrf/clocks.c index 811c0161a..4acb878db 100644 --- a/ports/nrf/peripherals/nrf/clocks.c +++ b/ports/nrf/peripherals/nrf/clocks.c @@ -32,4 +32,7 @@ void nrf_peripherals_clocks_init(void) { // generalized. NRF_CLOCK->LFCLKSRC = (uint32_t)((CLOCK_LFCLKSRC_SRC_Xtal << CLOCK_LFCLKSRC_SRC_Pos) & CLOCK_LFCLKSRC_SRC_Msk); NRF_CLOCK->TASKS_LFCLKSTART = 1UL; + + // Wait for clocks to start. + while (NRF_CLOCK->EVENTS_LFCLKSTARTED == 0) {} } |
