internal void ArduinoBrickGpsChanged(RobotAbstraction.IHardwareComponent sender)
        {
            IGps gps = (IGps)sender;

            lock (currentSensorsDataLock)
            {
                SensorsData sensorsData = new SensorsData(this.currentSensorsData);

                sensorsData.GpsLatitude = gps.Latitude;
                sensorsData.GpsLongitude = gps.Longitude;
                sensorsData.GpsAltitude = gps.Altitude;
                sensorsData.GpsNsat = gps.GpsNsat;
                sensorsData.GpsHdop = gps.GpsHdop;
                sensorsData.FixAgeMs = gps.FixAgeMs;
                sensorsData.GpsTimeUTC = gps.TimeUTC;
                sensorsData.GpsFixType = gps.FixType;

                //Debug.WriteLine(sensorsData.ToString());

                this.currentSensorsData = sensorsData;
            }
        }
        internal void ArduinoBrickOdometryChanged(RobotAbstraction.IHardwareComponent sender)
        {
            IOdometry odom = (IOdometry)sender;

            //odom.XMeters;
            //odom.YMeters;
            //odom.ThetaRadians;

            lock (currentSensorsDataLock)
            {
                SensorsData sensorsData = new SensorsData(this.currentSensorsData);

                sensorsData.WheelEncoderLeftTicks = odom.LDistanceTicks;
                sensorsData.WheelEncoderRightTicks = odom.RDistanceTicks;

                //Debug.WriteLine(sensorsData.ToString());

                this.currentSensorsData = sensorsData;
            }
        }