00001
00013 #include <avr/wdt.h>
00014
00015 #ifndef HALWDTCTRL_H
00016 #define HALWDTCTRL_H
00017
00018
00019
00020 typedef enum
00021 {
00022 WDT_INTERVAL_16 = 0,
00023 WDT_INTERVAL_32,
00024 WDT_INTERVAL_64,
00025 WDT_INTERVAL_125,
00026 WDT_INTERVAL_250,
00027 WDT_INTERVAL_500,
00028 WDT_INTERVAL_1000,
00029 WDT_INTERVAL_2000,
00030 WDT_INTERVAL_4000,
00031 WDT_INTERVAL_8000
00032 }HAL_WdtInterval_t;
00033
00034
00035
00051 void HAL_StartWdt(HAL_WdtInterval_t interval);
00052
00053
00061 void HAL_RegisterWdtCallback(void (*wdtCallback)());
00062
00063
00066 static inline void HAL_StopWdt(void)
00067 {
00068 wdt_disable();
00069 }
00070
00071
00074 static inline void HAL_ResetWdt(void)
00075 {
00076 wdt_reset();
00077 }
00078
00079 #endif
00080
00081