Files
IOBoard/src/main/java/com/henrypump/io/DigitalOut.java
Patrick McDonagh 4ae4b314c5 Adds initial files
2017-06-14 18:04:37 -05:00

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();
}
}
}