homework 7
Dependencies: mbed-rtos mbed C12832_lcd LM75B
Diff: main.cpp
- Revision:
- 96:c8b0f29d9758
- Parent:
- 95:7e391a5951d1
- Child:
- 97:ee840478d6b3
--- a/main.cpp Thu Sep 12 19:01:21 2013 +0000 +++ b/main.cpp Thu Sep 12 19:08:28 2013 +0000 @@ -632,10 +632,12 @@ int dTempControl = 0; // temperature control. int dCurrentTimerMs; int dPreviousTimerMs; + float fLastMeasuredTemperature; osEvent queueEvent; // from button state manager. dCurrentTimerMs = 0; dPreviousTimerMs = 0; + fLastMeasuredTemperature = 0.0; temperatureTimer.start(); @@ -651,24 +653,14 @@ if (dTempControl == TEMP_READ) { gfCelsius = temperature.read(); // physical measurement. + fLastMeasuredTemperature = gfCelsius; temperatureTimer.reset(); // reset timer while we're not using it. } if (dTempControl == TEMP_CALC) - { - // fetch current timer mS. - dCurrentTimerMs = temperatureTimer.read_ms(); - - // if its been one second, - // synthesize new temperature. - if ((dCurrentTimerMs - dPreviousTimerMs) >= 1000) - { - gfCelsius += (1.0 / 6.0); - - dPreviousTimerMs = dCurrentTimerMs; // pipeline variable. - } + + gfCelsius = fLastMeasuredTemperature + (temperatureTimer.read_ms() / 6000.0); - }