homework 7

Dependencies:   mbed-rtos mbed C12832_lcd LM75B

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);
 
-        }