WDT HAL

nRF5 SDK v12.2.0

Hardware access layer for accessing the watchdog timer (WDT) peripheral. More...

Macros

#define NRF_WDT_CHANNEL_NUMBER 0x8UL
#define NRF_WDT_RR_VALUE 0x6E524635UL /* Fixed value, shouldn't be modified.*/
#define NRF_WDT_TASK_SET 1UL
#define NRF_WDT_EVENT_CLEAR 0UL

Enumerations

enum nrf_wdt_task_t { NRF_WDT_TASK_START = offsetof(NRF_WDT_Type, TASKS_START) }
WDT tasks. More...
enum nrf_wdt_event_t { NRF_WDT_EVENT_TIMEOUT = offsetof(NRF_WDT_Type, EVENTS_TIMEOUT) }
WDT events. More...
enum nrf_wdt_behaviour_t {
NRF_WDT_BEHAVIOUR_RUN_SLEEP = WDT_CONFIG_SLEEP_Msk,
NRF_WDT_BEHAVIOUR_RUN_HALT = WDT_CONFIG_HALT_Msk,
NRF_WDT_BEHAVIOUR_RUN_SLEEP_HALT = WDT_CONFIG_SLEEP_Msk | WDT_CONFIG_HALT_Msk,
NRF_WDT_BEHAVIOUR_PAUSE_SLEEP_HALT = 0
}
WDT behavior in CPU SLEEP or HALT mode. More...
enum nrf_wdt_rr_register_t {
NRF_WDT_RR0 = 0,
NRF_WDT_RR1 ,
NRF_WDT_RR2 ,
NRF_WDT_RR3 ,
NRF_WDT_RR4 ,
NRF_WDT_RR5 ,
NRF_WDT_RR6 ,
NRF_WDT_RR7
}
WDT reload request registers. More...
enum nrf_wdt_int_mask_t { NRF_WDT_INT_TIMEOUT_MASK = WDT_INTENSET_TIMEOUT_Msk }
WDT interrupts. More...

Functions

__STATIC_INLINE void nrf_wdt_behaviour_set ( nrf_wdt_behaviour_t behaviour)
Function for configuring the watchdog behavior when the CPU is sleeping or halted. More...
__STATIC_INLINE void nrf_wdt_task_trigger ( nrf_wdt_task_t task)
Function for starting the watchdog. More...
__STATIC_INLINE void nrf_wdt_event_clear ( nrf_wdt_event_t event)
Function for clearing the WDT event. More...
__STATIC_INLINE bool nrf_wdt_event_check ( nrf_wdt_event_t event)
Function for retrieving the state of the WDT event. More...
__STATIC_INLINE void nrf_wdt_int_enable (uint32_t int_mask)
Function for enabling a specific interrupt. More...
__STATIC_INLINE bool nrf_wdt_int_enable_check (uint32_t int_mask)
Function for retrieving the state of given interrupt. More...
__STATIC_INLINE void nrf_wdt_int_disable (uint32_t int_mask)
Function for disabling a specific interrupt. More...
__STATIC_INLINE uint32_t nrf_wdt_task_address_get ( nrf_wdt_task_t task)
Function for returning the address of a specific WDT task register. More...
__STATIC_INLINE uint32_t nrf_wdt_event_address_get ( nrf_wdt_event_t event)
Function for returning the address of a specific WDT event register. More...
__STATIC_INLINE bool nrf_wdt_started (void)
Function for retrieving the watchdog status. More...
__STATIC_INLINE bool nrf_wdt_request_status ( nrf_wdt_rr_register_t rr_register)
Function for retrieving the watchdog reload request status. More...
__STATIC_INLINE void nrf_wdt_reload_value_set (uint32_t reload_value)
Function for setting the watchdog reload value. More...
__STATIC_INLINE uint32_t nrf_wdt_reload_value_get (void)
Function for retrieving the watchdog reload value. More...
__STATIC_INLINE void nrf_wdt_reload_request_enable ( nrf_wdt_rr_register_t rr_register)
Function for enabling a specific reload request register. More...
__STATIC_INLINE void nrf_wdt_reload_request_disable ( nrf_wdt_rr_register_t rr_register)
Function for disabling a specific reload request register. More...
__STATIC_INLINE bool nrf_wdt_reload_request_is_enabled ( nrf_wdt_rr_register_t rr_register)
Function for retrieving the status of a specific reload request register. More...
__STATIC_INLINE void nrf_wdt_reload_request_set ( nrf_wdt_rr_register_t rr_register)
Function for setting a specific reload request register. More...

Detailed Description

Hardware access layer for accessing the watchdog timer (WDT) peripheral.

Enumeration Type Documentation

WDT behavior in CPU SLEEP or HALT mode.

Enumerator
NRF_WDT_BEHAVIOUR_RUN_SLEEP

WDT will run when CPU is in SLEEP mode.

NRF_WDT_BEHAVIOUR_RUN_HALT

WDT will run when CPU is in HALT mode.

NRF_WDT_BEHAVIOUR_RUN_SLEEP_HALT

WDT will run when CPU is in SLEEP or HALT mode.

NRF_WDT_BEHAVIOUR_PAUSE_SLEEP_HALT

WDT will be paused when CPU is in SLEEP or HALT mode.

WDT events.

Enumerator
NRF_WDT_EVENT_TIMEOUT

Event from WDT time-out.

WDT interrupts.

Enumerator
NRF_WDT_INT_TIMEOUT_MASK

WDT interrupt from time-out event.

WDT reload request registers.

Enumerator
NRF_WDT_RR0

Reload request register 0.

NRF_WDT_RR1

Reload request register 1.

NRF_WDT_RR2

Reload request register 2.

NRF_WDT_RR3

Reload request register 3.

NRF_WDT_RR4

Reload request register 4.

NRF_WDT_RR5

Reload request register 5.

NRF_WDT_RR6

Reload request register 6.

NRF_WDT_RR7

Reload request register 7.

WDT tasks.

Enumerator
NRF_WDT_TASK_START

Task for starting WDT.

Function Documentation

__STATIC_INLINE void nrf_wdt_behaviour_set ( nrf_wdt_behaviour_t behaviour )

Function for configuring the watchdog behavior when the CPU is sleeping or halted.

Parameters
behaviour Watchdog behavior when CPU is in SLEEP or HALT mode.
__STATIC_INLINE uint32_t nrf_wdt_event_address_get ( nrf_wdt_event_t event )

Function for returning the address of a specific WDT event register.

Parameters
[in] event Event.
Return values
address of requested event register
__STATIC_INLINE bool nrf_wdt_event_check ( nrf_wdt_event_t event )

Function for retrieving the state of the WDT event.

Parameters
[in] event Event.
Return values
true If the event is set.
false If the event is not set.
__STATIC_INLINE void nrf_wdt_event_clear ( nrf_wdt_event_t event )

Function for clearing the WDT event.

Parameters
[in] event Event.
__STATIC_INLINE void nrf_wdt_int_disable ( uint32_t int_mask )

Function for disabling a specific interrupt.

Parameters
[in] int_mask Interrupt.
__STATIC_INLINE void nrf_wdt_int_enable ( uint32_t int_mask )

Function for enabling a specific interrupt.

Parameters
[in] int_mask Interrupt.
__STATIC_INLINE bool nrf_wdt_int_enable_check ( uint32_t int_mask )

Function for retrieving the state of given interrupt.

Parameters
[in] int_mask Interrupt.
Return values
true Interrupt is enabled.
false Interrupt is not enabled.
__STATIC_INLINE void nrf_wdt_reload_request_disable ( nrf_wdt_rr_register_t rr_register )

Function for disabling a specific reload request register.

Parameters
[in] rr_register Reload request register to disable.
__STATIC_INLINE void nrf_wdt_reload_request_enable ( nrf_wdt_rr_register_t rr_register )

Function for enabling a specific reload request register.

Parameters
[in] rr_register Reload request register to enable.
__STATIC_INLINE bool nrf_wdt_reload_request_is_enabled ( nrf_wdt_rr_register_t rr_register )

Function for retrieving the status of a specific reload request register.

Parameters
[in] rr_register Reload request register to check.
Return values
true If the reload request register is enabled.
false If the reload request register is not enabled.
__STATIC_INLINE void nrf_wdt_reload_request_set ( nrf_wdt_rr_register_t rr_register )

Function for setting a specific reload request register.

Parameters
[in] rr_register Reload request register to set.
__STATIC_INLINE uint32_t nrf_wdt_reload_value_get ( void )

Function for retrieving the watchdog reload value.

Return values
Reload value.
__STATIC_INLINE void nrf_wdt_reload_value_set ( uint32_t reload_value )

Function for setting the watchdog reload value.

Parameters
[in] reload_value Watchdog counter initial value.
__STATIC_INLINE bool nrf_wdt_request_status ( nrf_wdt_rr_register_t rr_register )

Function for retrieving the watchdog reload request status.

Parameters
[in] rr_register Reload request register to check.
Return values
true If a reload request is running.
false If no reload request is running.
__STATIC_INLINE bool nrf_wdt_started ( void )

Function for retrieving the watchdog status.

Return values
true If the watchdog is started.
false If the watchdog is not started.
__STATIC_INLINE uint32_t nrf_wdt_task_address_get ( nrf_wdt_task_t task )

Function for returning the address of a specific WDT task register.

Parameters
[in] task Task.
__STATIC_INLINE void nrf_wdt_task_trigger ( nrf_wdt_task_t task )

Function for starting the watchdog.

Parameters
[in] task Task.