         // HEX DUMP
         for (int i = 0; i < messageLen; i++)
         {
-          Serial.print(_message[i], HEX);
+          Serial.print(_app.rx.stream[i], HEX);
         }
         Serial.println("");
       }

      if(messageLen>4)
      {
        // Convert Byte to Sensor Data
        sensorData_union_t sensor;

        for (int k=0; k < 5; k++)
        { 
          sensor.raw[k] = _message[k];
        }

        Serial.print("Sensor=");
        Serial.print(sensor.data.id);
        Serial.print(", Temp=");
        Serial.println(sensor.data.value);

        // LCD
        _lcd.setCursor (0,1); // go to start of 2nd line
        _lcd.print(sensor.data.value);
      } 
      else
      {

#define MAIN_SENSOR_UPDATE 60000

// LCD
//LiquidCrystal_I2C _lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

// Touched
CapacitiveSensor _touch = CapacitiveSensor(touchCommonPin,touchSensPin); 

// Athmospheric Sensor 
Adafruit_BMP085 _mainSensor = Adafruit_BMP085(0);

// Sensor Defintion
typedef struct SensorStruct {
  char * name; 
  uint8_t id; // Sensor ID
  float value; 
  char * unit; // Unit
} SensorDefinition;

// Rendering
typedef struct RenderStruct {
  LiquidCrystal_I2C lcd; // LCD
  SensorDefinition * sensor; // Sensor to display
  byte tick; // Used for transition
} RenderDefinition;

// Sensor RX Data
typedef struct RxSensorDataStruct {
  byte id; // size 1
  float value; // size 4
} RxSensorDataDefinition;

typedef union RxSensorRawDataStruc{
  RxSensorDataDefinition decoded;
  uint8_t raw[5]; // total size of 5 bytes
} RxSensorRawDataDefinition;

// RX Message
typedef struct ReceiverStruct {
  uint8_t stream[VW_MAX_MESSAGE_LEN]; // Raw Rx Stream
  RxSensorRawDataDefinition value; // Decoded Value
} ReceiverDefinition;

// Main Application Structure
typedef struct ApplicationStruct {
  byte nbrSensor;
  SensorDefinition sensors[2]; // Sensors Definition
  RenderDefinition render; // LCD rendering
  ReceiverDefinition rx; // RX receiver
  unsigned long lastTouched; // Last Touched time
} ApplicationDefinition;

// Static Definition
ApplicationDefinition _app = {
  2, // Total number of sensors
  // Sensors
  {
    // Sensor #1
    {
      "Inside Temp",
      0, // Sensor ID
      -99.0, // Initial Value
      "°C"
    },
    // Sensor #2
    {
      "Outside Temp",
      42, // Sensor ID
      -99.0, // Initial Value
      "°C"
    }
  },
    // Render
  {
    LiquidCrystal_I2C(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin)
    // Init other field with 0
  },
  
  // RX Reveiver
  {
    // Init array with 0
  },
  0 // last touched
};


void setup() {
  // Led Setup
