Beispiel #1
0
        private void RangerDistanceChangedEvent(object sender, RangerSensorEventArgs e)
        {
            //Debug.WriteLine("Ranger: " + e.Name + "         RangeMeters=" + e.RangeMeters);

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

                switch (e.Name)
                {
                case "ParkingSonar":
                    sensorsData.RangerFrontRightMeters = e.RangeMeters[0];
                    sensorsData.RangerFrontLeftMeters  = e.RangeMeters[1];
                    sensorsData.RangerRearRightMeters  = e.RangeMeters[2];
                    sensorsData.RangerRearLeftMeters   = e.RangeMeters[3];

                    sensorsData.RangerFrontRightMetersTimestamp    = sensorsData.RangerFrontLeftMetersTimestamp =
                        sensorsData.RangerRearRightMetersTimestamp = sensorsData.RangerRearLeftMetersTimestamp = e.TimeTicks;
                    break;

                default:
                    throw new NotImplementedException("Error: RangerDistanceChangedEvent: unknown name " + e.Name);
                }

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

                this.currentSensorsData = sensorsData;
            }
        }
        void RangerDistanceChangedEvent(object sender, RangerSensorEventArgs e)
        {
            //Debug.WriteLine("Ranger: " + e.Name + "         RangeMeters=" + e.RangeMeters);

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

                switch (e.Name)
                {
                case "IrLeft":
                    sensorsData.IrLeftMeters          = e.RangeMeters[0];
                    sensorsData.IrLeftMetersTimestamp = e.TimeTicks;
                    break;

                case "IrRight":
                    sensorsData.IrRightMeters          = e.RangeMeters[0];
                    sensorsData.IrRightMetersTimestamp = e.TimeTicks;
                    break;

                case "IrFront":
                    sensorsData.IrFrontMeters          = e.RangeMeters[0];
                    sensorsData.IrFrontMetersTimestamp = e.TimeTicks;
                    break;

                case "IrRear":
                    sensorsData.IrRearMeters          = e.RangeMeters[0];
                    sensorsData.IrRearMetersTimestamp = e.TimeTicks;
                    break;

                case "SonarLeft":
                    sensorsData.RangerFrontLeftMeters          = e.RangeMeters[0];
                    sensorsData.RangerFrontLeftMetersTimestamp = e.TimeTicks;
                    break;

                case "SonarRight":
                    sensorsData.RangerFrontRightMeters          = e.RangeMeters[0];
                    sensorsData.RangerFrontRightMetersTimestamp = e.TimeTicks;
                    break;
                }

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

                this.currentSensorsData = sensorsData;
            }
        }