@Override public void invoke(GpioPin pin, PinState state) { if (targetPin != null) { targetPin.setState(state); } } }
@Override public void invoke(GpioPin pin, PinState state) { if (targetPin != null) { targetPin.blink(milliseconds); } } }
output.setShutdownOptions(false, PinState.LOW); output.addListener(new GpioPinListenerDigital() { @Override public void handleGpioPinDigitalStateChangeEvent(GpioPinDigitalStateChangeEvent event) { output.getState().isHigh(), // conditional expression output.getState())); // text to display output.low(); // or ... output.setState(PinState.LOW); output.setState(PinState.HIGH); // or ... output.high(); output.toggle(); output.pulse(1000, true); // set second argument to 'true' use a blocking call Thread.sleep(50); Future<?> future = output.blink(250, 3000);
pin.setShutdownOptions(true, PinState.LOW); pin.low(); System.out.println("--> GPIO state should be: OFF"); pin.toggle(); System.out.println("--> GPIO state should be: ON"); pin.toggle(); System.out.println("--> GPIO state should be: OFF"); pin.pulse(1000, true); // set second argument to 'true' use a blocking call
outputPin.high(); System.out.println(">>> pin: " + pin.toString() + " should be in the HIGH state."); outputPin.toggle(); System.out.println(">>> pin: " + pin.toString() + " should be in the LOW state."); outputPin.blink(1000); System.out.println(">>> pin: " + pin.toString() + " should be blinking 1 time per second."); outputPin.blink(0);
@Override public void pulse(int milliseconds) { // initiate a pulse on the GPIO pin pin.pulse(milliseconds, closedState); } }
public void sleep() { mSleepPin.low(); }
public void disable() { mEnablePin.high(); }
output.setShutdownOptions(true, PinState.LOW); output.blink(1000); System.out.println("Pin [" + output.getName() + "] should be blinking/toggling every 1 second.");
@Override public void high(GpioPinDigitalOutput... pin) { if (pin == null || pin.length == 0) { throw new IllegalArgumentException("Missing pin argument."); } // ensure the requested pin has been provisioned for (GpioPinDigitalOutput p : pin) { if (!pins.contains(p)) { throw new GpioPinNotProvisionedException(p.getPin()); } // set pin state high p.high(); } }
@Override public void low(GpioPinDigitalOutput... pin) { if (pin == null || pin.length == 0) { throw new IllegalArgumentException("Missing pin argument."); } // ensure the requested pin has been provisioned for (GpioPinDigitalOutput p : pin) { if (!pins.contains(p)) { throw new GpioPinNotProvisionedException(p.getPin()); } // set pin state low p.low(); } }
@Override public void pulse(long milliseconds, GpioPinDigitalOutput... pin) { if (pin == null || pin.length == 0) { throw new IllegalArgumentException("Missing pin argument."); } for (GpioPinDigitalOutput p : pin) { // ensure the requested pin has been provisioned if (!pins.contains(p)) { throw new GpioPinNotProvisionedException(p.getPin()); } // toggle pin state p.pulse(milliseconds); } }
@Override public void invoke(GpioPin pin, PinState state) { if (targetPin != null) { targetPin.toggle(); } } }
public EasyDriver(int drivingMode, Pin stepPin, Pin dirPin, Pin sleepPin, Pin enablePin, Pin ms1Pin, Pin ms2Pin, Pin resetPin) { mDrivingMode = drivingMode; final GpioController gpio = GpioFactory.getInstance(); // provision gpio pin #01 as an output pin and turn on mStepPin = gpio.provisionDigitalOutputPin(stepPin, "Step Pin", PinState.LOW); mDirPin = gpio.provisionDigitalOutputPin(dirPin, "Direction Pin", PinState.LOW); mSleepPin = gpio.provisionDigitalOutputPin(sleepPin, "Sleep Pin", PinState.HIGH); mEnablePin = gpio.provisionDigitalOutputPin(enablePin, "Enable Pin", PinState.LOW); mMs1Pin = gpio.provisionDigitalOutputPin(ms1Pin, "MS1 Pin", PinState.HIGH); mMs2Pin = gpio.provisionDigitalOutputPin(ms2Pin, "MS2 Pin", PinState.HIGH); mResetPin = gpio.provisionDigitalOutputPin(resetPin, "Reset Pin", PinState.HIGH); setDrivingMode(drivingMode); mStepPin.setShutdownOptions(true, PinState.LOW); mDirPin.setShutdownOptions(true, PinState.LOW); mSleepPin.setShutdownOptions(true, PinState.HIGH); mEnablePin.setShutdownOptions(true, PinState.LOW); mMs1Pin.setShutdownOptions(true, PinState.HIGH); mMs2Pin.setShutdownOptions(true, PinState.HIGH); mResetPin.setShutdownOptions(true, PinState.HIGH); }