Update benchmark projects.
[bertos.git] / bertos / drv / wdt.h
index 0cb221c3a18aa9a6a9d1a5aa528c04e931aade74..faba48d9c6a36c16f832b351ff3aa4e66452483f 100644 (file)
  *
  * -->
  *
- * \version $Id$
  *
  * \author Bernie Innocenti <bernie@codewiz.org>
  *
- * \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 <cfg/compiler.h> // INLINE
 
 #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
        }
 
        /**
-        * 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
                        (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
                #else
                        #error unknown CPU
                #endif
-#endif /* CONFIG_WATCHDOG */
+       #endif /* CONFIG_WATCHDOG */
        }
 #endif /* OS_HOSTED || !CONFIG_WATCHDOG */