mirror of
https://github.com/meshtastic/firmware.git
synced 2025-12-22 02:32:23 +00:00
nrf52 wdt: pause wdt in Sleep and Halt, set timeout to 90 s
The 90 seconds wdt timeout matches the esp32 wdt timeout.
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#include <SPI.h>
|
||||
#include <Wire.h>
|
||||
|
||||
#define APP_WATCHDOG_SECS 90
|
||||
#define NRFX_WDT_ENABLED 1
|
||||
#define NRFX_WDT0_ENABLED 1
|
||||
#define NRFX_WDT_CONFIG_NO_IRQ 1
|
||||
@@ -296,15 +297,17 @@ void nrf52Setup()
|
||||
// the first time through the main loop), so that other threads can
|
||||
// allocate their own wdt channel to protect themselves from hangs.
|
||||
nrfx_wdt_config_t wdt0_config = {
|
||||
.behaviour = NRF_WDT_BEHAVIOUR_RUN_SLEEP, .reload_value = 2000,
|
||||
.behaviour = NRF_WDT_BEHAVIOUR_PAUSE_SLEEP_HALT, .reload_value = APP_WATCHDOG_SECS * 1000,
|
||||
// Note: Not using wdt interrupts.
|
||||
// .interrupt_priority = NRFX_WDT_DEFAULT_CONFIG_IRQ_PRIORITY
|
||||
};
|
||||
nrfx_err_t r = nrfx_wdt_init(&nrfx_wdt, &wdt0_config,
|
||||
nullptr // Watchdog event handler, not used, we just reset.
|
||||
);
|
||||
assert(r == NRFX_SUCCESS);
|
||||
|
||||
r = nrfx_wdt_channel_alloc(&nrfx_wdt, &nrfx_wdt_channel_id_nrf52_main);
|
||||
assert(r == NRFX_SUCCESS);
|
||||
}
|
||||
|
||||
void cpuDeepSleep(uint32_t msecToWake)
|
||||
|
||||
Reference in New Issue
Block a user