Search in sources :

Example 1 with DyIO

use of com.neuronrobotics.sdk.dyio.DyIO in project java-bowler by NeuronRobotics.

the class RealLineTrack method main.

/**
 * @param args
 */
public static void main(String[] args) {
    final DyIO d = new DyIO();
    ConnectionDialog.getBowlerDevice(d);
    if (d.isAvailable()) {
        new Thread() {

            public void run() {
                DyPIDConfiguration dypid = new // PID group 0
                DyPIDConfiguration(// PID group 0
                0, // Input channel number
                23, // Input mode
                DyIOChannelMode.COUNT_IN_INT, // Output Channel
                11, // Output mode
                DyIOChannelMode.SERVO_OUT);
                PIDConfiguration pid = new // PID group
                PIDConfiguration(// PID group
                0, // enabled
                true, // inverted
                false, // Async
                true, // Kp
                1, // Ki
                1, .5, 0, false, // Kd
                false);
                d.ConfigureDynamicPIDChannels(dypid);
                d.ConfigurePIDController(pid);
                PIDChannel drive = d.getPIDChannel(0);
                ServoChannel srv = new ServoChannel(d.getChannel(10));
                AbstractRobotDrive mainRobot = new AckermanBot(new ServoRotoryLink(srv, new LinkConfiguration(98, 51, 143, 1)), drive);
                AbstractSensor line = new LineSensor(new AnalogInputChannel(d.getChannel(14), true), null, new AnalogInputChannel(d.getChannel(13), true));
            // new LineTrack().runTrack(mainRobot,line);
            }
        }.start();
    } else {
        System.out.println("Failed");
        d.disconnect();
    }
}
Also used : AnalogInputChannel(com.neuronrobotics.sdk.dyio.peripherals.AnalogInputChannel) PIDConfiguration(com.neuronrobotics.sdk.pid.PIDConfiguration) DyPIDConfiguration(com.neuronrobotics.sdk.dyio.dypid.DyPIDConfiguration) DyPIDConfiguration(com.neuronrobotics.sdk.dyio.dypid.DyPIDConfiguration) PIDChannel(com.neuronrobotics.sdk.pid.PIDChannel) ServoChannel(com.neuronrobotics.sdk.dyio.peripherals.ServoChannel) LinkConfiguration(com.neuronrobotics.sdk.addons.kinematics.LinkConfiguration) DyIO(com.neuronrobotics.sdk.dyio.DyIO) ServoRotoryLink(com.neuronrobotics.sdk.addons.kinematics.ServoRotoryLink)

Example 2 with DyIO

use of com.neuronrobotics.sdk.dyio.DyIO in project java-bowler by NeuronRobotics.

the class RealTimeLineTrackWithPID method main.

/**
 * @param args
 */
public static void main(String[] args) {
    try {
        DyIO.disableFWCheck();
        DyIO dyio = new DyIO();
        // dyio.SetPrintModes(true, true);
        if (!ConnectionDialog.getBowlerDevice(dyio)) {
            System.exit(0);
        }
        new RealTimeLineTrackWithPID(dyio);
    } catch (Exception ex) {
        ex.printStackTrace();
        System.exit(0);
    }
}
Also used : DyIO(com.neuronrobotics.sdk.dyio.DyIO)

Example 3 with DyIO

use of com.neuronrobotics.sdk.dyio.DyIO in project java-bowler by NeuronRobotics.

the class DCMotorTest method main.

public static void main(String[] args) throws InterruptedException {
    DyIO dyio = new DyIO();
    if (!ConnectionDialog.getBowlerDevice(dyio)) {
        System.exit(1);
    }
    DCMotorOutputChannel dc = new DCMotorOutputChannel(dyio.getChannel(4));
    // Loop 10 times setting the dc output
    float time = 5;
    for (int i = 0; i < 10; i++) {
        System.out.println("Moving.");
        // Set the velocity from off to full
        int pos = ((i % 2 == 0) ? 128 : 0);
        dc.setValue(pos);
        // pause between cycles so that the changes are visible
        Thread.sleep((long) (time * 1000));
    }
    dyio.disconnect();
    System.exit(0);
}
Also used : DyIO(com.neuronrobotics.sdk.dyio.DyIO) DCMotorOutputChannel(com.neuronrobotics.sdk.dyio.peripherals.DCMotorOutputChannel)

Example 4 with DyIO

use of com.neuronrobotics.sdk.dyio.DyIO in project java-bowler by NeuronRobotics.

the class DigitalInputTestSync method main.

/**
 * @param args
 * @throws InterruptedException
 */
public static void main(String[] args) throws InterruptedException {
    DyIO dyio = new DyIO();
    if (!ConnectionDialog.getBowlerDevice(dyio)) {
        System.exit(1);
    }
    Log.enableDebugPrint();
    DigitalInputChannel dig = new DigitalInputChannel(dyio.getChannel(0));
    // Loop forever printing out the state of the button
    while (true) {
        System.out.println(dig.isHigh());
        Thread.sleep(100);
    }
}
Also used : DigitalInputChannel(com.neuronrobotics.sdk.dyio.peripherals.DigitalInputChannel) DyIO(com.neuronrobotics.sdk.dyio.DyIO)

Example 5 with DyIO

use of com.neuronrobotics.sdk.dyio.DyIO in project java-bowler by NeuronRobotics.

the class DyIONamespaceTester method main.

/**
 * @param args
 */
public static void main(String[] args) {
    DyIO dyio = new DyIO();
    if (!ConnectionDialog.getBowlerDevice(dyio)) {
        System.exit(1);
    }
    dyio.getRevisions();
    String name = dyio.getInfo();
    dyio.setInfo("My DyIO");
    String newName = dyio.getInfo();
    dyio.setInfo(name);
    double volts = dyio.getBatteryVoltage(true);
    dyio.setServoPowerSafeMode(true);
    System.out.println("Name was: " + name + " set to " + newName);
    System.out.println("Set to " + newName);
    System.out.println("Voltage = " + volts + " bank A = " + dyio.getBankAState() + " bank B = " + dyio.getBankBState());
// System.exit(0);
}
Also used : DyIO(com.neuronrobotics.sdk.dyio.DyIO)

Aggregations

DyIO (com.neuronrobotics.sdk.dyio.DyIO)25 ServoChannel (com.neuronrobotics.sdk.dyio.peripherals.ServoChannel)5 AnalogInputChannel (com.neuronrobotics.sdk.dyio.peripherals.AnalogInputChannel)3 CounterOutputChannel (com.neuronrobotics.sdk.dyio.peripherals.CounterOutputChannel)3 DigitalInputChannel (com.neuronrobotics.sdk.dyio.peripherals.DigitalInputChannel)3 ByteList (com.neuronrobotics.sdk.common.ByteList)2 DyIOChannelMode (com.neuronrobotics.sdk.dyio.DyIOChannelMode)2 BowlerBoardDevice (com.neuronrobotics.replicator.driver.BowlerBoardDevice)1 NRPrinter (com.neuronrobotics.replicator.driver.NRPrinter)1 DHParameterKinematics (com.neuronrobotics.sdk.addons.kinematics.DHParameterKinematics)1 LinkConfiguration (com.neuronrobotics.sdk.addons.kinematics.LinkConfiguration)1 ServoRotoryLink (com.neuronrobotics.sdk.addons.kinematics.ServoRotoryLink)1 NRBootLoader (com.neuronrobotics.sdk.bootloader.NRBootLoader)1 BowlerCamDevice (com.neuronrobotics.sdk.bowlercam.device.BowlerCamDevice)1 BowlerAbstractConnection (com.neuronrobotics.sdk.common.BowlerAbstractConnection)1 DyPIDConfiguration (com.neuronrobotics.sdk.dyio.dypid.DyPIDConfiguration)1 CounterInputChannel (com.neuronrobotics.sdk.dyio.peripherals.CounterInputChannel)1 DCMotorOutputChannel (com.neuronrobotics.sdk.dyio.peripherals.DCMotorOutputChannel)1 DigitalOutputChannel (com.neuronrobotics.sdk.dyio.peripherals.DigitalOutputChannel)1 PWMOutputChannel (com.neuronrobotics.sdk.dyio.peripherals.PWMOutputChannel)1