Hello,
I have enabled the watchdog timer in nrf52810 with below code
NRF_WDT->CONFIG = (WDT_CONFIG_HALT_Pause << WDT_CONFIG_HALT_Pos) | ( WDT_CONFIG_SLEEP_Pause << WDT_CONFIG_SLEEP_Pos);
NRF_WDT->CRV = 1*32768; // 1 sec. timout
NRF_WDT->TASKS_START = 1;
And i am feeding the timer with NRF_WDT->RR[0] = WDT_RR_RR_Reload; //Reload watchdog register 0.
The behavior of the WDT is as expected in the following cases.
1. There is no call for "sd_app_evt_wait(); " in the function.
2. There is call for "sd_app_evt_wait();" but there are no activities related to BLE (i.e ADV, connected peer... etc)
The behavior of WDT is NOT as expected in the following cases
1. There is call for "sd_app_evt_wait();" and ADV is on going . In this case there is a software reset after around 3.5 minutes of ADV (no peer connection).
2. There is call for "sd_app_evt_wait();" and a peer is connected. In this case there is a software reset after around 2.5 minutes after no activity from NRF or Peer. Or in other words is a peer is connected and idle for around 2.5 seconds the software resets.
Additional Info
-->On disabling WDT and verifying the same there is no software in any of the cases and it behaves as expected.
--> If WDT reload value is changed from 1s to 2s the corresponding reset time increases from 3.5 minutes to 7 minutes and 2.5 to 5 minutes.