     updateBoardState();
   
 // TESTING
-//  getSerialCommand(); 
+  getSerialCommand(); 
   
   if (millis() - g_last_print > 1000)
   {

  // Open File
  FILE *fp;
  char sJsonFile[CONFIG_FILE_MAX_SIZE];
 
  // Read file
  fp = fopen(_sFullFilePath, "r"); 
//  Serial.println("File Open");
  if( fp )
  {
    if( !fgets(sJsonFile, CONFIG_FILE_MAX_SIZE, fp) )
    {
 //     Serial.print("ERROR empty file: ");
 //     Serial.println(_sFullFilePath);
      
      // The file is empty for some reason. Let's use the standard init function
      //initBoardState();
      return;
    }
    /*
    else
    {
      Serial.println(sJsonFile); 
    }
    */
  }
  else
  {
 //    Serial.print("ERROR opening file: ");
//     Serial.println(_sFullFilePath);
     return;     
  }
  /*


float getScaledPinValue(int _iInPinNum)
{
  
  // 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)
