// Detect the board we are running on
Board board = Platform.createBoard();
// Set up the digital output
final DigitalOutput out1 = board.getPin(BBBNames.P9_23).as(
DigitalOutput.class);
final DigitalOutput out2 = board.getPin(BBBNames.P9_14).as(
DigitalOutput.class);
final DigitalOutput out3 = board.getPin(BBBNames.P8_17).as(
DigitalOutput.class);
final DigitalOutput out4 = board.getPin(BBBNames.P8_16).as(
DigitalOutput.class);
final DigitalOutput out5 = board.getPin(BBBNames.P8_15).as(
DigitalOutput.class);
final DigitalOutput out6 = board.getPin(BBBNames.P8_18).as(
DigitalOutput.class);
// Set it low
out1.low();
out2.low();
out3.low();
out4.low();
out5.low();
out6.low();
// Set up a digital input
DigitalInput in1 = board.getPin(BBBNames.P8_8).as(DigitalInput.class);
DigitalInput in2 = board.getPin(BBBNames.P8_7).as(DigitalInput.class);
DigitalInput in3 = board.getPin(BBBNames.P8_10).as(DigitalInput.class);
DigitalInput in4 = board.getPin(BBBNames.P8_9).as(DigitalInput.class);
DigitalInput in5 = board.getPin(BBBNames.P8_12).as(DigitalInput.class);
DigitalInput in6 = board.getPin(BBBNames.P8_11).as(DigitalInput.class);
DigitalInput in7 = board.getPin(BBBNames.P8_14).as(DigitalInput.class);
DigitalInput in8 = board.getPin(BBBNames.P8_13).as(DigitalInput.class);
DigitalInput in9 = board.getPin(BBBNames.P9_16).as(DigitalInput.class);
DigitalInput in10 = board.getPin(BBBNames.P9_15).as(DigitalInput.class);
DigitalInput in11 = board.getPin(BBBNames.P9_18).as(DigitalInput.class);
DigitalInput in12 = board.getPin(BBBNames.P9_17).as(DigitalInput.class);
DigitalInput in13 = board.getPin(BBBNames.P9_42).as(DigitalInput.class);
DigitalInput in14 = board.getPin(BBBNames.P9_41).as(DigitalInput.class);
in1.setInterruptDebounceMs(50);
in2.setInterruptDebounceMs(50);
in3.setInterruptDebounceMs(50);
in4.setInterruptDebounceMs(50);
in5.setInterruptDebounceMs(50);
in6.setInterruptDebounceMs(50);
in7.setInterruptDebounceMs(50);
in8.setInterruptDebounceMs(50);
in9.setInterruptDebounceMs(50);
in10.setInterruptDebounceMs(50);
in11.setInterruptDebounceMs(50);
in12.setInterruptDebounceMs(50);
in13.setInterruptDebounceMs(50);
in14.setInterruptDebounceMs(50);
// Create the button with this DigitalInput
Button but1 = new Button(in1, Signal.Low);
Button but2 = new Button(in2, Signal.Low);
Button but3 = new Button(in3, Signal.Low);
Button but4 = new Button(in4, Signal.Low);
Button but5 = new Button(in5, Signal.Low);
Button but6 = new Button(in6, Signal.Low);
Button but7 = new Button(in7, Signal.Low);
Button but8 = new Button(in8, Signal.Low);
Button but9 = new Button(in9, Signal.Low);
Button but10 = new Button(in10, Signal.Low);
Button but11 = new Button(in11, Signal.Low);
Button but12 = new Button(in12, Signal.Low);
Button but13 = new Button(in13, Signal.Low);
Button but14 = new Button(in14, Signal.Low);
BulldogUtil.sleepMs(1000);
out1.high();
BulldogUtil.sleepMs(500);
step1 = true;
// Add a button listener
but1.addListener(new ButtonListener() {
public void buttonPressed() {
System.out.println("PRESSED 1");
if (step1) {
BulldogUtil.sleepMs(500);
out1.low();
}
}
public void buttonReleased() {
System.out.println("RELEASED 1");
if (step1) {
BulldogUtil.sleepMs(500);
step2 = true;
step1 = false;
out1.low();
out2.high();
}
}
});
but2.addListener(new ButtonListener() {
public void buttonPressed() {
System.out.println("PRESSED 2");
if (step2) {
BulldogUtil.sleepMs(500);
out2.low();
}
}
public void buttonReleased() {
System.out.println("RELEASED 2");
if (step2) {
BulldogUtil.sleepMs(500);
step3 = true;
step2 = false;
out2.low();
out3.high();
}
}
});
... and so on