# HG changeset patch
# User moel.mich
# Date 1269695074 0
# Node ID 05bf128434c6c1a20a7126a755dab2821cd23c5c
# Parent  3fdadd4a830f35a9fb5c34102517f8fe54d66763
Fixed Issue 20.

diff -r 3fdadd4a830f -r 05bf128434c6 Hardware/LPC/F718XX.cs
--- a/Hardware/LPC/F718XX.cs	Sat Mar 27 12:57:09 2010 +0000
+++ b/Hardware/LPC/F718XX.cs	Sat Mar 27 13:04:34 2010 +0000
@@ -130,8 +130,6 @@
         sensor.Value = voltageGains[sensor.Index] * 0.001f * (value << 4);
         if (sensor.Value > 0)
           ActivateSensor(sensor);
-        else
-          DeactivateSensor(sensor);
       }
      
       foreach (Sensor sensor in temperatures) {
@@ -156,7 +154,7 @@
                 sensor.Value = value / 128.0f;
                 ActivateSensor(sensor);
               } else {
-                DeactivateSensor(sensor);
+                sensor.Value = null;
               }
           } break;
           default: {
@@ -165,8 +163,6 @@
             sensor.Value = value + sensor.Parameters[0].Value;
             if (value < sbyte.MaxValue && value > 0)
               ActivateSensor(sensor);
-            else
-              DeactivateSensor(sensor);
           } break;
         }
       }
@@ -180,7 +176,7 @@
           if (sensor.Value > 0)
             ActivateSensor(sensor);
         } else {
-          DeactivateSensor(sensor);
+          sensor.Value = null;
         }
       }      
     }
diff -r 3fdadd4a830f -r 05bf128434c6 Hardware/LPC/IT87XX.cs
--- a/Hardware/LPC/IT87XX.cs	Sat Mar 27 12:57:09 2010 +0000
+++ b/Hardware/LPC/IT87XX.cs	Sat Mar 27 13:04:34 2010 +0000
@@ -165,9 +165,7 @@
 
         sensor.Value = voltageGains[sensor.Index] * 0.001f * (value << 4);
         if (sensor.Value > 0)
-          ActivateSensor(sensor);
-        else
-          DeactivateSensor(sensor);
+          ActivateSensor(sensor);        
       }
 
       foreach (Sensor sensor in temperatures) {
@@ -179,9 +177,7 @@
 
         sensor.Value = value + sensor.Parameters[0].Value;
         if (value < sbyte.MaxValue && value > 0)
-          ActivateSensor(sensor);
-        else
-          DeactivateSensor(sensor);
+          ActivateSensor(sensor);        
       }
 
       foreach (Sensor sensor in fans) {
@@ -198,7 +194,7 @@
           if (sensor.Value > 0)
             ActivateSensor(sensor);
         } else {
-          DeactivateSensor(sensor);
+          sensor.Value = null;
         }
       }      
     }   
diff -r 3fdadd4a830f -r 05bf128434c6 Hardware/LPC/W836XX.cs
--- a/Hardware/LPC/W836XX.cs	Sat Mar 27 12:57:09 2010 +0000
+++ b/Hardware/LPC/W836XX.cs	Sat Mar 27 13:04:34 2010 +0000
@@ -215,8 +215,6 @@
           }
           if (sensor.Value > 0)
             ActivateSensor(sensor);
-          else
-            DeactivateSensor(sensor);
         } else {
           // Battery voltage
           bool valid = (ReadByte(0, 0x5D) & 0x01) > 0;
@@ -224,8 +222,9 @@
             sensor.Value =
               0.008f * voltageGains[sensor.Index] * ReadByte(5, 0x51);
             ActivateSensor(sensor);
-          } else
-            DeactivateSensor(sensor);
+          } else {
+            sensor.Value = null;
+          }
         }
       }
 
@@ -241,7 +240,7 @@
           sensor.Value = temperature + sensor.Parameters[0].Value;
           ActivateSensor(sensor);
         } else {
-          DeactivateSensor(sensor);
+          sensor.Value = null;
         }
       }