LPC1768 and LPC11U24 watchdog timer
Dependents: GSwifi_tsutenkaku barometer-m0 BMAGThrRev
WDT.h@3:b1efde09d8a7, 2016-05-25 (annotated)
- Committer:
- okini3939
- Date:
- Wed May 25 08:52:32 2016 +0000
- Revision:
- 3:b1efde09d8a7
- Parent:
- 2:f6f05e2eafd0
supported LPC8XX
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 2:f6f05e2eafd0 | 1 | #ifndef _WDT_H_ |
okini3939 | 2:f6f05e2eafd0 | 2 | #define _WDT_H_ |
okini3939 | 2:f6f05e2eafd0 | 3 | |
okini3939 | 2:f6f05e2eafd0 | 4 | #include "mbed.h" |
okini3939 | 2:f6f05e2eafd0 | 5 | |
okini3939 | 2:f6f05e2eafd0 | 6 | // Simon's Watchdog |
okini3939 | 2:f6f05e2eafd0 | 7 | // see: http://mbed.org/forum/mbed/topic/508/ |
okini3939 | 0:f28de891b0d3 | 8 | class Watchdog { |
okini3939 | 0:f28de891b0d3 | 9 | public: |
okini3939 | 0:f28de891b0d3 | 10 | // Load timeout value in watchdog timer and enable |
okini3939 | 0:f28de891b0d3 | 11 | void init(float s); |
okini3939 | 0:f28de891b0d3 | 12 | // "kick" or "feed" the dog - reset the watchdog timer |
okini3939 | 0:f28de891b0d3 | 13 | // by writing this required bit pattern |
okini3939 | 0:f28de891b0d3 | 14 | void kick(); |
okini3939 | 0:f28de891b0d3 | 15 | |
okini3939 | 0:f28de891b0d3 | 16 | int getFlg (); |
okini3939 | 2:f6f05e2eafd0 | 17 | |
okini3939 | 2:f6f05e2eafd0 | 18 | void attach (void (*fptr)(void), float s); |
okini3939 | 2:f6f05e2eafd0 | 19 | |
okini3939 | 2:f6f05e2eafd0 | 20 | template<typename T> |
okini3939 | 2:f6f05e2eafd0 | 21 | void attach (T *object, void (*fptr)(void), float s); |
okini3939 | 2:f6f05e2eafd0 | 22 | |
okini3939 | 2:f6f05e2eafd0 | 23 | void sleep (); |
okini3939 | 2:f6f05e2eafd0 | 24 | void deepSleep (); |
okini3939 | 3:b1efde09d8a7 | 25 | void powerDown (); |
okini3939 | 2:f6f05e2eafd0 | 26 | |
okini3939 | 2:f6f05e2eafd0 | 27 | private: |
okini3939 | 2:f6f05e2eafd0 | 28 | static FunctionPointer _fptr; |
okini3939 | 2:f6f05e2eafd0 | 29 | static void isr_wdt(void); |
okini3939 | 0:f28de891b0d3 | 30 | }; |
okini3939 | 2:f6f05e2eafd0 | 31 | |
okini3939 | 2:f6f05e2eafd0 | 32 | #endif |