public void UpdateSensorMessage(SensorMsg msg)
 {
     lock (lockObject)
     {
         currentMsg = msg;
     }
 }
        public static SensorMsg CreateSensorMessage(DemoSerialMsg msg)
        {
            SensorMsg sensorMsg = new SensorMsg();
            sensorMsg.Timestamp = msg.Data[0] + ":" + msg.Data[1] + ":" + msg.Data[2] + "." + msg.Data[3];

            sensorMsg.Pressure = convertIntToFloat(getInt(msg.Data, 4, 2), getInt(msg.Data, 6, 2));
            sensorMsg.Temperature = convertIntToFloat(getInt(msg.Data, 8, 1), getInt(msg.Data, 9, 1));
            sensorMsg.Humidity = convertIntToFloat(getInt(msg.Data, 10, 1), getInt(msg.Data, 11, 1));

            sensorMsg.AccelerationX = getInt(msg.Data, 12, 4);
            sensorMsg.AccelerationY = getInt(msg.Data, 16, 4);
            sensorMsg.AccelerationZ = getInt(msg.Data, 20, 4);
            sensorMsg.GyroX = getInt(msg.Data, 24, 4);
            sensorMsg.GyroY = getInt(msg.Data, 28, 4);
            sensorMsg.GyroZ = getInt(msg.Data, 32, 4);
            sensorMsg.MagnetoX = getInt(msg.Data, 36, 4);
            sensorMsg.MagnetoY = getInt(msg.Data, 40, 4);
            sensorMsg.MagnetoZ = getInt(msg.Data, 44, 4);

            return sensorMsg;
        }