   for(int i=0; i<(TOTAL_NUM_OF_PINS-NUM_OF_ANALOG_PINS); i++)
   {
     g_aPins[i].is_analog = false;
-    g_aPins[i].is_sensor = false;
+    g_aPins[i].is_input = false;
   }
 
   // Initialize pins A0-A5 as analog in pins
   for(int i=NUM_OF_DIGITAL_PINS; i<TOTAL_NUM_OF_PINS; i++)
   {
     g_aPins[i].is_analog = true;
-    g_aPins[i].is_sensor = true;
-  }
-
+    g_aPins[i].is_input = true;
+  }
+
+  // Set the HW state
+  setBoardState();
 
   
   /*
   char label[25];
   boolean is_analog;
-  boolean is_sensor;
+  boolean is_input;
   float value;
   int connections[20];
 } Pin;

//char g_acMessage[] = "{\"status\":\"OK\"}";
//char g_acMessage[] = "{\"status\":\"ERROR\"}";
char g_acMessage[] = "{\"status\":\"OTHER ERROR\"}";
//,\"pins\":{\"13\":{\"label\":\"LED ON 13\",\"is_analog\":\"false\",\"is_sensor\":\"false\",\"value\":\"0.0\",\"connections\":[]}},\"connections\":[]}\"";

void loop()
{

   if (millis() - last_print > 1000) {

    //aJsonObject *msg = aJson.parse("{\"status\":OK,\"pins\":{\"13\":{\"label\":\"LED ON 13\",\"is_analog\":\"false\",\"is_sensor\":\"false\",\"value\":\"0.0\",\"connections\":[]}},\"connections\":[]}\"");
//    aJsonObject *msg = aJson.parse(g_acMessage);
    processMessage(g_acMessage);
     

  //if (serial_stream.available()) {
    // Something real on input, let's take a look.
    //aJsonObject *msg = aJson.parse(&serial_stream);
    //aJsonObject *msg = aJson.parse("{\"status\":OK,\"pins\":{\"13\":{\"label\":\"LED ON 13\",\"is_analog\":\"false\",\"is_input\":\"false\",\"value\":\"0.0\",\"connections\":[]}},\"connections\":[]}\"");
    // aJsonObject *msg = aJson.parse(g_acMessage);
    // processMessage(msg);
    // aJson.deleteItem(msg);
