homework 7

Dependencies:   mbed-rtos mbed C12832_lcd LM75B

Revision:
73:44739860198b
Parent:
72:b4d0c0aa3c26
Child:
74:4debb8f2e21d
--- a/main.cpp	Wed Sep 11 23:06:09 2013 +0000
+++ b/main.cpp	Wed Sep 11 23:12:35 2013 +0000
@@ -333,38 +333,48 @@
       while(1)                                  // thread loop.
       {
       
-        if (dFSMstate == FSM_IDLE)              // idle state.
+      
+        switch (dFSMstate)
         {
-//          pc.printf("\n\r FSM_IDLE");
+          case  FSM_IDLE :                      // IDLE.
+          {
+          
           if (dButtonStart & !dDoorOpen & dTimeRemaining) dFSMstate = FSM_COOK;
-        }
-        else
-        if (dFSMstate == FSM_COOK)              // cook state.
-        {
-          pc.printf("\n\r FSM_COOK");
-          if (dDoorOpen & dTimeRemaining) dFSMstate = FSM_PAUSE;
+            break;
+          }
+           case  FSM_COOK :                     // COOK.
+          {
+          
+            if (dDoorOpen & dTimeRemaining) dFSMstate = FSM_PAUSE;         
+            break;
+          }
+          case  FSM_PAUSE :                     // PAUSE.
+          {
+                 if (dButtonStart & !dDoorOpen & dTimeRemaining) dFSMstate = FSM_DONE;
+          if (dButtonStop) dFSMstate = FSM_COOK;   
+          
+            break;
+          }
+          case  FSM_DONE :                      // DONE.
+          {
+           dFSMstate = FSM_IDLE; 
+          
+            break;
+          }       
+        
+          default       : {dFSMstate = FSM_IDLE; break;}
+        
+        
+        
+        
         }
-        else
-        if (dFSMstate == FSM_PAUSE)             // pause state.
-        {
-          pc.printf("\n\r FSM_PAUSE");
-          if (dButtonStart & !dDoorOpen & dTimeRemaining) dFSMstate = FSM_DONE;
-          if (dButtonStop) dFSMstate = FSM_COOK;
-        }       
-        else
-        if (dFSMstate == FSM_DONE)              // incomplete.
-        {
-          pc.printf("\n\r FSM_DONE");
- //         timerFSMdone.reset();                 // reset the timer.
-          dFSMstate = FSM_IDLE;                 // end of beep.
-        }      
+        
       
+   
                                             
         if (dFSMstate != dFSMstateLast)         // if just changed state.
         {
-                                                // tell cookRemainingTime the new state.
-          queueFSMnewState.put((int* )dFSMstate,1);
-        
+
         
         }