Watchdog

Fork of Watchdog_sample_nocoverage by William Marsh

Revision:
6:1a6af3f79bb0
Parent:
3:32a940251192
diff -r 9817756efc34 -r 1a6af3f79bb0 main.cpp
--- a/main.cpp	Tue Feb 27 10:29:30 2018 +0000
+++ b/main.cpp	Fri Mar 09 23:04:00 2018 +0000
@@ -19,16 +19,16 @@
 Ticker tick;
 
 // Threads
-Thread threadT ; // timer thread 
-Thread threadLED1 ; // thread LED1
-Thread threadLED2 ; // thread LED2
+Thread threadT(osPriorityNormal, 1000); // timer thread 
+Thread threadLED1(osPriorityNormal, 1000); // thread LED1
+Thread threadLED2(osPriorityNormal, 1000); // thread LED2
 
 // ------------Fault Injection Button-------------
 //  Wait while the button is down
 //     Use this to simulate a STUCK fault
 // -----------------------------------------------
 void waitButton() {
-    while (!button) ;  
+    while (!button) ;
 }
 
 // ---Thread for controlling LED 1----------------
@@ -41,8 +41,10 @@
         if (evt.status == osEventSignal) {
             if (evt.value.signals & 0x01) led1 = ON ;
             if (evt.value.signals & 0x02) led1 = OFF ;
+            wdt_kickA();
         } 
-        waitButton() ;  // POSSIBLE FAULT HERE
+        
+        //waitButton() ;  // POSSIBLE FAULT HERE
     }
 }
 
@@ -56,8 +58,9 @@
         if (evt.status == osEventSignal) {
             if (evt.value.signals & 0x01) led2 = ON ;
             if (evt.value.signals & 0x02) led2 = OFF ;
+            wdt_kickB();
         } 
-        // waitButton() ; // POSSIBLE FAULT HERE
+       //  waitButton() ; // POSSIBLE FAULT HERE
     }
 }
 
@@ -72,7 +75,8 @@
         Thread::wait(250) ;
         threadLED1.signal_set(0x2) ;
         threadLED2.signal_set(0x2) ;
-        // waitButton() ; // POSSIBLE FAULT HERE
+        
+        waitButton() ; // POSSIBLE FAULT HERE
     }
 }
 
@@ -85,9 +89,10 @@
 // ----------------------------------------------
 
 int main(void) {
-    wdt_32ms() ; // initialise watchdog - 32ms timeout
-    tick.attach_us(callback(&wdt_kick_all), 20000); // ticks every 20ms    
+    wdt_1sec() ; // initialise watchdog - 32ms timeout
+    //tick.attach_us(callback(&wdt_kick_all), 20000); // ticks every 20ms    
     
+
     // start threads
     threadT.start(&timer_thread) ; // start the timer thread 
     threadLED1.start(&led1_thread) ; // start the LED1 control thread