anyThing Connected Team / mbed-dev

Dependents:   BREAK_SENSOR_LED

Fork of mbed-dev by mbed official

Committer:
Anythingconnected
Date:
Mon Dec 18 10:14:27 2017 +0000
Revision:
180:d79f997829d6
Parent:
165:e614a9f1c9e2
Getting byte by byte read to work

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 144:ef7eb2e8f9f7 1 /*
<> 144:ef7eb2e8f9f7 2 * Copyright (c) 2015 Nordic Semiconductor ASA
<> 144:ef7eb2e8f9f7 3 * All rights reserved.
<> 144:ef7eb2e8f9f7 4 *
<> 144:ef7eb2e8f9f7 5 * Redistribution and use in source and binary forms, with or without modification,
<> 144:ef7eb2e8f9f7 6 * are permitted provided that the following conditions are met:
<> 144:ef7eb2e8f9f7 7 *
<> 144:ef7eb2e8f9f7 8 * 1. Redistributions of source code must retain the above copyright notice, this list
<> 144:ef7eb2e8f9f7 9 * of conditions and the following disclaimer.
<> 144:ef7eb2e8f9f7 10 *
<> 144:ef7eb2e8f9f7 11 * 2. Redistributions in binary form, except as embedded into a Nordic Semiconductor ASA
<> 144:ef7eb2e8f9f7 12 * integrated circuit in a product or a software update for such product, must reproduce
<> 144:ef7eb2e8f9f7 13 * the above copyright notice, this list of conditions and the following disclaimer in
<> 144:ef7eb2e8f9f7 14 * the documentation and/or other materials provided with the distribution.
<> 144:ef7eb2e8f9f7 15 *
<> 144:ef7eb2e8f9f7 16 * 3. Neither the name of Nordic Semiconductor ASA nor the names of its contributors may be
<> 144:ef7eb2e8f9f7 17 * used to endorse or promote products derived from this software without specific prior
<> 144:ef7eb2e8f9f7 18 * written permission.
<> 144:ef7eb2e8f9f7 19 *
<> 144:ef7eb2e8f9f7 20 * 4. This software, with or without modification, must only be used with a
<> 144:ef7eb2e8f9f7 21 * Nordic Semiconductor ASA integrated circuit.
<> 144:ef7eb2e8f9f7 22 *
<> 144:ef7eb2e8f9f7 23 * 5. Any software provided in binary or object form under this license must not be reverse
<> 144:ef7eb2e8f9f7 24 * engineered, decompiled, modified and/or disassembled.
<> 144:ef7eb2e8f9f7 25 *
<> 144:ef7eb2e8f9f7 26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
<> 144:ef7eb2e8f9f7 27 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
<> 144:ef7eb2e8f9f7 28 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
<> 144:ef7eb2e8f9f7 29 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
<> 144:ef7eb2e8f9f7 30 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
<> 144:ef7eb2e8f9f7 31 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
<> 144:ef7eb2e8f9f7 32 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
<> 144:ef7eb2e8f9f7 33 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
<> 144:ef7eb2e8f9f7 34 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
<> 144:ef7eb2e8f9f7 35 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<> 144:ef7eb2e8f9f7 36 *
<> 144:ef7eb2e8f9f7 37 */
<> 144:ef7eb2e8f9f7 38
<> 144:ef7eb2e8f9f7 39
<> 144:ef7eb2e8f9f7 40 /**
<> 144:ef7eb2e8f9f7 41 * @defgroup nrf_wdt_hal WDT HAL
<> 144:ef7eb2e8f9f7 42 * @{
<> 144:ef7eb2e8f9f7 43 * @ingroup nrf_wdt
<> 144:ef7eb2e8f9f7 44 *
<> 144:ef7eb2e8f9f7 45 * @brief Hardware access layer for accessing the watchdog timer (WDT) peripheral.
<> 144:ef7eb2e8f9f7 46 */
<> 144:ef7eb2e8f9f7 47
<> 144:ef7eb2e8f9f7 48 #ifndef NRF_WDT_H__
<> 144:ef7eb2e8f9f7 49 #define NRF_WDT_H__
<> 144:ef7eb2e8f9f7 50
<> 144:ef7eb2e8f9f7 51 #include <stddef.h>
<> 144:ef7eb2e8f9f7 52 #include <stdbool.h>
<> 144:ef7eb2e8f9f7 53 #include <stdint.h>
<> 144:ef7eb2e8f9f7 54
<> 144:ef7eb2e8f9f7 55 #include "nrf.h"
<> 144:ef7eb2e8f9f7 56
<> 144:ef7eb2e8f9f7 57 #define NRF_WDT_CHANNEL_NUMBER 0x8UL
<> 144:ef7eb2e8f9f7 58 #define NRF_WDT_RR_VALUE 0x6E524635UL /* Fixed value, shouldn't be modified.*/
<> 144:ef7eb2e8f9f7 59
<> 144:ef7eb2e8f9f7 60 #define NRF_WDT_TASK_SET 1UL
<> 144:ef7eb2e8f9f7 61 #define NRF_WDT_EVENT_CLEAR 0UL
<> 144:ef7eb2e8f9f7 62
<> 144:ef7eb2e8f9f7 63 /**
<> 144:ef7eb2e8f9f7 64 * @enum nrf_wdt_task_t
<> 144:ef7eb2e8f9f7 65 * @brief WDT tasks.
<> 144:ef7eb2e8f9f7 66 */
<> 144:ef7eb2e8f9f7 67 typedef enum
<> 144:ef7eb2e8f9f7 68 {
<> 144:ef7eb2e8f9f7 69 /*lint -save -e30 -esym(628,__INTADDR__)*/
<> 144:ef7eb2e8f9f7 70 NRF_WDT_TASK_START = offsetof(NRF_WDT_Type, TASKS_START), /**< Task for starting WDT. */
<> 144:ef7eb2e8f9f7 71 /*lint -restore*/
<> 144:ef7eb2e8f9f7 72 } nrf_wdt_task_t;
<> 144:ef7eb2e8f9f7 73
<> 144:ef7eb2e8f9f7 74 /**
<> 144:ef7eb2e8f9f7 75 * @enum nrf_wdt_event_t
<> 144:ef7eb2e8f9f7 76 * @brief WDT events.
<> 144:ef7eb2e8f9f7 77 */
<> 144:ef7eb2e8f9f7 78 typedef enum
<> 144:ef7eb2e8f9f7 79 {
<> 144:ef7eb2e8f9f7 80 /*lint -save -e30*/
<> 144:ef7eb2e8f9f7 81 NRF_WDT_EVENT_TIMEOUT = offsetof(NRF_WDT_Type, EVENTS_TIMEOUT), /**< Event from WDT time-out. */
<> 144:ef7eb2e8f9f7 82 /*lint -restore*/
<> 144:ef7eb2e8f9f7 83 } nrf_wdt_event_t;
<> 144:ef7eb2e8f9f7 84
<> 144:ef7eb2e8f9f7 85 /**
<> 144:ef7eb2e8f9f7 86 * @enum nrf_wdt_behaviour_t
<> 144:ef7eb2e8f9f7 87 * @brief WDT behavior in CPU SLEEP or HALT mode.
<> 144:ef7eb2e8f9f7 88 */
<> 144:ef7eb2e8f9f7 89 typedef enum
<> 144:ef7eb2e8f9f7 90 {
<> 144:ef7eb2e8f9f7 91 NRF_WDT_BEHAVIOUR_RUN_SLEEP = WDT_CONFIG_SLEEP_Msk, /**< WDT will run when CPU is in SLEEP mode. */
<> 144:ef7eb2e8f9f7 92 NRF_WDT_BEHAVIOUR_RUN_HALT = WDT_CONFIG_HALT_Msk, /**< WDT will run when CPU is in HALT mode. */
<> 144:ef7eb2e8f9f7 93 NRF_WDT_BEHAVIOUR_RUN_SLEEP_HALT = WDT_CONFIG_SLEEP_Msk | WDT_CONFIG_HALT_Msk, /**< WDT will run when CPU is in SLEEP or HALT mode. */
<> 144:ef7eb2e8f9f7 94 NRF_WDT_BEHAVIOUR_PAUSE_SLEEP_HALT = 0, /**< WDT will be paused when CPU is in SLEEP or HALT mode. */
<> 144:ef7eb2e8f9f7 95 } nrf_wdt_behaviour_t;
<> 144:ef7eb2e8f9f7 96
<> 144:ef7eb2e8f9f7 97 /**
<> 144:ef7eb2e8f9f7 98 * @enum nrf_wdt_rr_register_t
<> 144:ef7eb2e8f9f7 99 * @brief WDT reload request registers.
<> 144:ef7eb2e8f9f7 100 */
<> 144:ef7eb2e8f9f7 101 typedef enum
<> 144:ef7eb2e8f9f7 102 {
<> 144:ef7eb2e8f9f7 103 NRF_WDT_RR0 = 0, /**< Reload request register 0. */
<> 144:ef7eb2e8f9f7 104 NRF_WDT_RR1, /**< Reload request register 1. */
<> 144:ef7eb2e8f9f7 105 NRF_WDT_RR2, /**< Reload request register 2. */
<> 144:ef7eb2e8f9f7 106 NRF_WDT_RR3, /**< Reload request register 3. */
<> 144:ef7eb2e8f9f7 107 NRF_WDT_RR4, /**< Reload request register 4. */
<> 144:ef7eb2e8f9f7 108 NRF_WDT_RR5, /**< Reload request register 5. */
<> 144:ef7eb2e8f9f7 109 NRF_WDT_RR6, /**< Reload request register 6. */
<> 144:ef7eb2e8f9f7 110 NRF_WDT_RR7 /**< Reload request register 7. */
<> 144:ef7eb2e8f9f7 111 } nrf_wdt_rr_register_t;
<> 144:ef7eb2e8f9f7 112
<> 144:ef7eb2e8f9f7 113 /**
<> 144:ef7eb2e8f9f7 114 * @enum nrf_wdt_int_mask_t
<> 144:ef7eb2e8f9f7 115 * @brief WDT interrupts.
<> 144:ef7eb2e8f9f7 116 */
<> 144:ef7eb2e8f9f7 117 typedef enum
<> 144:ef7eb2e8f9f7 118 {
<> 144:ef7eb2e8f9f7 119 NRF_WDT_INT_TIMEOUT_MASK = WDT_INTENSET_TIMEOUT_Msk, /**< WDT interrupt from time-out event. */
<> 144:ef7eb2e8f9f7 120 } nrf_wdt_int_mask_t;
<> 144:ef7eb2e8f9f7 121
<> 144:ef7eb2e8f9f7 122 /**
<> 144:ef7eb2e8f9f7 123 * @brief Function for configuring the watchdog behavior when the CPU is sleeping or halted.
<> 144:ef7eb2e8f9f7 124 *
<> 144:ef7eb2e8f9f7 125 * @param behaviour Watchdog behavior when CPU is in SLEEP or HALT mode.
<> 144:ef7eb2e8f9f7 126 */
<> 144:ef7eb2e8f9f7 127 __STATIC_INLINE void nrf_wdt_behaviour_set(nrf_wdt_behaviour_t behaviour)
<> 144:ef7eb2e8f9f7 128 {
<> 144:ef7eb2e8f9f7 129 NRF_WDT->CONFIG = behaviour;
<> 144:ef7eb2e8f9f7 130 }
<> 144:ef7eb2e8f9f7 131
<> 144:ef7eb2e8f9f7 132
<> 144:ef7eb2e8f9f7 133 /**
<> 144:ef7eb2e8f9f7 134 * @brief Function for starting the watchdog.
<> 144:ef7eb2e8f9f7 135 *
<> 144:ef7eb2e8f9f7 136 * @param[in] task Task.
<> 144:ef7eb2e8f9f7 137 */
<> 144:ef7eb2e8f9f7 138 __STATIC_INLINE void nrf_wdt_task_trigger(nrf_wdt_task_t task)
<> 144:ef7eb2e8f9f7 139 {
<> 144:ef7eb2e8f9f7 140 *((volatile uint32_t *)((uint8_t *)NRF_WDT + task)) = NRF_WDT_TASK_SET;
<> 144:ef7eb2e8f9f7 141 }
<> 144:ef7eb2e8f9f7 142
<> 144:ef7eb2e8f9f7 143
<> 144:ef7eb2e8f9f7 144 /**
<> 144:ef7eb2e8f9f7 145 * @brief Function for clearing the WDT event.
<> 144:ef7eb2e8f9f7 146 *
<> 144:ef7eb2e8f9f7 147 * @param[in] event Event.
<> 144:ef7eb2e8f9f7 148 */
<> 144:ef7eb2e8f9f7 149 __STATIC_INLINE void nrf_wdt_event_clear(nrf_wdt_event_t event)
<> 144:ef7eb2e8f9f7 150 {
<> 144:ef7eb2e8f9f7 151 *((volatile uint32_t *)((uint8_t *)NRF_WDT + (uint32_t)event)) = NRF_WDT_EVENT_CLEAR;
<> 144:ef7eb2e8f9f7 152 }
<> 144:ef7eb2e8f9f7 153
<> 144:ef7eb2e8f9f7 154
<> 144:ef7eb2e8f9f7 155 /**
<> 144:ef7eb2e8f9f7 156 * @brief Function for retrieving the state of the WDT event.
<> 144:ef7eb2e8f9f7 157 *
<> 144:ef7eb2e8f9f7 158 * @param[in] event Event.
<> 144:ef7eb2e8f9f7 159 *
<> 144:ef7eb2e8f9f7 160 * @retval true If the event is set.
<> 144:ef7eb2e8f9f7 161 * @retval false If the event is not set.
<> 144:ef7eb2e8f9f7 162 */
<> 144:ef7eb2e8f9f7 163 __STATIC_INLINE bool nrf_wdt_event_check(nrf_wdt_event_t event)
<> 144:ef7eb2e8f9f7 164 {
<> 144:ef7eb2e8f9f7 165 return (bool)*((volatile uint32_t *)((uint8_t *)NRF_WDT + event));
<> 144:ef7eb2e8f9f7 166 }
<> 144:ef7eb2e8f9f7 167
<> 144:ef7eb2e8f9f7 168
<> 144:ef7eb2e8f9f7 169 /**
<> 144:ef7eb2e8f9f7 170 * @brief Function for enabling a specific interrupt.
<> 144:ef7eb2e8f9f7 171 *
<> 144:ef7eb2e8f9f7 172 * @param[in] int_mask Interrupt.
<> 144:ef7eb2e8f9f7 173 */
<> 144:ef7eb2e8f9f7 174 __STATIC_INLINE void nrf_wdt_int_enable(uint32_t int_mask)
<> 144:ef7eb2e8f9f7 175 {
<> 144:ef7eb2e8f9f7 176 NRF_WDT->INTENSET = int_mask;
<> 144:ef7eb2e8f9f7 177 }
<> 144:ef7eb2e8f9f7 178
<> 144:ef7eb2e8f9f7 179
<> 144:ef7eb2e8f9f7 180 /**
<> 144:ef7eb2e8f9f7 181 * @brief Function for retrieving the state of given interrupt.
<> 144:ef7eb2e8f9f7 182 *
<> 144:ef7eb2e8f9f7 183 * @param[in] int_mask Interrupt.
<> 144:ef7eb2e8f9f7 184 *
<> 144:ef7eb2e8f9f7 185 * @retval true Interrupt is enabled.
<> 144:ef7eb2e8f9f7 186 * @retval false Interrupt is not enabled.
<> 144:ef7eb2e8f9f7 187 */
<> 144:ef7eb2e8f9f7 188 __STATIC_INLINE bool nrf_wdt_int_enable_check(uint32_t int_mask)
<> 144:ef7eb2e8f9f7 189 {
<> 144:ef7eb2e8f9f7 190 return (bool)(NRF_WDT->INTENSET & int_mask);
<> 144:ef7eb2e8f9f7 191 }
<> 144:ef7eb2e8f9f7 192
<> 144:ef7eb2e8f9f7 193
<> 144:ef7eb2e8f9f7 194 /**
<> 144:ef7eb2e8f9f7 195 * @brief Function for disabling a specific interrupt.
<> 144:ef7eb2e8f9f7 196 *
<> 144:ef7eb2e8f9f7 197 * @param[in] int_mask Interrupt.
<> 144:ef7eb2e8f9f7 198 */
<> 144:ef7eb2e8f9f7 199 __STATIC_INLINE void nrf_wdt_int_disable(uint32_t int_mask)
<> 144:ef7eb2e8f9f7 200 {
<> 144:ef7eb2e8f9f7 201 NRF_WDT->INTENCLR = int_mask;
<> 144:ef7eb2e8f9f7 202 }
<> 144:ef7eb2e8f9f7 203
<> 144:ef7eb2e8f9f7 204
<> 144:ef7eb2e8f9f7 205 /**
<> 144:ef7eb2e8f9f7 206 * @brief Function for returning the address of a specific WDT task register.
<> 144:ef7eb2e8f9f7 207 *
<> 144:ef7eb2e8f9f7 208 * @param[in] task Task.
<> 144:ef7eb2e8f9f7 209 */
<> 144:ef7eb2e8f9f7 210 __STATIC_INLINE uint32_t nrf_wdt_task_address_get(nrf_wdt_task_t task)
<> 144:ef7eb2e8f9f7 211 {
<> 144:ef7eb2e8f9f7 212 return ((uint32_t)NRF_WDT + task);
<> 144:ef7eb2e8f9f7 213 }
<> 144:ef7eb2e8f9f7 214
<> 144:ef7eb2e8f9f7 215
<> 144:ef7eb2e8f9f7 216 /**
<> 144:ef7eb2e8f9f7 217 * @brief Function for returning the address of a specific WDT event register.
<> 144:ef7eb2e8f9f7 218 *
<> 144:ef7eb2e8f9f7 219 * @param[in] event Event.
<> 144:ef7eb2e8f9f7 220 *
<> 144:ef7eb2e8f9f7 221 * @retval address of requested event register
<> 144:ef7eb2e8f9f7 222 */
<> 144:ef7eb2e8f9f7 223 __STATIC_INLINE uint32_t nrf_wdt_event_address_get(nrf_wdt_event_t event)
<> 144:ef7eb2e8f9f7 224 {
<> 144:ef7eb2e8f9f7 225 return ((uint32_t)NRF_WDT + event);
<> 144:ef7eb2e8f9f7 226 }
<> 144:ef7eb2e8f9f7 227
<> 144:ef7eb2e8f9f7 228
<> 144:ef7eb2e8f9f7 229 /**
<> 144:ef7eb2e8f9f7 230 * @brief Function for retrieving the watchdog status.
<> 144:ef7eb2e8f9f7 231 *
<> 144:ef7eb2e8f9f7 232 * @retval true If the watchdog is started.
<> 144:ef7eb2e8f9f7 233 * @retval false If the watchdog is not started.
<> 144:ef7eb2e8f9f7 234 */
<> 144:ef7eb2e8f9f7 235 __STATIC_INLINE bool nrf_wdt_started(void)
<> 144:ef7eb2e8f9f7 236 {
<> 144:ef7eb2e8f9f7 237 return (bool)(NRF_WDT->RUNSTATUS);
<> 144:ef7eb2e8f9f7 238 }
<> 144:ef7eb2e8f9f7 239
<> 144:ef7eb2e8f9f7 240
<> 144:ef7eb2e8f9f7 241 /**
<> 144:ef7eb2e8f9f7 242 * @brief Function for retrieving the watchdog reload request status.
<> 144:ef7eb2e8f9f7 243 *
<> 144:ef7eb2e8f9f7 244 * @param[in] rr_register Reload request register to check.
<> 144:ef7eb2e8f9f7 245 *
<> 144:ef7eb2e8f9f7 246 * @retval true If a reload request is running.
<> 144:ef7eb2e8f9f7 247 * @retval false If no reload request is running.
<> 144:ef7eb2e8f9f7 248 */
<> 144:ef7eb2e8f9f7 249 __STATIC_INLINE bool nrf_wdt_request_status(nrf_wdt_rr_register_t rr_register)
<> 144:ef7eb2e8f9f7 250 {
<> 144:ef7eb2e8f9f7 251 return (bool)(((NRF_WDT->REQSTATUS) >> rr_register) & 0x1UL);
<> 144:ef7eb2e8f9f7 252 }
<> 144:ef7eb2e8f9f7 253
<> 144:ef7eb2e8f9f7 254
<> 144:ef7eb2e8f9f7 255 /**
<> 144:ef7eb2e8f9f7 256 * @brief Function for setting the watchdog reload value.
<> 144:ef7eb2e8f9f7 257 *
<> 144:ef7eb2e8f9f7 258 * @param[in] reload_value Watchdog counter initial value.
<> 144:ef7eb2e8f9f7 259 */
<> 144:ef7eb2e8f9f7 260 __STATIC_INLINE void nrf_wdt_reload_value_set(uint32_t reload_value)
<> 144:ef7eb2e8f9f7 261 {
<> 144:ef7eb2e8f9f7 262 NRF_WDT->CRV = reload_value;
<> 144:ef7eb2e8f9f7 263 }
<> 144:ef7eb2e8f9f7 264
<> 144:ef7eb2e8f9f7 265
<> 144:ef7eb2e8f9f7 266 /**
<> 144:ef7eb2e8f9f7 267 * @brief Function for retrieving the watchdog reload value.
<> 144:ef7eb2e8f9f7 268 *
<> 144:ef7eb2e8f9f7 269 * @retval Reload value.
<> 144:ef7eb2e8f9f7 270 */
<> 144:ef7eb2e8f9f7 271 __STATIC_INLINE uint32_t nrf_wdt_reload_value_get(void)
<> 144:ef7eb2e8f9f7 272 {
<> 144:ef7eb2e8f9f7 273 return (uint32_t)NRF_WDT->CRV;
<> 144:ef7eb2e8f9f7 274 }
<> 144:ef7eb2e8f9f7 275
<> 144:ef7eb2e8f9f7 276
<> 144:ef7eb2e8f9f7 277 /**
<> 144:ef7eb2e8f9f7 278 * @brief Function for enabling a specific reload request register.
<> 144:ef7eb2e8f9f7 279 *
<> 144:ef7eb2e8f9f7 280 * @param[in] rr_register Reload request register to enable.
<> 144:ef7eb2e8f9f7 281 */
<> 144:ef7eb2e8f9f7 282 __STATIC_INLINE void nrf_wdt_reload_request_enable(nrf_wdt_rr_register_t rr_register)
<> 144:ef7eb2e8f9f7 283 {
<> 144:ef7eb2e8f9f7 284 NRF_WDT->RREN |= 0x1UL << rr_register;
<> 144:ef7eb2e8f9f7 285 }
<> 144:ef7eb2e8f9f7 286
<> 144:ef7eb2e8f9f7 287
<> 144:ef7eb2e8f9f7 288 /**
<> 144:ef7eb2e8f9f7 289 * @brief Function for disabling a specific reload request register.
<> 144:ef7eb2e8f9f7 290 *
<> 144:ef7eb2e8f9f7 291 * @param[in] rr_register Reload request register to disable.
<> 144:ef7eb2e8f9f7 292 */
<> 144:ef7eb2e8f9f7 293 __STATIC_INLINE void nrf_wdt_reload_request_disable(nrf_wdt_rr_register_t rr_register)
<> 144:ef7eb2e8f9f7 294 {
<> 144:ef7eb2e8f9f7 295 NRF_WDT->RREN &= ~(0x1UL << rr_register);
<> 144:ef7eb2e8f9f7 296 }
<> 144:ef7eb2e8f9f7 297
<> 144:ef7eb2e8f9f7 298
<> 144:ef7eb2e8f9f7 299 /**
<> 144:ef7eb2e8f9f7 300 * @brief Function for retrieving the status of a specific reload request register.
<> 144:ef7eb2e8f9f7 301 *
<> 144:ef7eb2e8f9f7 302 * @param[in] rr_register Reload request register to check.
<> 144:ef7eb2e8f9f7 303 *
<> 144:ef7eb2e8f9f7 304 * @retval true If the reload request register is enabled.
<> 144:ef7eb2e8f9f7 305 * @retval false If the reload request register is not enabled.
<> 144:ef7eb2e8f9f7 306 */
<> 144:ef7eb2e8f9f7 307 __STATIC_INLINE bool nrf_wdt_reload_request_is_enabled(nrf_wdt_rr_register_t rr_register)
<> 144:ef7eb2e8f9f7 308 {
<> 144:ef7eb2e8f9f7 309 return (bool)(NRF_WDT->RREN & (0x1UL << rr_register));
<> 144:ef7eb2e8f9f7 310 }
<> 144:ef7eb2e8f9f7 311
<> 144:ef7eb2e8f9f7 312
<> 144:ef7eb2e8f9f7 313 /**
<> 144:ef7eb2e8f9f7 314 * @brief Function for setting a specific reload request register.
<> 144:ef7eb2e8f9f7 315 *
<> 144:ef7eb2e8f9f7 316 * @param[in] rr_register Reload request register to set.
<> 144:ef7eb2e8f9f7 317 */
<> 144:ef7eb2e8f9f7 318 __STATIC_INLINE void nrf_wdt_reload_request_set(nrf_wdt_rr_register_t rr_register)
<> 144:ef7eb2e8f9f7 319 {
<> 144:ef7eb2e8f9f7 320 NRF_WDT->RR[rr_register] = NRF_WDT_RR_VALUE;
<> 144:ef7eb2e8f9f7 321 }
<> 144:ef7eb2e8f9f7 322
<> 144:ef7eb2e8f9f7 323
<> 144:ef7eb2e8f9f7 324 #endif
<> 144:ef7eb2e8f9f7 325
<> 144:ef7eb2e8f9f7 326 /** @} */