gpio.provisionDigitalInputPin(provider, MCP23017Pin.GPIO_A0, "MyInput-A0", PinPullResistance.PULL_UP), gpio.provisionDigitalInputPin(provider, MCP23017Pin.GPIO_A1, "MyInput-A1", PinPullResistance.PULL_UP), gpio.provisionDigitalInputPin(provider, MCP23017Pin.GPIO_A2, "MyInput-A2", PinPullResistance.PULL_UP), gpio.provisionDigitalInputPin(provider, MCP23017Pin.GPIO_A3, "MyInput-A3", PinPullResistance.PULL_UP), gpio.provisionDigitalInputPin(provider, MCP23017Pin.GPIO_A4, "MyInput-A4", PinPullResistance.PULL_UP), gpio.provisionDigitalInputPin(provider, MCP23017Pin.GPIO_A5, "MyInput-A5", PinPullResistance.PULL_UP), gpio.provisionDigitalInputPin(provider, MCP23017Pin.GPIO_A6, "MyInput-A6", PinPullResistance.PULL_UP), gpio.provisionDigitalInputPin(provider, MCP23017Pin.GPIO_A7, "MyInput-A7", PinPullResistance.PULL_UP), }; gpio.addListener(new GpioPinListenerDigital() { @Override public void handleGpioPinDigitalStateChangeEvent(GpioPinDigitalStateChangeEvent event) { gpio.provisionDigitalOutputPin(provider, MCP23017Pin.GPIO_B0, "MyOutput-B0", PinState.LOW), gpio.provisionDigitalOutputPin(provider, MCP23017Pin.GPIO_B1, "MyOutput-B1", PinState.LOW), gpio.provisionDigitalOutputPin(provider, MCP23017Pin.GPIO_B2, "MyOutput-B2", PinState.LOW), gpio.provisionDigitalOutputPin(provider, MCP23017Pin.GPIO_B3, "MyOutput-B3", PinState.LOW), gpio.provisionDigitalOutputPin(provider, MCP23017Pin.GPIO_B4, "MyOutput-B4", PinState.LOW), gpio.provisionDigitalOutputPin(provider, MCP23017Pin.GPIO_B5, "MyOutput-B5", PinState.LOW), gpio.provisionDigitalOutputPin(provider, MCP23017Pin.GPIO_B6, "MyOutput-B6", PinState.LOW), gpio.provisionDigitalOutputPin(provider, MCP23017Pin.GPIO_B7, "MyOutput-B7", PinState.LOW) }; gpio.setState(true, myOutputs); Thread.sleep(1000); gpio.setState(false, myOutputs); Thread.sleep(1000);
gpio.provisionDigitalInputPin(PibrellaInput.A.getPin(), "INPUT A"), gpio.provisionDigitalInputPin(PibrellaInput.B.getPin(), "INPUT B"), gpio.provisionDigitalInputPin(PibrellaInput.C.getPin(), "INPUT C"), gpio.provisionDigitalInputPin(PibrellaInput.D.getPin(), "INPUT D"), gpio.provisionDigitalInputPin(PibrellaInput.Button.getPin(), "BUTTON")}; gpio.provisionDigitalOutputPin(PibrellaOutput.E.getPin(), "OUTPUT E"), gpio.provisionDigitalOutputPin(PibrellaOutput.F.getPin(), "OUTPUT F"), gpio.provisionDigitalOutputPin(PibrellaOutput.G.getPin(), "OUTPUT G"), gpio.provisionDigitalOutputPin(PibrellaOutput.H.getPin(), "OUTPUT H"), gpio.provisionDigitalOutputPin(PibrellaOutput.LED_RED.getPin(), "RED LED"), gpio.provisionDigitalOutputPin(PibrellaOutput.LED_YELLOW.getPin(), "YELLOW LED"), gpio.provisionDigitalOutputPin(PibrellaOutput.LED_GREEN.getPin(), "GREEN LED")}; pwmOutput = gpio.provisionPwmOutputPin(PibrellaBuzzer.BUZZER.getPin()); gpio.setShutdownOptions(true, inputPins); gpio.setShutdownOptions(true, PinState.LOW, pwmOutput); gpio.setShutdownOptions(true, PinState.LOW, outputPins); pwmOutput.setShutdownOptions(true);
public void test(int gpio) { GpioFactory.setDefaultProvider(new RaspiGpioProvider(RaspiPinNumberingScheme.BROADCOM_PIN_NUMBERING)); GpioController gpio_controller = GpioFactory.getInstance(); Pin pin = RaspiBcmPin.getPinByAddress(gpio); GpioPinDigitalInput digitalInputPin = gpio_controller.provisionDigitalInputPin(pin, "Digital Input for BCM GPIO " + gpio, PinPullResistance.PULL_UP); GpioUtil.setEdgeDetection(pin.getAddress(), PinEdge.BOTH.getValue()); digitalInputPin.addListener(this); System.out.println("Waiting 20s for events..., thread name=" + Thread.currentThread().getName()); SleepUtil.sleepSeconds(20); gpio_controller.unprovisionPin(digitalInputPin); gpio_controller.shutdown(); }
public void pins() { for (GpioPin pin : gpio.getProvisionedPins()) { System.out.println(pin + " " + gpio.getMode(pin)); } }
@Override protected void doShutdown() throws Exception { super.doShutdown(); if (controller != null) { GpioPin gpiopins[] = new GpioPin[controller.getProvisionedPins().size()]; controller.getProvisionedPins().toArray(gpiopins); for (GpioPin pin : gpiopins) { controller.unprovisionPin(pin); } } }
GpioPinDigitalInput provisionedPin = gpio.provisionDigitalInputPin(pin, pull); provisionedPin.setShutdownOptions(true); // unexport pin on program shutdown gpio.shutdown();
gpio.provisionDigitalInputPin(gpioProvider, PiFacePin.INPUT_00), gpio.provisionDigitalInputPin(gpioProvider, PiFacePin.INPUT_01), gpio.provisionDigitalInputPin(gpioProvider, PiFacePin.INPUT_02), gpio.provisionDigitalInputPin(gpioProvider, PiFacePin.INPUT_03), gpio.provisionDigitalInputPin(gpioProvider, PiFacePin.INPUT_04), gpio.provisionDigitalInputPin(gpioProvider, PiFacePin.INPUT_05), gpio.provisionDigitalInputPin(gpioProvider, PiFacePin.INPUT_06), gpio.provisionDigitalInputPin(gpioProvider, PiFacePin.INPUT_07) }; gpio.provisionDigitalOutputPin(gpioProvider, PiFacePin.OUTPUT_00), gpio.provisionDigitalOutputPin(gpioProvider, PiFacePin.OUTPUT_01), gpio.provisionDigitalOutputPin(gpioProvider, PiFacePin.OUTPUT_02), gpio.provisionDigitalOutputPin(gpioProvider, PiFacePin.OUTPUT_03), gpio.provisionDigitalOutputPin(gpioProvider, PiFacePin.OUTPUT_04), gpio.provisionDigitalOutputPin(gpioProvider, PiFacePin.OUTPUT_05), gpio.provisionDigitalOutputPin(gpioProvider, PiFacePin.OUTPUT_06), gpio.provisionDigitalOutputPin(gpioProvider, PiFacePin.OUTPUT_07) };
final GpioPinDigitalOutput pin = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01, PinState.HIGH); gpio.shutdown();
gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_00, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_01, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_02, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_03, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_04, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_05, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_06, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_07, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_08, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_09, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_10, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_11, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_12, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_13, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_14, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_15, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_16, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_21, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_22, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_23, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_26, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_27, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_30, pull), gpio.provisionDigitalInputPin(OdroidXU4Pin.GPIO_31, pull) }; gpio.setShutdownOptions(true, pins); gpio.addListener(new GpioPinListenerDigital() {
final GpioPinDigitalInput myButton = gpio.provisionDigitalInputPin(RaspiPin.GPIO_02, PinPullResistance.PULL_DOWN); final GpioPinDigitalInput myInput = gpio.provisionDigitalInputPin(olimexProvider, OlimexAVRIOPin.IN_01); gpio.provisionDigitalOutputPin(olimexProvider, OlimexAVRIOPin.RELAY_01, "RELAY #1", PinState.LOW), gpio.provisionDigitalOutputPin(olimexProvider, OlimexAVRIOPin.RELAY_02, "RELAY #2", PinState.LOW), gpio.provisionDigitalOutputPin(olimexProvider, OlimexAVRIOPin.RELAY_03, "RELAY #3", PinState.LOW), gpio.provisionDigitalOutputPin(olimexProvider, OlimexAVRIOPin.RELAY_04, "RELAY #4", PinState.LOW) }; gpio.shutdown();
/** * Display object using SPI communication with a reset pin * * @param width Display width * @param height Display height * @param gpio GPIO object * @param spi SPI device * @param rstPin Reset pin * @param dcPin Data/Command pin * @see GpioFactory#getInstance() GpioController instance factory * @see com.pi4j.io.spi.SpiFactory#getInstance(SpiChannel) SpiDevice factory */ public Display(int width, int height, GpioController gpio, SpiDevice spi, Pin rstPin, Pin dcPin) { this(width, height, false, gpio, rstPin); this.dcPin = gpio.provisionDigitalOutputPin(dcPin); this.spi = spi; }
gpio.provisionAnalogInputPin(provider, MCP3008Pin.CH0, "MyAnalogInput-CH0"), gpio.provisionAnalogInputPin(provider, MCP3008Pin.CH1, "MyAnalogInput-CH1"), gpio.provisionAnalogInputPin(provider, MCP3008Pin.CH2, "MyAnalogInput-CH2"), gpio.provisionAnalogInputPin(provider, MCP3008Pin.CH3, "MyAnalogInput-CH3"), gpio.provisionAnalogInputPin(provider, MCP3008Pin.CH4, "MyAnalogInput-CH4"), gpio.provisionAnalogInputPin(provider, MCP3008Pin.CH5, "MyAnalogInput-CH5"), gpio.provisionAnalogInputPin(provider, MCP3008Pin.CH6, "MyAnalogInput-CH6"), gpio.provisionAnalogInputPin(provider, MCP3008Pin.CH7, "MyAnalogInput-CH7") }; gpio.shutdown();
gpio.provisionAnalogInputPin(provider, MCP3208Pin.CH0, "MyAnalogInput-CH0"), gpio.provisionAnalogInputPin(provider, MCP3208Pin.CH1, "MyAnalogInput-CH1"), gpio.provisionAnalogInputPin(provider, MCP3208Pin.CH2, "MyAnalogInput-CH2"), gpio.provisionAnalogInputPin(provider, MCP3208Pin.CH3, "MyAnalogInput-CH3"), gpio.provisionAnalogInputPin(provider, MCP3208Pin.CH4, "MyAnalogInput-CH4"), gpio.provisionAnalogInputPin(provider, MCP3208Pin.CH5, "MyAnalogInput-CH5"), gpio.provisionAnalogInputPin(provider, MCP3208Pin.CH6, "MyAnalogInput-CH6"), gpio.provisionAnalogInputPin(provider, MCP3208Pin.CH7, "MyAnalogInput-CH7") }; gpio.addListener(listener, inputs); gpio.shutdown();
GpioPinPwmOutput pwm = gpio.provisionPwmOutputPin(BananaProPin.GPIO_01); gpio.shutdown();
gpio.provisionAnalogInputPin(OdroidC1Pin.AIN0, "Analog Input 0"), gpio.provisionAnalogInputPin(OdroidC1Pin.AIN1, "Analog Input 1") }; gpio.setShutdownOptions(true, inputs); gpio.addListener(new GpioPinListenerAnalog() { @Override public void handleGpioPinAnalogValueChangeEvent(GpioPinAnalogValueChangeEvent event) { gpio.shutdown();
switch (this.mode) { case DIGITAL_OUTPUT: pin = getOrCreateController().provisionDigitalOutputPin(getPin(), state); break; case ANALOG_OUTPUT: pin = getOrCreateController().provisionAnalogOutputPin(getPin(), value); break; case PWM_OUTPUT: pin = getOrCreateController().provisionPwmOutputPin(getPin(), (int) value); break; case ANALOG_INPUT: // PinMode.allInput()
gpio.provisionAnalogInputPin(OdroidXU4Pin.AIN0, "Analog Input 0"), gpio.provisionAnalogInputPin(OdroidXU4Pin.AIN3, "Analog Input 3") }; gpio.setShutdownOptions(true, inputs); gpio.shutdown();
gpio.provisionDigitalOutputPin(RaspiPin.GPIO_00, PinState.LOW), gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01, PinState.LOW), gpio.provisionDigitalOutputPin(RaspiPin.GPIO_02, PinState.LOW), gpio.provisionDigitalOutputPin(RaspiPin.GPIO_03, PinState.LOW), gpio.provisionDigitalOutputPin(RaspiPin.GPIO_04, PinState.LOW), gpio.provisionDigitalOutputPin(RaspiPin.GPIO_05, PinState.LOW), gpio.provisionDigitalOutputPin(RaspiPin.GPIO_06, PinState.LOW), gpio.provisionDigitalOutputPin(RaspiPin.GPIO_07, PinState.LOW)}; System.out.println("--> GPIO state should be: ON"); gpio.setShutdownOptions(true, PinState.LOW, pins);
GpioPinDigitalInput provisionedPin = gpio.provisionDigitalInputPin(pin, pull); provisionedPins.add(provisionedPin); gpio.addListener(new GpioPinListenerDigital() { @Override public void handleGpioPinDigitalStateChangeEvent(GpioPinDigitalStateChangeEvent event) { gpio.shutdown();
/** * Shuts down the plugin. */ @Override public void onShutdown() { if (gpio != null && shouldShutdownGpio) { gpio.shutdown(); } }