X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;ds=sidebyside;f=dsl%2Fruntime%2Fsrc%2Fnl%2Fru%2Fdes%2FMarster.java;h=83bc18405152781832cb79b0eac6d4c8ea25bfcd;hb=8880a95aedaf51c028818910b64f85472d96c14e;hp=ad31306f01450f5004323928b9cad237bda3269f;hpb=08b6c73b2092b16b5dc1c0f2884d2e9c49c445af;p=des2015.git diff --git a/dsl/runtime/src/nl/ru/des/Marster.java b/dsl/runtime/src/nl/ru/des/Marster.java index ad31306..83bc184 100644 --- a/dsl/runtime/src/nl/ru/des/Marster.java +++ b/dsl/runtime/src/nl/ru/des/Marster.java @@ -1,7 +1,13 @@ package nl.ru.des; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; import java.util.LinkedList; +import java.util.Random; +import lejos.hardware.Sound; import lejos.hardware.ev3.EV3; import lejos.hardware.ev3.LocalEV3; import lejos.hardware.lcd.Font; @@ -16,13 +22,13 @@ import lejos.hardware.sensor.EV3UltrasonicSensor; import lejos.hardware.sensor.NXTLightSensor; import lejos.robotics.RegulatedMotor; import lejos.robotics.SampleProvider; -import lejos.robotics.subsumption.Arbitrator; import nl.ru.des.sensors.BTController; import nl.ru.des.sensors.RemoteSensors; import nl.ru.des.sensors.SensorCollector; public class Marster { public static Arbitrator arb; + public static Random random; @SuppressWarnings("resource") public static void main(String[] args) { @@ -52,6 +58,18 @@ public class Marster { BTController.startSlave(); rs.start(BTController.buf); } else { +// try { +// InputStream inp = Marster.class.getResourceAsStream("nl/ru/des/sound/rick.wav"); +// FileOutputStream out = new FileOutputStream("rick.wav"); +// byte buffer[] = new byte[2048]; +// while(inp.read(buffer)>0){ +// out.write(buffer); +// } +// inp.close(); +// out.close(); +// } catch (IOException e) { +// e.printStackTrace(); +// } String slave = brick.getName().equalsIgnoreCase("Rover5") ? "Rover6" : "Rover8"; LCDPrinter.print("Starting as as master..."); LCDPrinter.print("My name is " + brick.getName()); @@ -62,11 +80,11 @@ public class Marster { RegulatedMotor measMotor = new EV3MediumRegulatedMotor(MotorPort.C); leftMotor.setSpeed(Constants.speed); rightMotor.setSpeed(Constants.speed); - measMotor.setSpeed(100); + measMotor.setSpeed(50); rightMotor.setAcceleration(Constants.acceleration); leftMotor.setAcceleration(Constants.acceleration); measMotor.setAcceleration(100); - + LCDPrinter.print("Loading touch sensors..."); SampleProvider leftLight = new NXTLightSensor(brick.getPort("S1")).getRedMode(); SampleProvider rightLight = new NXTLightSensor(brick.getPort("S2")).getRedMode(); @@ -75,17 +93,20 @@ public class Marster { SampleProvider backUltra = new EV3UltrasonicSensor(brick.getPort("S3")).getDistanceMode(); LCDPrinter.print("Loading gyro sensor..."); - SampleProvider gyro = new EV3GyroSensor(brick.getPort("S4")).getAngleAndRateMode(); + SensorCollector sc = new SensorCollector(backUltra, leftLight, rightLight, new EV3GyroSensor(brick.getPort("S4"))); - SensorCollector sc = new SensorCollector(backUltra, leftLight, rightLight, gyro); BTController.startMaster(slave, sc); LCDPrinter.print("Finished loading"); LinkedList missions = Missions.getMissions(sc, rightMotor, leftMotor, measMotor); + random = new Random(); for(Mission m : missions){ LCDPrinter.print("Start " + m.name + " mission..."); arb = new Arbitrator(m.behaviours); + sc.reset(); arb.start(); + LCDPrinter.print(m.name + " finished!!1one!"); } +// Sound.playSample(new File("rick.wav")); } } } \ No newline at end of file