homework 7
Dependencies: mbed-rtos mbed C12832_lcd LM75B
Diff: main.cpp
- Revision:
- 102:5735d9cbad00
- Parent:
- 101:33dc62b6b728
- Child:
- 103:c5e24ac35a25
--- a/main.cpp Thu Sep 12 20:50:22 2013 +0000 +++ b/main.cpp Thu Sep 12 20:57:35 2013 +0000 @@ -135,6 +135,7 @@ Timer debounceTimer; // button debounce timer. Timer beepTimer; // beep-duration timer. Timer temperatureTimer; // how often to raise temperature. + Timer doneTimer; // how long in FSM done state. Ticker tickerButtonStateManager; // manage the button states. Ticker tickerSlowClock; // generate a ~1Hz clock. @@ -194,6 +195,7 @@ debounceTimer.start(); // kick-off debounce timer. + gcInitializePipeline = 1; // tell pipeline to initialize. initialization(); // initialize variables. @@ -378,6 +380,7 @@ osEvent queueEvent; // from button state manager. beepTimer.start(); // run the beep timer. + doneTimer.start(); dBeepSeconds = BEEPTIME; @@ -388,7 +391,7 @@ while(1) // thread loop. { - pc.printf("\n\r state: %d",dFSMstate); + // pc.printf("\n\r state: %d",dFSMstate); switch (dFSMstate) // cook-mode state machine. { @@ -498,7 +501,7 @@ queueTemperatureControl.put((int *) TEMP_FREEZE,1); Thread thread_beep(&speakerThread,(void *) &dBeepSeconds); - + gcBeepEnable = 1; beepTimer.reset(); // clear the beep timer. } @@ -512,7 +515,7 @@ giRemainingTime.cControl = RT_CLEAR; // determine next state. dFSMstateLast = dFSMstate; - if (beepTimer.read() >= BEEPTIME) dFSMstate = FSM_IDLE; + if (beepTimer.read() >= BEEPTIME) {dFSMstate = FSM_IDLE; gcBeepEnable = 0;} else dFSMstate = FSM_DONE; led3 = 1; @@ -869,6 +872,10 @@ /*----------------------------------------------//----------------------------*/ void tickerBeeper(void) { + + + + static char cState = 0; if (gcBeepEnable) { @@ -877,6 +884,7 @@ } + } /*----------------------------------------------//----------------------------*/