update mart
[des2015.git] / mart / ev3 / ex2 / nl / ru / des / behaviours / AvoidHighObjectBehaviour.java
index 67ebad5..e9395f8 100644 (file)
@@ -1,32 +1,38 @@
 package nl.ru.des.behaviours;
 
+import lejos.hardware.Button;
 import lejos.hardware.motor.EV3LargeRegulatedMotor;
+import lejos.robotics.SampleProvider;
 import lejos.robotics.subsumption.Behavior;
-import nl.ru.des.sensors.UltraSoneSensor;
+import nl.ru.des.LCDPrinter;
 
-public class AvoidHighObjectBehaviour implements Behavior{
+public class AvoidHighObjectBehaviour extends ReactiveBehaviour implements Behavior {
        private static final long TURNTIME = 250;
 
-       private UltraSoneSensor ultraSone;
        private EV3LargeRegulatedMotor leftMotor;
        private EV3LargeRegulatedMotor rightMotor;
-       private boolean suppressed;
+       private float limit;
 
        public AvoidHighObjectBehaviour(EV3LargeRegulatedMotor leftMotor, EV3LargeRegulatedMotor rightMotor,
-                       UltraSoneSensor ultraSoneSensor) {
-               ultraSone = ultraSoneSensor;
+                       SampleProvider ultraSone) {
+               super(ultraSone);
                this.leftMotor = leftMotor;
                this.rightMotor = rightMotor;
+               LCDPrinter.print("Place object in turn radius and press a key");
+               Button.waitForAnyPress();
+               fetchSample();
+               limit = samples[0];
        }
 
        @Override
        public boolean takeControl() {
-               return ultraSone.getCurrentStatus();
+               fetchSample();
+               return samples[0] < limit;
        }
 
        @Override
        public void action() {
-               suppressed = false;
+               super.action();
                rightMotor.backward();
                leftMotor.forward();
                long time = System.currentTimeMillis();
@@ -36,9 +42,4 @@ public class AvoidHighObjectBehaviour implements Behavior{
                leftMotor.stop(true);
                rightMotor.stop(true);
        }
-
-       @Override
-       public void suppress() {
-               suppressed = true;
-       }
 }
\ No newline at end of file