The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
Parent:
171:3a7713b1edbc
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 171:3a7713b1edbc 1 /**
AnnaBridge 171:3a7713b1edbc 2 * @file
AnnaBridge 171:3a7713b1edbc 3 * @brief This is the high level API for the watchdog timer interface module
AnnaBridge 171:3a7713b1edbc 4 */
AnnaBridge 171:3a7713b1edbc 5 /* ****************************************************************************
AnnaBridge 171:3a7713b1edbc 6 * Copyright (C) 2016 Maxim Integrated Products, Inc., All Rights Reserved.
AnnaBridge 171:3a7713b1edbc 7 *
AnnaBridge 171:3a7713b1edbc 8 * Permission is hereby granted, free of charge, to any person obtaining a
AnnaBridge 171:3a7713b1edbc 9 * copy of this software and associated documentation files (the "Software"),
AnnaBridge 171:3a7713b1edbc 10 * to deal in the Software without restriction, including without limitation
AnnaBridge 171:3a7713b1edbc 11 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
AnnaBridge 171:3a7713b1edbc 12 * and/or sell copies of the Software, and to permit persons to whom the
AnnaBridge 171:3a7713b1edbc 13 * Software is furnished to do so, subject to the following conditions:
AnnaBridge 171:3a7713b1edbc 14 *
AnnaBridge 171:3a7713b1edbc 15 * The above copyright notice and this permission notice shall be included
AnnaBridge 171:3a7713b1edbc 16 * in all copies or substantial portions of the Software.
AnnaBridge 171:3a7713b1edbc 17 *
AnnaBridge 171:3a7713b1edbc 18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
AnnaBridge 171:3a7713b1edbc 19 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
AnnaBridge 171:3a7713b1edbc 20 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
AnnaBridge 171:3a7713b1edbc 21 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
AnnaBridge 171:3a7713b1edbc 22 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
AnnaBridge 171:3a7713b1edbc 23 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
AnnaBridge 171:3a7713b1edbc 24 * OTHER DEALINGS IN THE SOFTWARE.
AnnaBridge 171:3a7713b1edbc 25 *
AnnaBridge 171:3a7713b1edbc 26 * Except as contained in this notice, the name of Maxim Integrated
AnnaBridge 171:3a7713b1edbc 27 * Products, Inc. shall not be used except as stated in the Maxim Integrated
AnnaBridge 171:3a7713b1edbc 28 * Products, Inc. Branding Policy.
AnnaBridge 171:3a7713b1edbc 29 *
AnnaBridge 171:3a7713b1edbc 30 * The mere transfer of this software does not imply any licenses
AnnaBridge 171:3a7713b1edbc 31 * of trade secrets, proprietary technology, copyrights, patents,
AnnaBridge 171:3a7713b1edbc 32 * trademarks, maskwork rights, or any other form of intellectual
AnnaBridge 171:3a7713b1edbc 33 * property whatsoever. Maxim Integrated Products, Inc. retains all
AnnaBridge 171:3a7713b1edbc 34 * ownership rights.
AnnaBridge 171:3a7713b1edbc 35 *
AnnaBridge 171:3a7713b1edbc 36 * $Date: 2016-10-10 19:53:06 -0500 (Mon, 10 Oct 2016) $
AnnaBridge 171:3a7713b1edbc 37 * $Revision: 24677 $
AnnaBridge 171:3a7713b1edbc 38 *
AnnaBridge 171:3a7713b1edbc 39 **************************************************************************** */
AnnaBridge 171:3a7713b1edbc 40
AnnaBridge 171:3a7713b1edbc 41 /* Define to prevent redundant inclusion */
AnnaBridge 171:3a7713b1edbc 42 #ifndef _WDT_H
AnnaBridge 171:3a7713b1edbc 43 #define _WDT_H
AnnaBridge 171:3a7713b1edbc 44
AnnaBridge 171:3a7713b1edbc 45 /* **** Includes **** */
AnnaBridge 171:3a7713b1edbc 46 #include "mxc_config.h"
AnnaBridge 171:3a7713b1edbc 47 #include "wdt_regs.h"
AnnaBridge 171:3a7713b1edbc 48 #include "mxc_assert.h"
AnnaBridge 171:3a7713b1edbc 49 #include "mxc_sys.h"
AnnaBridge 171:3a7713b1edbc 50
AnnaBridge 171:3a7713b1edbc 51 #ifdef __cplusplus
AnnaBridge 171:3a7713b1edbc 52 extern "C" {
AnnaBridge 171:3a7713b1edbc 53 #endif
AnnaBridge 171:3a7713b1edbc 54 /**
AnnaBridge 171:3a7713b1edbc 55 * @ingroup periphlibs
AnnaBridge 171:3a7713b1edbc 56 * @defgroup wdttimers Watch Dog Timers
AnnaBridge 171:3a7713b1edbc 57 * @brief Watch Dog Timer High Level APIs.
AnnaBridge 171:3a7713b1edbc 58 */
AnnaBridge 171:3a7713b1edbc 59 /**
AnnaBridge 171:3a7713b1edbc 60 * @ingroup wdttimers
AnnaBridge 171:3a7713b1edbc 61 * @defgroup wdt0 Watch Dog Timer 0/1
AnnaBridge 171:3a7713b1edbc 62 * @brief WDT0/WDT1 configuration and control API.
AnnaBridge 171:3a7713b1edbc 63 * @{
AnnaBridge 171:3a7713b1edbc 64 */
AnnaBridge 171:3a7713b1edbc 65
AnnaBridge 171:3a7713b1edbc 66 /**
AnnaBridge 171:3a7713b1edbc 67 * Definition used for clearing all of the WDT instances flags for Timeout, Pre-Window and Reset Out.
AnnaBridge 171:3a7713b1edbc 68 */
AnnaBridge 171:3a7713b1edbc 69 #define WDT_FLAGS_CLEAR_ALL (MXC_F_WDT_FLAGS_TIMEOUT| MXC_F_WDT_FLAGS_PRE_WIN | MXC_F_WDT_FLAGS_RESET_OUT)
AnnaBridge 171:3a7713b1edbc 70 /**
AnnaBridge 171:3a7713b1edbc 71 * Enumeration type to define the Watchdog Timer's Period
AnnaBridge 171:3a7713b1edbc 72 */
AnnaBridge 171:3a7713b1edbc 73 typedef enum {
AnnaBridge 171:3a7713b1edbc 74 WDT_PERIOD_2_31_CLKS = MXC_V_WDT_CTRL_INT_PERIOD_2_31_CLKS, /**< \f$ 2^{31} \f$ WDT clocks. */
AnnaBridge 171:3a7713b1edbc 75 WDT_PERIOD_2_30_CLKS = MXC_V_WDT_CTRL_INT_PERIOD_2_30_CLKS, /**< \f$ 2^{30} \f$ WDT clocks. */
AnnaBridge 171:3a7713b1edbc 76 WDT_PERIOD_2_29_CLKS = MXC_V_WDT_CTRL_INT_PERIOD_2_29_CLKS, /**< \f$ 2^{29} \f$ WDT clocks. */
AnnaBridge 171:3a7713b1edbc 77 WDT_PERIOD_2_28_CLKS = MXC_V_WDT_CTRL_INT_PERIOD_2_28_CLKS, /**< \f$ 2^{28} \f$ WDT clocks. */
AnnaBridge 171:3a7713b1edbc 78 WDT_PERIOD_2_27_CLKS = MXC_V_WDT_CTRL_INT_PERIOD_2_27_CLKS, /**< \f$ 2^{27} \f$ WDT clocks. */
AnnaBridge 171:3a7713b1edbc 79 WDT_PERIOD_2_26_CLKS = MXC_V_WDT_CTRL_INT_PERIOD_2_26_CLKS, /**< \f$ 2^{26} \f$ WDT clocks. */
AnnaBridge 171:3a7713b1edbc 80 WDT_PERIOD_2_25_CLKS = MXC_V_WDT_CTRL_INT_PERIOD_2_25_CLKS, /**< \f$ 2^{25} \f$ WDT clocks. */
AnnaBridge 171:3a7713b1edbc 81 WDT_PERIOD_2_24_CLKS = MXC_V_WDT_CTRL_INT_PERIOD_2_24_CLKS, /**< \f$ 2^{24} \f$ WDT clocks. */
AnnaBridge 171:3a7713b1edbc 82 WDT_PERIOD_2_23_CLKS = MXC_V_WDT_CTRL_INT_PERIOD_2_23_CLKS, /**< \f$ 2^{23} \f$ WDT clocks. */
AnnaBridge 171:3a7713b1edbc 83 WDT_PERIOD_2_22_CLKS = MXC_V_WDT_CTRL_INT_PERIOD_2_22_CLKS, /**< \f$ 2^{22} \f$ WDT clocks. */
AnnaBridge 171:3a7713b1edbc 84 WDT_PERIOD_2_21_CLKS = MXC_V_WDT_CTRL_INT_PERIOD_2_21_CLKS, /**< \f$ 2^{21} \f$ WDT clocks. */
AnnaBridge 171:3a7713b1edbc 85 WDT_PERIOD_2_20_CLKS = MXC_V_WDT_CTRL_INT_PERIOD_2_20_CLKS, /**< \f$ 2^{20} \f$ WDT clocks. */
AnnaBridge 171:3a7713b1edbc 86 WDT_PERIOD_2_19_CLKS = MXC_V_WDT_CTRL_INT_PERIOD_2_19_CLKS, /**< \f$ 2^{19} \f$ WDT clocks. */
AnnaBridge 171:3a7713b1edbc 87 WDT_PERIOD_2_18_CLKS = MXC_V_WDT_CTRL_INT_PERIOD_2_18_CLKS, /**< \f$ 2^{18} \f$ WDT clocks. */
AnnaBridge 171:3a7713b1edbc 88 WDT_PERIOD_2_17_CLKS = MXC_V_WDT_CTRL_INT_PERIOD_2_17_CLKS, /**< \f$ 2^{17} \f$ WDT clocks. */
AnnaBridge 171:3a7713b1edbc 89 WDT_PERIOD_2_16_CLKS = MXC_V_WDT_CTRL_INT_PERIOD_2_16_CLKS, /**< \f$ 2^{16} \f$ WDT clocks. */
AnnaBridge 171:3a7713b1edbc 90 WDT_PERIOD_MAX /**< Maximum Period is Max - 1 */
AnnaBridge 171:3a7713b1edbc 91 } wdt_period_t;
AnnaBridge 171:3a7713b1edbc 92
AnnaBridge 171:3a7713b1edbc 93 /**
AnnaBridge 171:3a7713b1edbc 94 * @brief Initializes system level clocks and sets watchdog in a known disabled state
AnnaBridge 171:3a7713b1edbc 95 * @note The clk_scale in cfg is only used if the system clock is selected for clk.
AnnaBridge 171:3a7713b1edbc 96 *
AnnaBridge 171:3a7713b1edbc 97 * @param wdt Pointer to the Watchdog Timer Instance
AnnaBridge 171:3a7713b1edbc 98 * @param cfg Watchdog system configuration, see sys_cfg_wdt_t.
AnnaBridge 171:3a7713b1edbc 99 * @param unlock_key Watchdog unlock key
AnnaBridge 171:3a7713b1edbc 100 *
AnnaBridge 171:3a7713b1edbc 101 * @retval #E_NO_ERROR Watchdog Timer initialized as requested
AnnaBridge 171:3a7713b1edbc 102 * @retval #E_NULL_PTR NULL pointer for Watchdog Timer Instance or Configuration parameters.
AnnaBridge 171:3a7713b1edbc 103 * @retval #E_BAD_STATE Invalid unlock_key, WDT failed to unlock.
AnnaBridge 171:3a7713b1edbc 104 */
AnnaBridge 171:3a7713b1edbc 105 int WDT_Init(mxc_wdt_regs_t *wdt, const sys_cfg_wdt_t *cfg, uint8_t unlock_key);
AnnaBridge 171:3a7713b1edbc 106
AnnaBridge 171:3a7713b1edbc 107 /**
AnnaBridge 171:3a7713b1edbc 108 * @brief Configures and enables the interrupt timeout for the watchdog specified.
AnnaBridge 171:3a7713b1edbc 109 *
AnnaBridge 171:3a7713b1edbc 110 * @param wdt Watchdog module to operate on
AnnaBridge 171:3a7713b1edbc 111 * @param int_period Interrupt period as defined by wdt_period_t.
AnnaBridge 171:3a7713b1edbc 112 * @param unlock_key Key to unlock watchdog. See #MXC_V_WDT_UNLOCK_KEY.
AnnaBridge 171:3a7713b1edbc 113 *
AnnaBridge 171:3a7713b1edbc 114 * @retval #E_NO_ERROR Interrupt enabled
AnnaBridge 171:3a7713b1edbc 115 * @retval #E_BAD_STATE Invalid unlock_key, WDT failed to unlock.
AnnaBridge 171:3a7713b1edbc 116 */
AnnaBridge 171:3a7713b1edbc 117 int WDT_EnableInt(mxc_wdt_regs_t *wdt, wdt_period_t int_period, uint8_t unlock_key);
AnnaBridge 171:3a7713b1edbc 118
AnnaBridge 171:3a7713b1edbc 119 /**
AnnaBridge 171:3a7713b1edbc 120 * @brief Disables the interrupt timeout for the watchdog specified.
AnnaBridge 171:3a7713b1edbc 121 *
AnnaBridge 171:3a7713b1edbc 122 * @param wdt Pointer to the Watchdog Timer Instance
AnnaBridge 171:3a7713b1edbc 123 * @param unlock_key Key to unlock watchdog. See #MXC_V_WDT_UNLOCK_KEY.
AnnaBridge 171:3a7713b1edbc 124 *
AnnaBridge 171:3a7713b1edbc 125 * @retval #E_NO_ERROR Interrupt disabled.
AnnaBridge 171:3a7713b1edbc 126 * @retval #E_BAD_STATE Invalid unlock_key, WDT failed to unlock.
AnnaBridge 171:3a7713b1edbc 127 */
AnnaBridge 171:3a7713b1edbc 128 int WDT_DisableInt(mxc_wdt_regs_t *wdt, uint8_t unlock_key);
AnnaBridge 171:3a7713b1edbc 129
AnnaBridge 171:3a7713b1edbc 130 /**
AnnaBridge 171:3a7713b1edbc 131 * @brief Configures and enables the pre-window timeout for the watchdog specified.
AnnaBridge 171:3a7713b1edbc 132 *
AnnaBridge 171:3a7713b1edbc 133 * @param wdt Pointer to the Watchdog Timer Instance
AnnaBridge 171:3a7713b1edbc 134 * @param wait_period Pre-window period, see wdt_period_t for accepted values.
AnnaBridge 171:3a7713b1edbc 135 * @param unlock_key Key to unlock watchdog. See #MXC_V_WDT_UNLOCK_KEY.
AnnaBridge 171:3a7713b1edbc 136 *
AnnaBridge 171:3a7713b1edbc 137 * @retval #E_NO_ERROR Pre-window timeout set to wait_period
AnnaBridge 171:3a7713b1edbc 138 * @retval #E_BAD_STATE WDT unable to be unlocked
AnnaBridge 171:3a7713b1edbc 139 * @retval #E_INVALID Requested Period is greater than the maximum supported
AnnaBridge 171:3a7713b1edbc 140 */
AnnaBridge 171:3a7713b1edbc 141 int WDT_EnableWait(mxc_wdt_regs_t *wdt, wdt_period_t wait_period, uint8_t unlock_key);
AnnaBridge 171:3a7713b1edbc 142
AnnaBridge 171:3a7713b1edbc 143 /**
AnnaBridge 171:3a7713b1edbc 144 * @brief Disables the pre-window timeout for the watchdog specified.
AnnaBridge 171:3a7713b1edbc 145 *
AnnaBridge 171:3a7713b1edbc 146 * @param wdt Pointer to the Watchdog Timer Instance
AnnaBridge 171:3a7713b1edbc 147 * @param unlock_key Key to unlock watchdog. See #MXC_V_WDT_UNLOCK_KEY.
AnnaBridge 171:3a7713b1edbc 148 *
AnnaBridge 171:3a7713b1edbc 149 * @retval #E_NO_ERROR Wait disabled.
AnnaBridge 171:3a7713b1edbc 150 * @retval #E_BAD_STATE Invalid unlock_key, WDT failed to unlock.
AnnaBridge 171:3a7713b1edbc 151 */
AnnaBridge 171:3a7713b1edbc 152 int WDT_DisableWait(mxc_wdt_regs_t *wdt, uint8_t unlock_key);
AnnaBridge 171:3a7713b1edbc 153
AnnaBridge 171:3a7713b1edbc 154 /**
AnnaBridge 171:3a7713b1edbc 155 * @brief Configures and enables the reset timeout for the watchdog specified.
AnnaBridge 171:3a7713b1edbc 156 *
AnnaBridge 171:3a7713b1edbc 157 * @param wdt Pointer to the Watchdog Timer Instance
AnnaBridge 171:3a7713b1edbc 158 * @param rst_period Reset period, see wdt_period_t for accepted values.
AnnaBridge 171:3a7713b1edbc 159 * @param unlock_key Key to unlock watchdog. See #MXC_V_WDT_UNLOCK_KEY.
AnnaBridge 171:3a7713b1edbc 160 *
AnnaBridge 171:3a7713b1edbc 161 * @retval #E_NO_ERROR Watchdog Timer Reset enabled with the rst_period time.
AnnaBridge 171:3a7713b1edbc 162 * @retval #E_BAD_STATE Invalid unlock_key, WDT failed to unlock.
AnnaBridge 171:3a7713b1edbc 163 * @retval #E_INVALID Requested Period is greater than the maximum supported
AnnaBridge 171:3a7713b1edbc 164 */
AnnaBridge 171:3a7713b1edbc 165 int WDT_EnableReset(mxc_wdt_regs_t *wdt, wdt_period_t rst_period, uint8_t unlock_key);
AnnaBridge 171:3a7713b1edbc 166
AnnaBridge 171:3a7713b1edbc 167 /**
AnnaBridge 171:3a7713b1edbc 168 * @brief Disables the reset timeout for the watchdog specified.
AnnaBridge 171:3a7713b1edbc 169 *
AnnaBridge 171:3a7713b1edbc 170 * @param wdt Pointer to the Watchdog Timer Instance
AnnaBridge 171:3a7713b1edbc 171 * @param unlock_key Key to unlock watchdog. See #MXC_V_WDT_UNLOCK_KEY.
AnnaBridge 171:3a7713b1edbc 172 *
AnnaBridge 171:3a7713b1edbc 173 * @retval #E_NO_ERROR Reset disabled.
AnnaBridge 171:3a7713b1edbc 174 * @retval #E_BAD_STATE Invalid unlock_key, WDT failed to unlock.
AnnaBridge 171:3a7713b1edbc 175 */
AnnaBridge 171:3a7713b1edbc 176 int WDT_DisableReset(mxc_wdt_regs_t *wdt, uint8_t unlock_key);
AnnaBridge 171:3a7713b1edbc 177
AnnaBridge 171:3a7713b1edbc 178 /**
AnnaBridge 171:3a7713b1edbc 179 * @brief Gets the watchdog interrupt flags
AnnaBridge 171:3a7713b1edbc 180 *
AnnaBridge 171:3a7713b1edbc 181 * @param wdt Pointer to the Watchdog Timer Instance.
AnnaBridge 171:3a7713b1edbc 182 *
AnnaBridge 171:3a7713b1edbc 183 * @retval uint32_t Value of the Watchdog Timer Flags.
AnnaBridge 171:3a7713b1edbc 184 *
AnnaBridge 171:3a7713b1edbc 185 */
AnnaBridge 171:3a7713b1edbc 186 __STATIC_INLINE uint32_t WDT_GetFlags(mxc_wdt_regs_t *wdt)
AnnaBridge 171:3a7713b1edbc 187 {
AnnaBridge 171:3a7713b1edbc 188 return (wdt->flags);
AnnaBridge 171:3a7713b1edbc 189 }
AnnaBridge 171:3a7713b1edbc 190
AnnaBridge 171:3a7713b1edbc 191 /**
AnnaBridge 171:3a7713b1edbc 192 * @brief Clears the watchdog interrupt flags based on the mask
AnnaBridge 171:3a7713b1edbc 193 *
AnnaBridge 171:3a7713b1edbc 194 * @param wdt Pointer to the Watchdog Timer Instance
AnnaBridge 171:3a7713b1edbc 195 * @param mask Watchdog Flags to clear
AnnaBridge 171:3a7713b1edbc 196 *
AnnaBridge 171:3a7713b1edbc 197 */
AnnaBridge 171:3a7713b1edbc 198 __STATIC_INLINE void WDT_ClearFlags(mxc_wdt_regs_t *wdt, uint32_t mask)
AnnaBridge 171:3a7713b1edbc 199 {
AnnaBridge 171:3a7713b1edbc 200 wdt->flags = mask;
AnnaBridge 171:3a7713b1edbc 201 }
AnnaBridge 171:3a7713b1edbc 202
AnnaBridge 171:3a7713b1edbc 203 /**
AnnaBridge 171:3a7713b1edbc 204 * @brief Starts the specified Watchdog Timer instance.
AnnaBridge 171:3a7713b1edbc 205 *
AnnaBridge 171:3a7713b1edbc 206 * @param wdt Pointer to the Watchdog Timer instance
AnnaBridge 171:3a7713b1edbc 207 * @param unlock_key Key to unlock watchdog.
AnnaBridge 171:3a7713b1edbc 208 *
AnnaBridge 171:3a7713b1edbc 209 * @retval #E_NO_ERROR Interrupt enabled.
AnnaBridge 171:3a7713b1edbc 210 * @retval #E_BAD_STATE WDT1 Already Running
AnnaBridge 171:3a7713b1edbc 211 * @retval #E_BAD_STATE Invalid unlock_key, WDT failed to unlock.
AnnaBridge 171:3a7713b1edbc 212 *
AnnaBridge 171:3a7713b1edbc 213 */
AnnaBridge 171:3a7713b1edbc 214 int WDT_Start(mxc_wdt_regs_t *wdt, uint8_t unlock_key);
AnnaBridge 171:3a7713b1edbc 215
AnnaBridge 171:3a7713b1edbc 216 /**
AnnaBridge 171:3a7713b1edbc 217 * @brief Feeds the watchdog specified.
AnnaBridge 171:3a7713b1edbc 218 *
AnnaBridge 171:3a7713b1edbc 219 * @param wdt Watchdog module to operate on
AnnaBridge 171:3a7713b1edbc 220 *
AnnaBridge 171:3a7713b1edbc 221 */
AnnaBridge 171:3a7713b1edbc 222 void WDT_Reset(mxc_wdt_regs_t *wdt);
AnnaBridge 171:3a7713b1edbc 223
AnnaBridge 171:3a7713b1edbc 224 /**
AnnaBridge 171:3a7713b1edbc 225 * @brief Stops the watchdog specified.
AnnaBridge 171:3a7713b1edbc 226 *
AnnaBridge 171:3a7713b1edbc 227 * @param wdt Pointer to the Watchdog Timer Instance
AnnaBridge 171:3a7713b1edbc 228 * @param unlock_key Key to unlock watchdog.
AnnaBridge 171:3a7713b1edbc 229 *
AnnaBridge 171:3a7713b1edbc 230 * @retval #E_NO_ERROR Interrupt enabled.
AnnaBridge 171:3a7713b1edbc 231 * @retval #E_BAD_STATE Invalid unlock_key, WDT failed to unlock.
AnnaBridge 171:3a7713b1edbc 232 */
AnnaBridge 171:3a7713b1edbc 233 int WDT_Stop(mxc_wdt_regs_t *wdt, uint8_t unlock_key);
AnnaBridge 171:3a7713b1edbc 234
AnnaBridge 171:3a7713b1edbc 235 /**
AnnaBridge 171:3a7713b1edbc 236 * @brief Determines if the watchdog is running
AnnaBridge 171:3a7713b1edbc 237 *
AnnaBridge 171:3a7713b1edbc 238 * @param wdt Pointer to the Watchdog Timer Instance
AnnaBridge 171:3a7713b1edbc 239 *
AnnaBridge 171:3a7713b1edbc 240 * @retval 0 Watchdog timer is Disabled.
AnnaBridge 171:3a7713b1edbc 241 * @retval non-zero Watchdog timer is Active
AnnaBridge 171:3a7713b1edbc 242 */
AnnaBridge 171:3a7713b1edbc 243 __STATIC_INLINE int WDT_IsActive(mxc_wdt_regs_t *wdt)
AnnaBridge 171:3a7713b1edbc 244 {
AnnaBridge 171:3a7713b1edbc 245 return (!!(wdt->ctrl & MXC_F_WDT_CTRL_EN_TIMER));
AnnaBridge 171:3a7713b1edbc 246 }
AnnaBridge 171:3a7713b1edbc 247
AnnaBridge 171:3a7713b1edbc 248 /**@} end of group wdt*/
AnnaBridge 171:3a7713b1edbc 249
AnnaBridge 171:3a7713b1edbc 250 #ifdef __cplusplus
AnnaBridge 171:3a7713b1edbc 251 }
AnnaBridge 171:3a7713b1edbc 252 #endif
AnnaBridge 171:3a7713b1edbc 253
AnnaBridge 171:3a7713b1edbc 254 #endif /* _WDT_H */