Implemented finding park space
[des2015.git] / dsl / runtime / src / nl / ru / des / sensors / SensorCollector.java
index 59fe6cd..db10870 100644 (file)
@@ -1,6 +1,5 @@
 package nl.ru.des.sensors;
 
-import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Set;
 
@@ -10,11 +9,11 @@ import lejos.robotics.SampleProvider;
 public class SensorCollector implements MessageHandler{
        public static final int DELAY = 200;
 
-       private static final float DANGER_DISTANCE_FRONT = 0.15f;
+       private static final float DANGER_DISTANCE_FRONT = 0.175f;
        private static final float DANGER_DISTANCE_BACK = 0.035f;
-       private static final float DANGER_LIGHT = 0.45f;
+       private static final float DANGER_LIGHT = 0.40f;
        
-       private Set<Integer> collectedColors;
+       private Set<String> variables;
        
        //Local sensors
        private EV3GyroSensor gyroSensor;
@@ -45,7 +44,11 @@ public class SensorCollector implements MessageHandler{
                rightLightTime = System.currentTimeMillis();
                gyroTime = System.currentTimeMillis();
                
-               collectedColors = new HashSet<Integer>();
+               color = -1;
+               leftTouch = false;
+               rightTouch = false;
+               frontUltra = Float.MAX_VALUE;
+               variables = new HashSet<String>();
        }
        
        //Local sensors
@@ -86,12 +89,16 @@ public class SensorCollector implements MessageHandler{
        }
        
        //Remote sensors
-       public void resetColors(){
-               collectedColors.clear();
+       public void reset(){
+               variables.clear();
        }
        
-       public boolean collected(int[] colors){
-               return collectedColors.containsAll(Arrays.asList(colors));
+       public boolean collected(String var){
+               return variables.contains(var);
+       }
+
+       public void saveVar(String var) {
+               variables.add(var);
        }
        
        public int color(){
@@ -116,7 +123,6 @@ public class SensorCollector implements MessageHandler{
                switch(RemoteSensors.RemoteSensorEnum.values()[Integer.valueOf(Character.toString(m.charAt(0)))]){
                case COLOR:
                        color = Integer.valueOf(s);
-                       collectedColors.add(color);
                        break;
                case LEFT:
                        leftTouch = Integer.valueOf(s)==1;