Watchdog lib for LPC1768

Fork of Watchdog by David Smart

Files at this revision

API Documentation at this revision

Comitter:
bramkelder
Date:
Tue Jan 09 10:45:36 2018 +0000
Parent:
6:e0f547e22dd5
Commit message:
removed unneeded boards

Changed in this revision

Watchdog.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r e0f547e22dd5 -r 093e74b9c2c8 Watchdog.cpp
--- a/Watchdog.cpp	Mon Mar 16 01:04:32 2015 +0000
+++ b/Watchdog.cpp	Tue Jan 09 10:45:36 2018 +0000
@@ -15,7 +15,6 @@
 #include "mbed.h"
 #include "Watchdog.h"
 
-#if defined( TARGET_LPC1768 )
 /// Watchdog gets instantiated at the module level
 Watchdog::Watchdog() {
     wdreset = (LPC_WDT->WDMOD >> 2) & 1;    // capture the cause of the previous reset
@@ -41,60 +40,3 @@
 bool Watchdog::WatchdogCausedReset() {
     return wdreset;
 }
-#elif defined( TARGET_LPC4088 )
-// from Gesotec Gesotec
-/// Watchdog gets instantiated at the module level
-Watchdog::Watchdog() {
-    wdreset = (LPC_WDT->MOD >> 2) & 1;    // capture the cause of the previous reset
-}
- 
-/// Load timeout value in watchdog timer and enable
-void Watchdog::Configure(float s) {
-    //LPC_WDT->CLKSEL = 0x1;                // Set CLK src to PCLK
-    uint32_t clk = 500000 / 4;    // WD has a fixed /4 prescaler, and a 500khz oscillator
-    LPC_WDT->TC = (uint32_t)(s * (float)clk);
-    LPC_WDT->MOD = 0x3;                   // Enabled and Reset
-    Service();
-}
- 
-/// "Service", "kick" or "feed" the dog - reset the watchdog timer
-/// by writing this required bit pattern
-void Watchdog::Service() {
-    LPC_WDT->FEED = 0xAA;
-    LPC_WDT->FEED = 0x55;
-}
- 
-/// get the flag to indicate if the watchdog causes the reset
-bool Watchdog::WatchdogCausedReset() {
-    return wdreset;
-}
-#elif defined( TARGET_STM )
-// Derived from Chau Vo
-/// Watchdog gets instantiated at the module level
-Watchdog::Watchdog() {
-    wdreset = (RCC->CSR & (1<<29)) ? true : false;  // read the IWDGRSTF (Independent WD, not the windows WD)
-}
-
-/// Load timeout value in watchdog timer and enable
-void Watchdog::Configure(int pr) {
-    // http://www.st.com/web/en/resource/technical/document/reference_manual/CD00171190.pdf
-    IWDG->KR  = 0x5555;         // enable write to PR, RLR
-    IWDG->PR  = pr;             // Init prescaler, page 486 Reference Manual
-    IWDG->RLR = 0xFFF;          // Init RLR
-    IWDG->KR  = 0xAAAA;         // Reload the watchdog
-    IWDG->KR  = 0xCCCC;         // Starts the WD
-}
-
-/// "Service", "kick" or "feed" the dog - reset the watchdog timer
-void Watchdog::Service() {
-    IWDG->KR  = 0xAAAA;
-}
-
-/// get the flag to indicate if the watchdog causes the reset
-bool Watchdog::WatchdogCausedReset() {
-    if (wdreset) {
-        RCC->CSR |= (1<<24); // clear reset flag
-    }
-    return wdreset;
-}
-#endif