WDT driver
- group nrfx_wdt
Watchdog Timer (WDT) peripheral driver.
Defines
-
NRFX_WDT_IRQ_CONFIG
WDT instance interrupt priority configuration.
-
NRFX_WDT_INSTANCE(id)
Macro for creating an instance of the WDT driver.
-
NRFX_WDT_DEFAULT_CONFIG
WDT driver default configuration.
This configuration sets up WDT with the following options:
run when CPU is in SLEEP mode, pause when in HALT mode
reload value: 2000 ms
Typedefs
-
typedef void (*nrfx_wdt_event_handler_t)(void)
WDT event handler function type.
-
typedef nrf_wdt_rr_register_t nrfx_wdt_channel_id
WDT channel ID type.
Functions
-
nrfx_err_t nrfx_wdt_init(nrfx_wdt_t const *p_instance, nrfx_wdt_config_t const *p_config, nrfx_wdt_event_handler_t wdt_event_handler)
Function for initializing the WDT driver instance.
- Parameters
p_instance – [in] Pointer to the driver instance structure.
p_config – [in] Pointer to the structure with the initial configuration.
wdt_event_handler – [in] Event handler provided by the user. Ignored when NRFX_WDT_CONFIG_NO_IRQ option is enabled.
- Return values
NRFX_SUCCESS – Initialization was successful.
NRFX_ERROR_INVALID_STATE – The driver was already initialized.
-
nrfx_err_t nrfx_wdt_channel_alloc(nrfx_wdt_t const *p_instance, nrfx_wdt_channel_id *p_channel_id)
Function for allocating a watchdog channel.
Note
This function can not be called after nrfx_wdt_start().
- Parameters
p_instance – [in] Pointer to the driver instance structure.
p_channel_id – [out] ID of granted channel.
- Return values
NRFX_SUCCESS – The channel was successfully allocated.
NRFX_ERROR_NO_MEM – There is no available channel to be used.
-
void nrfx_wdt_enable(nrfx_wdt_t const *p_instance)
Function for starting the watchdog.
Note
After calling this function the watchdog is started, so the user needs to feed all allocated watchdog channels to avoid reset. At least one watchdog channel must be allocated.
- Parameters
p_instance – [in] Pointer to the driver instance structure.
-
void nrfx_wdt_feed(nrfx_wdt_t const *p_instance)
Function for feeding the watchdog.
Function feeds all allocated watchdog channels.
- Parameters
p_instance – [in] Pointer to the driver instance structure.
-
void nrfx_wdt_channel_feed(nrfx_wdt_t const *p_instance, nrfx_wdt_channel_id channel_id)
Function for feeding an invidual watchdog channel.
- Parameters
p_instance – [in] Pointer to the driver instance structure.
channel_id – [in] ID of watchdog channel.
-
NRFX_STATIC_INLINE uint32_t nrfx_wdt_task_address_get(nrfx_wdt_t const *p_instance, nrf_wdt_task_t task)
Function for returning a requested task address for the WDT driver module.
- Parameters
p_instance – [in] Pointer to the driver instance structure.
task – [in] One of the WDT tasks.
- Returns
Task address.
-
NRFX_STATIC_INLINE uint32_t nrfx_wdt_event_address_get(nrfx_wdt_t const *p_instance, nrf_wdt_event_t event)
Function for returning a requested event address for the WDT driver module.
- Parameters
p_instance – [in] Pointer to the driver instance structure.
event – [in] One of the WDT events.
- Returns
Event address.
-
struct nrfx_wdt_t
- #include <nrfx_wdt.h>
Data structure of the Watchdog (WDT) driver instance.
-
struct nrfx_wdt_config_t
- #include <nrfx_wdt.h>
Struct for WDT initialization.
Public Members
-
nrf_wdt_behaviour_t behaviour
WDT behaviour when CPU in sleep/halt mode.
-
uint32_t reload_value
WDT reload value in ms.
-
uint8_t interrupt_priority
WDT interrupt priority
-
nrf_wdt_behaviour_t behaviour
-
NRFX_WDT_IRQ_CONFIG