package nl.ru.des.sensors;
-import lejos.hardware.lcd.LCD;
+import lejos.hardware.sensor.EV3GyroSensor;
import lejos.robotics.SampleProvider;
-import lejos.utility.Delay;
public class SensorCollector implements MessageHandler{
- public static final int DELAY = 100;
+ public static final int DELAY = 200;
private static final float DANGER_DISTANCE_FRONT = 0.15f;
private static final float DANGER_DISTANCE_BACK = 0.035f;
private static final float DANGER_LIGHT = 0.45f;
//Local sensors
+ private EV3GyroSensor gyroSensor;
private SampleProvider ultra, leftLight, rightLight, gyro;
private float[] ultraSamples, leftLightSamples, rightLightSamples, gyroSamples;
private long ultraTime, leftLightTime, rightLightTime, gyroTime;
public SensorCollector(SampleProvider ultra,
SampleProvider leftLight,
SampleProvider rightLight,
- SampleProvider gyro){
+ EV3GyroSensor gyro){
this.ultra = ultra;
this.leftLight = leftLight;
this.rightLight = rightLight;
- this.gyro = gyro;
+ this.gyroSensor = gyro;
+ this.gyro = gyro.getAngleMode();
ultraSamples = new float[ultra.sampleSize()];
gyroSamples = new float[gyro.sampleSize()];
leftLightSamples = new float[leftLight.sampleSize()];
return gyroSamples[0];
}
+ public void resetGyro(){
+ gyroSensor.reset();
+ }
+
//Remote sensors
public boolean collected(int[] colors){
return false;