Clarify functions for WDT WatchDogTimer

main 
    init_watchdog   from drivers/init/init.c >  watchdog_init(watchdog_default_handler); //which just returns!
                                             >  watchdog_enable
                                    config is defaulted from  sdk_config or sdk_application_config
                                                                            WDT_CONFIG_RELOAD_VALUE 360000 (6 minutes!)
                                                                                            worry about DFU finishing
        


ruuvi/firmware/*/drivers/nrf_nordic_watchdog

nrf_drv_wdt_channel_id m_channel_id;                        //define a channel

ret_code_t 
    watchdog_init(watchdog_event_handler_t handler)
                 nrf_drv_wdt_init(&config, handler); 
                         
                 nrf_drv_wdt_channel_alloc(&m_channel_id);

    void watchdog_feed(void) { nrf_drv_wdt_channel_feed(m_channel_id);  // called in main_timer_handler


watchdog_enable(void) { nrf_drv_wdt_enable();

void watchdog_default_handler(void)       // just returns! reset will be in 30ms



nRF5_SDK_12.3.0_d7731ad/components/drivers_nrf/wdt ret_code_t nrf_drv_wdt_init (nrf_drv_wdt_config_t const *p_config, nrf_wdt_event_handler_t wdt_event_handler)

NRF_DRV_WDT_DEAFULT_CONFIG Value: { .behaviour = (nrf_wdt_behaviour_t)WDT_CONFIG_BEHAVIOUR, \ // runs in sleep|haltedByDebugger or (paused if 0) .reload_value = WDT_CONFIG_RELOAD_VALUE, \ // from sdk_ config .interrupt_priority = WDT_CONFIG_IRQ_PRIORITY, \ } void nrf_drv_wdt_enable (void) void nrf_drv_wdt_feed (void) nrf_wdt_reload_request_set((nrf_wdt_rr_register_t)(NRF_WDT_RR0 + i)); void nrf_drv_wdt_channel_feed (nrf_drv_wdt_channel_id channel_id) nrf_drv_wdt_ppi_task_addr (nrf_wdt_task_t task) nrf_drv_wdt_ppi_event_addr (nrf_wdt_event_t event) ret_code_t nrf_drv_wdt_channel_alloc ( nrf_drv_wdt_channel_id * p_channel_id ) nRF5_SDK_12.3.0_d7731ad/components/drivers_nrf/hal/ NRF_WDT_CHANNEL_NUMBER 0x8UL WDT_IRQHandler(void) { if (nrf_wdt_int_enable_check(NRF_WDT_INT_TIMEOUT_MASK) == true) { nrf_wdt_event_clear(NRF_WDT_EVENT_TIMEOUT); m_wdt_event_handler();}

Section 40

mem32 40010400,1 RUNSTATUS running := 1 mem32 40010504,1 CRV Counter reload value in tics ( 00B40000 after reset by j-link i.e. before) mem32 4001050C,1 CONFIG behavior: runs while sleep :=1 ; runs when halted by debugger :=8 (1 after reset by j-link i.e paused with debugger) nRF5 SDK v12.3.0: example shows only feed to prevent reset: \examples\peripheral\wdt