LPC1768 and LPC11U24 watchdog timer

Dependents:   GSwifi_tsutenkaku barometer-m0 BMAGThrRev

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?

UserRevisionLine numberNew 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