 
 float getScaledPinValue(int _iInPinNum)
 {
-  //return (g_aPins[_iInPinNum].value - g_aPins[_iInPinNum].input_min)/(g_aPins[_iInPinNum].input_max - g_aPins[_iInPinNum].input_min);   
-  return (getFilteredPinValue(_iInPinNum) - g_aPins[_iInPinNum].input_min)/(g_aPins[_iInPinNum].input_max - g_aPins[_iInPinNum].input_min);   
+  
+  // No damping
+  if( g_aPins[_iInPinNum].input_max != g_aPins[_iInPinNum].input_min )
+  {
+    if( g_aPins[_iInPinNum].value >=  g_aPins[_iInPinNum].input_max)
+    { 
+      return 1.0;
+    }
+    else if( g_aPins[_iInPinNum].value <= g_aPins[_iInPinNum].input_min )
+    { 
+      return 0.0;
+    }
+    else
+    {
+      // No Damping
+      return (g_aPins[_iInPinNum].value - g_aPins[_iInPinNum].input_min)/(g_aPins[_iInPinNum].input_max - g_aPins[_iInPinNum].input_min);   
+      // Damping Enabled
+      //  return (getFilteredPinValue(_iInPinNum) - g_aPins[_iInPinNum].input_min)/(g_aPins[_iInPinNum].input_max - g_aPins[_iInPinNum].input_min);  
+    }
+  }
+  
+  return 0.0;
 }
 
 float getFilteredPinValue(int _iInPinNum)

    
  //         digitalWrite(13, LOW );
     // Serial.println("Writing board state to file");
//        writeBoardStateToFile(BOARD_CONFIG_FILE_FULL_PATH);
      // g_iWriteToFile=1;
    
//        system("shutdown -r now");

  
  // Parse file
  aJsonObject *poMsg = aJson.parse(sJsonFile);
  Serial.println("Parse File");
  Serial.println(sJsonFile);
  
  if( poMsg )
  {  
