@@ -0,0 +1,2200 @@
+package com.easternedgerobotics.rov.integration;%0A%0Aimport com.easternedgerobotics.rov.event.EventPublisher;%0Aimport com.easternedgerobotics.rov.event.UdpEventPublisher;%0Aimport com.easternedgerobotics.rov.io.Motor;%0Aimport com.easternedgerobotics.rov.io.pololu.PololuMaestro;%0Aimport com.easternedgerobotics.rov.io.pololu.PololuMaestroOutputChannel;%0Aimport com.easternedgerobotics.rov.value.SpeedValue;%0A%0Aimport com.pi4j.io.serial.Serial;%0Aimport com.pi4j.io.serial.SerialFactory;%0A%0Aimport rx.Observable;%0A%0A@SuppressWarnings(%7B%22checkstyle:magicnumber%22%7D)%0Apublic final class IndividualMotorTest %7B%0A    private IndividualMotorTest() %7B%0A%0A    %7D%0A%0A    public static void main(final String%5B%5D args) throws InterruptedException %7B%0A        final byte deviceNumber = Byte.parseByte(args%5B0%5D);%0A        final byte channel = Byte.parseByte(args%5B1%5D);%0A        final int baudRate = 115200;%0A%0A        final Serial serial = SerialFactory.createInstance();%0A        final PololuMaestro maestro = new PololuMaestro(serial, deviceNumber);%0A        serial.open(%22/dev/ttyACM0%22, baudRate);%0A%0A        final EventPublisher eventPublisher = new UdpEventPublisher(%22255.255.255.255%22);%0A%0A        final Observable%3CSpeedValue%3E speeds = eventPublisher.valuesOfType(SpeedValue.class);%0A        final SpeedValue speed = SpeedValue.create(%22Test%22);%0A%0A        final Motor motor = new Motor(%0A            speeds.filter(x -%3E x.getName().equals(%22Test%22)),%0A            new PololuMaestroOutputChannel(maestro, channel, Motor.MAX_FWD, Motor.MAX_REV));%0A%0A        System.out.println(%22Test Started%22);%0A        System.out.println(%22Motor is stopped%22);%0A        Thread.sleep(1000);%0A%0A        eventPublisher.emit(speed.setSpeed(.5f));%0A        Thread.sleep(1000);%0A        System.out.println(%22Motor on half power clockwise%22);%0A        motor.write();%0A%0A        eventPublisher.emit(speed.setSpeed(0f));%0A        Thread.sleep(1000);%0A        System.out.println(%22Motor is stopped%22);%0A        motor.write();%0A%0A        eventPublisher.emit(speed.setSpeed(-.5f));%0A        Thread.sleep(1000);%0A        System.out.println(%22Motor on half power counter-clockwise%22);%0A        motor.write();%0A%0A        Thread.sleep(1000);%0A        System.out.println(%22Motor is stopped%22);%0A        motor.writeZero();%0A    %7D%0A%7D%0A

Add individual test for motors