Exemple #1
0
        public override float GetSensorValue(Values.Sensor sensor)
        {
            switch (sensor)
            {
            case Values.Sensor.TripMeterL:
                return(LeftEncoder.Steps);

            case Values.Sensor.TripMeterR:
                return(RightEncoder.Steps);

            case Values.Sensor.Sensor1:
                return(Plate1.Read <float>() ?? -1F);

            case Values.Sensor.Sensor2:
                return(Plate2.Read <float>() ?? -1F);

            case Values.Sensor.Sensor3:
                return(Plate3.Read <float>() ?? -1F);

            case Values.Sensor.Sensor4:
                return(Plate4.Read <float>() ?? -1F);

            case Values.Sensor.Sensor5:
                return(Plate5.Read <float>() ?? -1F);

            default:
                return(-1F);
            }
        }
Exemple #2
0
        public override bool ColorSensor(Values.Sensor sensor, Values.SensorColors color)
        {
            var sensor_color = GetRGBSensorValue(sensor) / 255F;

            switch (color)
            {
            case Values.SensorColors.Unknown:
                bool isUnknown = false;

                foreach (var test_color in AllColors)
                {
                    isUnknown |= (sensor_color - MapColor(test_color)).magnitude < 0.25F;
                }

                return(isUnknown);

            default:
                var distance = (sensor_color - MapColor(color)).magnitude;
                return(distance < 0.25F);
            }
        }
Exemple #3
0
        public override Vector3 GetRGBSensorValue(Values.Sensor sensor)
        {
            switch (sensor)
            {
            case Values.Sensor.Sensor1:
                return(Plate1.Read <Vector3>() ?? new Vector3(-1F, -1F, -1F));

            case Values.Sensor.Sensor2:
                return(Plate2.Read <Vector3>() ?? new Vector3(-1F, -1F, -1F));

            case Values.Sensor.Sensor3:
                return(Plate3.Read <Vector3>() ?? new Vector3(-1F, -1F, -1F));

            case Values.Sensor.Sensor4:
                return(Plate4.Read <Vector3>() ?? new Vector3(-1F, -1F, -1F));

            case Values.Sensor.Sensor5:
                return(Plate5.Read <Vector3>() ?? new Vector3(-1F, -1F, -1F));

            default:
                return(new Vector3(-1F, -1F, -1F));
            }
        }
Exemple #4
0
 public abstract bool ColorSensor(Values.Sensor sensor, Values.SensorColors color);
Exemple #5
0
 public abstract Vector3 GetRGBSensorValue(Values.Sensor sensor);
Exemple #6
0
 public abstract float GetSensorValue(Values.Sensor sensor);