X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=dsl%2Fruntime%2Fsrc%2Fnl%2Fru%2Fdes%2Fsensors%2FRemoteSensors.java;h=642a5e61d7ac861715a2f499dc60f76d646a2bfa;hb=8880a95aedaf51c028818910b64f85472d96c14e;hp=d25adb36c68a5e0df5c25cf15d7337322a45332a;hpb=426ca40778af548128b5d5f37705fffcf1cc9c7b;p=des2015.git diff --git a/dsl/runtime/src/nl/ru/des/sensors/RemoteSensors.java b/dsl/runtime/src/nl/ru/des/sensors/RemoteSensors.java index d25adb3..642a5e6 100644 --- a/dsl/runtime/src/nl/ru/des/sensors/RemoteSensors.java +++ b/dsl/runtime/src/nl/ru/des/sensors/RemoteSensors.java @@ -3,10 +3,11 @@ package nl.ru.des.sensors; import java.util.Queue; import lejos.robotics.SampleProvider; +import lejos.utility.Delay; import nl.ru.des.LCDPrinter; public class RemoteSensors{ - public static final int DELAY = 250; + public static final int DELAY = 200; private SampleProvider left, right, ultra, color; private float[] leftSamples, rightSamples, ultraSamples, colorSamples; private float leftLatest, rightLatest, ultraLatest, colorLatest; @@ -28,6 +29,7 @@ public class RemoteSensors{ public void start(Queue q){ long last = System.currentTimeMillis(); + Delay.msDelay(1000); LCDPrinter.print("Start sending values..."); while(true){ if(System.currentTimeMillis()-last > DELAY && q.size()<5){ @@ -38,13 +40,13 @@ public class RemoteSensors{ q.add(Integer.toString(RemoteSensorEnum.LEFT.ordinal())+Integer.toString((int)leftLatest)+"\n"); } right.fetchSample(rightSamples, 0); + if(rightSamples[0] != rightLatest){ rightLatest = rightSamples[0]; q.add(Integer.toString(RemoteSensorEnum.RIGHT.ordinal())+Integer.toString((int)rightLatest)+"\n"); } - ultra.fetchSample(ultraSamples, 0); - if(ultraSamples[0] != ultraLatest){ + if(Math.abs(ultraSamples[0] - ultraLatest) > 0.025){ ultraLatest = ultraSamples[0]; q.add(Integer.toString(RemoteSensorEnum.ULTRA.ordinal())+Float.toString(ultraLatest)+"\n"); }