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