Merge pull request #86 from bgamari/edge
[clinton/Smoothieware.git] / src / libs / Watchdog.h
1 #ifndef _WATCHDOG_H
2 #define _WATCHDOG_H
3
4 #include <stdint.h>
5
6 #include "Module.h"
7
8 typedef enum
9 {
10 WDT_MRI,
11 WDT_RESET,
12 } WDT_ACTION;
13
14 extern "C" {
15 void __mriPlatform_EnteringDebuggerHook();
16 void __mriPlatform_LeavingDebuggerHook();
17 }
18
19 class Watchdog : public Module
20 {
21 public:
22 Watchdog(uint32_t timeout, WDT_ACTION action);
23 void feed();
24
25 void on_module_loaded();
26 void on_idle(void*);
27 };
28
29 #endif /* _WATCHDOG_H */