86 lines
2.2 KiB
Java
86 lines
2.2 KiB
Java
package com.henrypump.io;
|
|
|
|
import mraa.Dir;
|
|
import mraa.Gpio;
|
|
import mraa.Result;
|
|
|
|
/**
|
|
* Created by patrickjmcd on 6/14/17.
|
|
*/
|
|
public class DigitalOut {
|
|
int channel;
|
|
Gpio gpioPin;
|
|
|
|
DigitalOut(int channel){
|
|
if ((channel >=0 && channel <=5) || (channel == 8) || (channel == 9)) {
|
|
this.channel = channel;
|
|
gpioPin = new Gpio(channel);
|
|
gpioPin.dir(Dir.DIR_OUT);
|
|
} else {
|
|
System.err.println("Error: This channel does not exist,.");
|
|
System.exit(Result.ERROR_INVALID_PARAMETER.swigValue());
|
|
}
|
|
|
|
}
|
|
|
|
void write(int value){
|
|
gpioPin.write(value);
|
|
}
|
|
|
|
public static void main(String[] args){
|
|
DigitalOut dO0 = new DigitalOut(0);
|
|
DigitalOut dO1 = new DigitalOut(1);
|
|
DigitalOut dO2 = new DigitalOut(2);
|
|
DigitalOut dO3 = new DigitalOut(3);
|
|
DigitalOut dO4 = new DigitalOut(4);
|
|
DigitalOut dO5 = new DigitalOut(5);
|
|
DigitalOut redLED = new DigitalOut(8);
|
|
DigitalOut greenLED = new DigitalOut(9);
|
|
System.out.println("Testing Digital Outputs");
|
|
|
|
|
|
try {
|
|
dO0.write(1);
|
|
Thread.sleep(500);
|
|
dO1.write(1);
|
|
Thread.sleep(500);
|
|
dO2.write(1);
|
|
Thread.sleep(500);
|
|
dO3.write(1);
|
|
Thread.sleep(500);
|
|
dO4.write(1);
|
|
Thread.sleep(500);
|
|
dO5.write(1);
|
|
Thread.sleep(500);
|
|
dO5.write(0);
|
|
Thread.sleep(500);
|
|
dO4.write(0);
|
|
Thread.sleep(500);
|
|
dO3.write(0);
|
|
Thread.sleep(500);
|
|
dO2.write(0);
|
|
Thread.sleep(500);
|
|
dO1.write(0);
|
|
Thread.sleep(500);
|
|
dO0.write(0);
|
|
Thread.sleep(500);
|
|
|
|
System.out.println("Testing the status LEDs");
|
|
for (int i = 0; i < 10; i++) {
|
|
redLED.write(0);
|
|
greenLED.write(1);
|
|
Thread.sleep(250);
|
|
redLED.write(1);
|
|
greenLED.write(0);
|
|
Thread.sleep(250);
|
|
|
|
}
|
|
redLED.write(0);
|
|
greenLED.write(0);
|
|
|
|
} catch (InterruptedException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|