Arianna autonomous DAQ firmware
Dependencies: mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW
Diff: Watchdog.h
- Revision:
- 40:1324da35afd4
- Parent:
- 22:f957c4f840ad
- Child:
- 62:4b59c1eb429f
--- a/Watchdog.h Tue Jul 30 02:03:21 2013 +0000 +++ b/Watchdog.h Sat Oct 05 04:45:22 2013 +0000 @@ -3,7 +3,7 @@ #define WDFAILSAFE (1200u) -// Simon's Watchdog code from +// Adapted from Simon's Watchdog code from // http://mbed.org/forum/mbed/topic/508/ namespace Watchdog { @@ -22,10 +22,21 @@ // WD has a fixed /4 prescaler, PCLK default is /4 static const float clk = static_cast<float>(SystemCoreClock / 16); LPC_WDT->WDTC = s * clk; - LPC_WDT->WDMOD = 0x3; // Enabled and Reset +// LPC_WDT->WDMOD = 0x3; // Enabled and Reset + LPC_WDT->WDMOD |= 0x3; // Enabled and Reset kick(); } + inline + bool didWatchdogReset() { + return ( (LPC_WDT->WDMOD) & 0x4 ); + } + + inline + void clearResetFlag() { + LPC_WDT->WDMOD &= ~(0x4); + } + struct SnKickStarter { SnKickStarter(const float s) { Watchdog::kick(s);