nRF5 SDK v17.1.0
Macros | Enumerations | Functions
WDT HAL

Hardware access layer for managing the Watchdog Timer (WDT) peripheral. More...

Macros

#define NRF_WDT_CHANNEL_NUMBER   0x8UL
 Number of WDT channels.
 
#define NRF_WDT_RR_VALUE   0x6E524635UL /* Fixed value; should not be modified. */
 WDT register reload value.
 

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 the SLEEP or HALT CPU modes. 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 WDT task. More...
 
__STATIC_INLINE void nrf_wdt_event_clear (nrf_wdt_event_t event)
 Function for clearing the WDT event register. 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 the specified 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 void nrf_wdt_subscribe_set (nrf_wdt_task_t task, uint8_t channel)
 Function for setting the subscribe configuration for a given WDT task. More...
 
__STATIC_INLINE void nrf_wdt_subscribe_clear (nrf_wdt_task_t task)
 Function for clearing the subscribe configuration for a given WDT task. More...
 
__STATIC_INLINE void nrf_wdt_publish_set (nrf_wdt_event_t event, uint8_t channel)
 Function for setting the publish configuration for a given WDT event. More...
 
__STATIC_INLINE void nrf_wdt_publish_clear (nrf_wdt_event_t event)
 Function for clearing the publish configuration for a given WDT event. 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 managing the Watchdog Timer (WDT) peripheral.

Enumeration Type Documentation

WDT behavior in the SLEEP or HALT CPU modes.

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
behaviourWatchdog 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]eventEvent.
Returns
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]eventEvent to be checked.
Return values
trueThe event has been generated.
falseThe event has not been generated.
__STATIC_INLINE void nrf_wdt_event_clear ( nrf_wdt_event_t  event)

Function for clearing the WDT event register.

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

Function for disabling a specific interrupt.

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

Function for enabling the specified interrupt.

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

Function for retrieving the state of given interrupt.

Parameters
[in]int_maskInterrupt.
Return values
trueInterrupt is enabled.
falseInterrupt is not enabled.
__STATIC_INLINE void nrf_wdt_publish_clear ( nrf_wdt_event_t  event)

Function for clearing the publish configuration for a given WDT event.

Parameters
[in]eventEvent for which to clear the configuration.
__STATIC_INLINE void nrf_wdt_publish_set ( nrf_wdt_event_t  event,
uint8_t  channel 
)

Function for setting the publish configuration for a given WDT event.

Parameters
[in]eventEvent for which to set the configuration.
[in]channelChannel through which to publish the event.
__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_registerReload request register to be disabled.
__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_registerReload request register to be enabled.
__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_registerReload request register to be checked.
Return values
trueThe reload request register is enabled.
falseThe 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_registerReload request register to set.
__STATIC_INLINE uint32_t nrf_wdt_reload_value_get ( void  )

Function for retrieving the watchdog reload value.

Returns
Reload value.
__STATIC_INLINE void nrf_wdt_reload_value_set ( uint32_t  reload_value)

Function for setting the watchdog reload value.

Parameters
[in]reload_valueWatchdog 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_registerReload request register to be checked.
Return values
trueReload request is running.
falseNo reload requests are running.
__STATIC_INLINE bool nrf_wdt_started ( void  )

Function for retrieving the watchdog status.

Return values
trueThe watchdog is started.
falseThe watchdog is not started.
__STATIC_INLINE void nrf_wdt_subscribe_clear ( nrf_wdt_task_t  task)

Function for clearing the subscribe configuration for a given WDT task.

Parameters
[in]taskTask for which to clear the configuration.
__STATIC_INLINE void nrf_wdt_subscribe_set ( nrf_wdt_task_t  task,
uint8_t  channel 
)

Function for setting the subscribe configuration for a given WDT task.

Parameters
[in]taskTask for which to set the configuration.
[in]channelChannel through which to subscribe events.
__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]taskTask.
__STATIC_INLINE void nrf_wdt_task_trigger ( nrf_wdt_task_t  task)

Function for starting the WDT task.

Parameters
[in]taskTask.

Documentation feedback | Developer Zone | Subscribe | Updated