@Converter public static PinState booleanToPinState(boolean state) { return getState(state); }
Pi4jDigitalOutputDevice(String key, DeviceFactoryInterface deviceFactory, GpioController gpioController, int gpio, boolean initialValue) { super(key, deviceFactory); Pin pin = RaspiBcmPin.getPinByAddress(gpio); if (pin == null) { throw new IllegalArgumentException("Illegal GPIO: " + gpio); } this.gpio = gpio; digitalOutputPin = gpioController.provisionDigitalOutputPin(pin, "Digital output for BCM GPIO " + gpio, PinState.getState(initialValue)); }
@Override public PinState getState(Pin pin) { super.getState(pin); // return pin state PinState state = null; int ret = com.pi4j.wiringpi.Gpio.digitalRead(pin.getAddress()); if (ret >= 0) { state = PinState.getState(ret); } return state; }
@Override public void pinStateChange(GpioInterruptEvent event) { // iterate over the pin listeners map for (Pin pin : listeners.keySet()) { // dispatch this event to the listener // if a matching pin address is found if (pin.getAddress() == event.getPin()) { dispatchPinDigitalStateChangeEvent(pin, PinState.getState(event.getState())); } } }
@Override public void pinStateChange(GpioInterruptEvent event) { // iterate over the pin listeners map for (Pin pin : listeners.keySet()) { // dispatch this event to the listener // if a matching pin address is found if (pin.getAddress() == event.getPin()) { dispatchPinDigitalStateChangeEvent(pin, PinState.getState(event.getState())); } } }
@Override public PinState getState(Pin pin) { super.getState(pin); // return pin state PinState state = null; int ret = com.pi4j.wiringpi.Gpio.digitalRead(pin.getAddress()); if (ret >= 0) { state = PinState.getState(ret); } return state; }
@Override public void pinStateChange(GpioInterruptEvent event) { // iterate over the pin listeners map for (Pin pin : listeners.keySet()) { // dispatch this event to the listener // if a matching pin address is found if (pin.getAddress() == event.getPin()) { dispatchPinDigitalStateChangeEvent(pin, PinState.getState(event.getState())); } } }