bt working, different behaviours
[des2015.git] / dsl / runtime / src / nl / ru / des / Marster.java
index b31bb87..6353904 100644 (file)
@@ -1,21 +1,24 @@
 package nl.ru.des;
 
-import java.util.Queue;
-
 import lejos.hardware.Button;
 import lejos.hardware.ev3.EV3;
 import lejos.hardware.ev3.LocalEV3;
 import lejos.hardware.lcd.Font;
 import lejos.hardware.lcd.TextLCD;
 import lejos.hardware.motor.EV3LargeRegulatedMotor;
+import lejos.hardware.motor.EV3MediumRegulatedMotor;
 import lejos.hardware.port.MotorPort;
 import lejos.hardware.sensor.EV3ColorSensor;
 import lejos.hardware.sensor.EV3GyroSensor;
 import lejos.hardware.sensor.EV3TouchSensor;
 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;
@@ -33,6 +36,7 @@ public class Marster {
 
                if(brick.getName().equalsIgnoreCase("Rover6") || brick.getName().equalsIgnoreCase("Rover8")){
                        LCDPrinter.print("Starting as a slave...");
+                       LCDPrinter.print("My name is " + brick.getName());
                        LCDPrinter.print("Loading touch sensors...");
                        SampleProvider leftTouch = new EV3TouchSensor(brick.getPort("S1")).getTouchMode();
                        SampleProvider rightTouch = new EV3TouchSensor(brick.getPort("S2")).getTouchMode();
@@ -44,15 +48,17 @@ public class Marster {
                        SampleProvider color = new EV3ColorSensor(brick.getPort("S4")).getColorIDMode();
                        RemoteSensors rs = new RemoteSensors(leftTouch, rightTouch, frontUltra, color);
                        
-                       LCDPrinter.print("Start BT...");
-                       Queue<String> msgs = BTController.startSlave();
-                       rs.start(msgs);
+                       BTController.startSlave();
+                       rs.start(BTController.buf);
                } else {
+                       String slave = brick.getName().equalsIgnoreCase("Rover5") ? "Rover6" : "Rover8";
                        LCDPrinter.print("Starting as as master...");
+                       LCDPrinter.print("My name is " + brick.getName());
+                       LCDPrinter.print("Going to connect to: " + slave);
                        LCDPrinter.print("Loading motors...");
-                       EV3LargeRegulatedMotor rightMotor = new EV3LargeRegulatedMotor(MotorPort.A);
-                       EV3LargeRegulatedMotor leftMotor = new EV3LargeRegulatedMotor(MotorPort.B);
-                       EV3LargeRegulatedMotor measMotor = new EV3LargeRegulatedMotor(MotorPort.C);
+                       RegulatedMotor rightMotor = new EV3LargeRegulatedMotor(MotorPort.A);
+                       RegulatedMotor leftMotor = new EV3LargeRegulatedMotor(MotorPort.B);
+                       RegulatedMotor measMotor = new EV3MediumRegulatedMotor(MotorPort.C);
 //                     leftMotor.setSpeed(Constants.speed);
 //                     rightMotor.setSpeed(Constants.speed);
 //                     measMotor.setSpeed(100);
@@ -70,8 +76,7 @@ public class Marster {
                        LCDPrinter.print("Loading gyro sensor...");
                        SampleProvider gyro = new EV3GyroSensor(brick.getPort("S4")).getAngleAndRateMode();
 
-                       LCDPrinter.print("Start BT...");
-                       BTController.startMaster(brick.getName() == "Rover5" ? "Rover6" : "Rover8", new SensorCollector(backUltra, leftLight, rightLight, gyro));
+                       BTController.startMaster(slave, new SensorCollector(backUltra, leftLight, rightLight, gyro));
                        LCDPrinter.print("Finished loading");
                        Button.waitForAnyPress();
 //                     Arbitrator a;