+++ /dev/null
-package nl.ru.des;
-
-import java.util.LinkedList;
-
-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.port.MotorPort;
-import lejos.hardware.sensor.EV3ColorSensor;
-import lejos.hardware.sensor.EV3TouchSensor;
-import lejos.hardware.sensor.EV3UltrasonicSensor;
-import lejos.robotics.SampleProvider;
-import lejos.robotics.subsumption.Arbitrator;
-
-public class MarsRover {
- public static final float SAMPLERATE = 100;
- public static Arbitrator arb;
-
- @SuppressWarnings("resource")
- public static void main(String[] args) {
- EV3 brick = LocalEV3.get();
- TextLCD tlcd = brick.getTextLCD(Font.getSmallFont());
- LCDPrinter.startLCDPrinter(tlcd);
- System.setOut(LCDPrinter.getPrefixedPrintstream("out: ", tlcd));
- System.setErr(LCDPrinter.getPrefixedPrintstream("err: ", tlcd));
-
- LCDPrinter.print("Loading keylistener...");
- brick.getKey("Escape").addKeyListener(new ButtonListener());
-
- LCDPrinter.print("Loading motors...");
- EV3LargeRegulatedMotor rightMotor = new EV3LargeRegulatedMotor(MotorPort.D);
- EV3LargeRegulatedMotor leftMotor = new EV3LargeRegulatedMotor(MotorPort.A);
- leftMotor.setSpeed(Constants.speed);
- rightMotor.setSpeed(Constants.speed);
- rightMotor.setAcceleration(Constants.acceleration);
- leftMotor.setAcceleration(Constants.acceleration);
-
- LCDPrinter.print("Loading touch sensors...");
- SampleProvider leftTouch = new EV3TouchSensor(brick.getPort("S1")).getTouchMode();
- SampleProvider rightTouch = new EV3TouchSensor(brick.getPort("S4")).getTouchMode();
-
- LCDPrinter.print("Loading color sensor...");
- SampleProvider color = new EV3ColorSensor(brick.getPort("S2")).getColorIDMode();
-
- LCDPrinter.print("Loading ultrasone sensor...");
- SampleProvider ultraSonic = new EV3UltrasonicSensor(brick.getPort("S3")).getDistanceMode();
-
- LCDPrinter.print("Initializing behaviours...");
- SensorCollector sensors = new SensorCollector(ultraSonic, color, leftTouch, rightTouch);
-
- LCDPrinter.print("Initializing color collector...");
- ColorMemory colorMemory = new ColorMemory(color);
-
- Arbitrator a;
- LinkedList<Mission> missions = Missions.getMissions(sensors, rightMotor, leftMotor, colorMemory);
- for(Mission m : missions){
- LCDPrinter.print("Start " + m.name + " mission...");
- a = new Arbitrator(m.behaviours);
- a.start();
- }
- }
-}
\ No newline at end of file