mbed official / mbed-dev

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
AnnaBridge
Date:
Thu Nov 23 11:57:25 2017 +0000
Revision:
178:79309dc6340a
mbed-dev library. Release version 156

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 178:79309dc6340a 1 /*! *****************************************************************************
AnnaBridge 178:79309dc6340a 2 * @file adi_wdt.h
AnnaBridge 178:79309dc6340a 3 * @brief WDT device driver public header
AnnaBridge 178:79309dc6340a 4 -----------------------------------------------------------------------------
AnnaBridge 178:79309dc6340a 5 Copyright (c) 2016 Analog Devices, Inc.
AnnaBridge 178:79309dc6340a 6
AnnaBridge 178:79309dc6340a 7 All rights reserved.
AnnaBridge 178:79309dc6340a 8
AnnaBridge 178:79309dc6340a 9 Redistribution and use in source and binary forms, with or without modification,
AnnaBridge 178:79309dc6340a 10 are permitted provided that the following conditions are met:
AnnaBridge 178:79309dc6340a 11 - Redistributions of source code must retain the above copyright notice,
AnnaBridge 178:79309dc6340a 12 this list of conditions and the following disclaimer.
AnnaBridge 178:79309dc6340a 13 - Redistributions in binary form must reproduce the above copyright notice,
AnnaBridge 178:79309dc6340a 14 this list of conditions and the following disclaimer in the documentation
AnnaBridge 178:79309dc6340a 15 and/or other materials provided with the distribution.
AnnaBridge 178:79309dc6340a 16 - Modified versions of the software must be conspicuously marked as such.
AnnaBridge 178:79309dc6340a 17 - This software is licensed solely and exclusively for use with processors
AnnaBridge 178:79309dc6340a 18 manufactured by or for Analog Devices, Inc.
AnnaBridge 178:79309dc6340a 19 - This software may not be combined or merged with other code in any manner
AnnaBridge 178:79309dc6340a 20 that would cause the software to become subject to terms and conditions
AnnaBridge 178:79309dc6340a 21 which differ from those listed here.
AnnaBridge 178:79309dc6340a 22 - Neither the name of Analog Devices, Inc. nor the names of its
AnnaBridge 178:79309dc6340a 23 contributors may be used to endorse or promote products derived
AnnaBridge 178:79309dc6340a 24 from this software without specific prior written permission.
AnnaBridge 178:79309dc6340a 25 - The use of this software may or may not infringe the patent rights of one
AnnaBridge 178:79309dc6340a 26 or more patent holders. This license does not release you from the
AnnaBridge 178:79309dc6340a 27 requirement that you obtain separate licenses from these patent holders
AnnaBridge 178:79309dc6340a 28 to use this software.
AnnaBridge 178:79309dc6340a 29
AnnaBridge 178:79309dc6340a 30 THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES, INC. AND CONTRIBUTORS "AS IS"
AnnaBridge 178:79309dc6340a 31 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-
AnnaBridge 178:79309dc6340a 32 INFRINGEMENT, TITLE, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 178:79309dc6340a 33 DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES, INC. OR CONTRIBUTORS BE LIABLE
AnnaBridge 178:79309dc6340a 34 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, PUNITIVE OR
AnnaBridge 178:79309dc6340a 35 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, DAMAGES ARISING OUT OF
AnnaBridge 178:79309dc6340a 36 CLAIMS OF INTELLECTUAL PROPERTY RIGHTS INFRINGEMENT; PROCUREMENT OF
AnnaBridge 178:79309dc6340a 37 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
AnnaBridge 178:79309dc6340a 38 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
AnnaBridge 178:79309dc6340a 39 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
AnnaBridge 178:79309dc6340a 40 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
AnnaBridge 178:79309dc6340a 41 POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 178:79309dc6340a 42
AnnaBridge 178:79309dc6340a 43 *****************************************************************************/
AnnaBridge 178:79309dc6340a 44
AnnaBridge 178:79309dc6340a 45 #ifndef ADI_WDT_H
AnnaBridge 178:79309dc6340a 46 #define ADI_WDT_H
AnnaBridge 178:79309dc6340a 47
AnnaBridge 178:79309dc6340a 48 #include <adi_callback.h>
AnnaBridge 178:79309dc6340a 49
AnnaBridge 178:79309dc6340a 50 /** @addtogroup WDT_Driver WDT Driver
AnnaBridge 178:79309dc6340a 51 * @{
AnnaBridge 178:79309dc6340a 52 */
AnnaBridge 178:79309dc6340a 53
AnnaBridge 178:79309dc6340a 54 /*! \enum ADI_WDT_RESULT Watchdog Device Error Codes. */
AnnaBridge 178:79309dc6340a 55 typedef enum
AnnaBridge 178:79309dc6340a 56 {
AnnaBridge 178:79309dc6340a 57 /*! Generic success. */
AnnaBridge 178:79309dc6340a 58 ADI_WDT_SUCCESS,
AnnaBridge 178:79309dc6340a 59 /*! Timer is locked. */
AnnaBridge 178:79309dc6340a 60 ADI_WDT_FAILURE_LOCKED
AnnaBridge 178:79309dc6340a 61 } ADI_WDT_RESULT;
AnnaBridge 178:79309dc6340a 62
AnnaBridge 178:79309dc6340a 63
AnnaBridge 178:79309dc6340a 64 /******************************************************************************
AnnaBridge 178:79309dc6340a 65 * PUBLIC API
AnnaBridge 178:79309dc6340a 66 * 1.) Eliminatable functions that may be optimized out by the linker
AnnaBridge 178:79309dc6340a 67 * 2.) Ordered by designed function call sequence
AnnaBridge 178:79309dc6340a 68 *****************************************************************************/
AnnaBridge 178:79309dc6340a 69
AnnaBridge 178:79309dc6340a 70 ADI_WDT_RESULT adi_wdt_Enable (bool const bEnable, ADI_CALLBACK const pfCallback);
AnnaBridge 178:79309dc6340a 71 void adi_wdt_Kick (void);
AnnaBridge 178:79309dc6340a 72 void adi_wdt_GetCount(uint16_t * const pCurCount);
AnnaBridge 178:79309dc6340a 73
AnnaBridge 178:79309dc6340a 74
AnnaBridge 178:79309dc6340a 75 /*! @} */
AnnaBridge 178:79309dc6340a 76
AnnaBridge 178:79309dc6340a 77 #endif /* ADI_WDT_H */