nRF51 SDK - S210 SoftDevice
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages

Hardware abstraction 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 abstraction 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
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.
Return values
addressof 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.
Return values
trueIf the event is set.
falseIf 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]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 a specific 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_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 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_registerReload 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_registerReload request register to check.
Return values
trueIf the reload request register is enabled.
falseIf 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_registerReload request register to set.
__STATIC_INLINE uint32_t nrf_wdt_reload_value_get ( void  )

Function for retrieving the watchdog reload value.

Return values
Reloadvalue.
__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 check.
Return values
trueIf a reload request is running.
falseIf no reload request is running.
__STATIC_INLINE bool nrf_wdt_started ( void  )

Function for retrieving the watchdog status.

Return values
trueIf the watchdog is started.
falseIf 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]taskTask.
__STATIC_INLINE void nrf_wdt_task_trigger ( nrf_wdt_task_t  task)

Function for starting the watchdog.

Parameters
[in]taskTask.