X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Fwdt.h;h=faba48d9c6a36c16f832b351ff3aa4e66452483f;hb=2053cc3e6aa26c20a8511ad7148dd704b8e0891e;hp=85f33f8249b544d86bf5012c4f90e57e0dac0570;hpb=1260bb120279dc22498c875ac4239bf44b5917bd;p=bertos.git diff --git a/bertos/drv/wdt.h b/bertos/drv/wdt.h index 85f33f82..faba48d9 100644 --- a/bertos/drv/wdt.h +++ b/bertos/drv/wdt.h @@ -30,18 +30,20 @@ * * --> * - * \version $Id$ * * \author Bernie Innocenti * - * \brief Watchdog interface + * \brief Watchdog module, supplies a simple API to manage wdt on supported target. + * + * $WIZ$ module_name = "wdt" + * $WIZ$ module_configuration = "bertos/cfg/cfg_wdt.h" + * $WIZ$ module_supports = "avr" */ #ifndef DRV_WDT_H #define DRV_WDT_H #include "cfg/cfg_wdt.h" -#include "cfg/cfg_arch.h" #include // INLINE @@ -50,7 +52,7 @@ #error CONFIG_WATCHDOG must be defined to either 0 or 1 #endif -#if OS_HOSTED || !CONFIG_WATCHDOG +#if OS_HOSTED #include #include @@ -61,21 +63,20 @@ #else #error unknown CPU #endif +#elif CONFIG_WATCHDOG + #include CPU_HEADER(wdt) #endif /* CONFIG_WATCHDOG */ #if OS_HOSTED || !CONFIG_WATCHDOG + /** * Reset the watchdog timer. */ INLINE void wdt_reset(void) { #if CONFIG_WATCHDOG - #if OS_QT - // Let Qt handle events - ASSERT(qApp); - qApp->processEvents(); - #elif OS_POSIX + #if OS_POSIX static struct timeval tv = { 0, 0 }; select(0, NULL, NULL, NULL, &tv); #endif @@ -83,11 +84,13 @@ } /** - * Set watchdog timer timeout. + * Start the watchdog timer that fire at the select + * timeout. * - * \param timeout 0: 16.3ms, 7: 2.1s + * \param timeout this value is target dependant. + * See the target documentation for more details. */ - INLINE void wdt_init(uint8_t timeout) + INLINE void wdt_start(uint32_t timeout) { #if CONFIG_WATCHDOG #if OS_QT @@ -100,29 +103,14 @@ (void)timeout; #elif OS_POSIX (void)timeout; // NOP - #else - #error unknown CPU #endif #endif /* CONFIG_WATCHDOG */ - (void)timeout; - } - - INLINE void wdt_start(void) - { -#if CONFIG_WATCHDOG - #if OS_QT - // NOP - #elif OS_POSIX - // NOP - #else - #error unknown CPU - #endif -#endif /* CONFIG_WATCHDOG */ + (void)timeout; // NOP } INLINE void wdt_stop(void) { -#if CONFIG_WATCHDOG + #if CONFIG_WATCHDOG #if OS_QT // NOP #elif OS_POSIX @@ -130,7 +118,7 @@ #else #error unknown CPU #endif -#endif /* CONFIG_WATCHDOG */ + #endif /* CONFIG_WATCHDOG */ } #endif /* OS_HOSTED || !CONFIG_WATCHDOG */