Version of Watchdog timer for LPC4088 that uses the Singleton design pattern for easy access throughout a program.

Fork of WDT4088 by Kevin Braun

Committer:
loopsva
Date:
Fri Dec 20 19:42:32 2013 +0000
Revision:
0:fc62d045ca0c
Child:
1:06813ae93fea
Initial cut. A Watchdog timer for the LPC4088.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
loopsva 0:fc62d045ca0c 1 #include "mbed.h"
loopsva 0:fc62d045ca0c 2 #include "Watchdog.h"
loopsva 0:fc62d045ca0c 3
loopsva 0:fc62d045ca0c 4 void Watchdog::kick(int WDTseconds) {
loopsva 0:fc62d045ca0c 5 if(WDTseconds < 1) WDTseconds = 1; //minimum watchdog time is 1 sec
loopsva 0:fc62d045ca0c 6 if(WDTseconds > 134) WDTseconds = 134; //maximum watchdog time is 134 sec
loopsva 0:fc62d045ca0c 7 LPC_WDT->TC = 125000 * WDTseconds; //125000 * 8uS = 1.0 second tics
loopsva 0:fc62d045ca0c 8 LPC_WDT->MOD = 0x3; //enable and restart watchdog
loopsva 0:fc62d045ca0c 9 Watchdog::kick();
loopsva 0:fc62d045ca0c 10 }
loopsva 0:fc62d045ca0c 11
loopsva 0:fc62d045ca0c 12 void Watchdog::kick() {
loopsva 0:fc62d045ca0c 13 LPC_WDT->FEED = 0xaa; //kick sequence into FEED register
loopsva 0:fc62d045ca0c 14 LPC_WDT->FEED = 0x55;
loopsva 0:fc62d045ca0c 15 }