47 lines
1.2 KiB
C
47 lines
1.2 KiB
C
|
/**
|
||
|
* @copyright 2017 Indie Semiconductor.
|
||
|
*
|
||
|
* This file is proprietary to Indie Semiconductor.
|
||
|
* All rights reserved. Reproduction or distribution, in whole
|
||
|
* or in part, is forbidden except by express written permission
|
||
|
* of Indie Semiconductor.
|
||
|
*
|
||
|
* @file wdt_device.h
|
||
|
*/
|
||
|
|
||
|
#ifndef WDT_DEVICE_H__
|
||
|
#define WDT_DEVICE_H__
|
||
|
|
||
|
#include <stdint.h>
|
||
|
#include <wdta_sfr.h>
|
||
|
#include "errno.h"
|
||
|
|
||
|
|
||
|
typedef void (*wdt_cb_func_t)(void);
|
||
|
|
||
|
typedef enum{
|
||
|
WDTA_INTERVAL_144MS = 0U,/*0x0: 2^11 * 62.5us ~= 128*(1+1/8) ms*/
|
||
|
WDTA_INTERVAL_288MS, /*0x2: 2^12 * 62.5us ~= 256*(1+1/8) ms*/
|
||
|
WDTA_INTERVAL_576MS, /*0x3: 2^13 * 62.5us ~= 512*(1+1/8) ms*/
|
||
|
WDTA_INTERVAL_1152MS, /*0x4: 2^14 * 62.5us ~= 1.0*(1+1/8) s*/
|
||
|
WDTA_INTERVAL_2304MS, /*0x5: 2^15 * 62.5us ~= 2.0*(1+1/8) s*/
|
||
|
WDTA_INTERVAL_4608MS, /*0x6: 2^16 * 62.5us ~= 4.0*(1+1/8) s*/
|
||
|
WDTA_INTERVAL_9216MS, /*0x7: 2^17 * 62.5us ~= 8.0*(1+1/8) s*/
|
||
|
WDTA_INTERVAL_18432MS, /*0x7: 2^18 * 62.5us ~= 16.0*(1+1/8)s*/
|
||
|
}WDTAInterval_t;
|
||
|
|
||
|
typedef enum{
|
||
|
WDTA_MODE_RESET = 0U,
|
||
|
}WDTAMode_t;
|
||
|
|
||
|
|
||
|
void WDTA_Enable(WDTAInterval_t interval);
|
||
|
void WDTA_Disable(void);
|
||
|
void WDTA_Clear(void);
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#endif /* __WDT_DEVICE_H__ */
|
||
|
|