Exemplo n.º 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);
            }
        }
Exemplo n.º 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);
            }
        }
Exemplo n.º 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));
            }
        }
Exemplo n.º 4
0
 public abstract bool ColorSensor(Values.Sensor sensor, Values.SensorColors color);
Exemplo n.º 5
0
 public abstract Vector3 GetRGBSensorValue(Values.Sensor sensor);
Exemplo n.º 6
0
 public abstract float GetSensorValue(Values.Sensor sensor);