@Override public GpioPinPwmOutput provisionSoftPwmOutputPin(GpioProvider provider, Pin pin, String name, int defaultValue) { // create new GPIO pin instance GpioPinPwmOutput gpioPin = provisionSoftPwmOutputPin(provider, pin, name); // apply default value gpioPin.setPwm(defaultValue); // return new new pin instance return gpioPin; }
@Override public GpioPinPwmOutput provisionSoftPwmOutputPin(GpioProvider provider, Pin pin, String name, int defaultValue) { // create new GPIO pin instance GpioPinPwmOutput gpioPin = provisionSoftPwmOutputPin(provider, pin, name); // apply default value gpioPin.setPwm(defaultValue); // return new new pin instance return gpioPin; }
@Override public GpioPinPwmOutput provisionPwmOutputPin(GpioProvider provider, Pin pin, String name, int defaultValue) { // create new GPIO pin instance GpioPinPwmOutput gpioPin = provisionPwmOutputPin(provider, pin, name); // apply default value gpioPin.setPwm(defaultValue); // return new new pin instance return gpioPin; }
@Override public GpioPinPwmOutput provisionPwmOutputPin(GpioProvider provider, Pin pin, String name, int defaultValue) { // create new GPIO pin instance GpioPinPwmOutput gpioPin = provisionPwmOutputPin(provider, pin, name); // apply default value gpioPin.setPwm(defaultValue); // return new new pin instance return gpioPin; }
@Override public void setLevel(int level) { boolean isOnBeforeChange = isOn(); // turn the light fully OFF by setting the PWM GPIO to min value pin.setPwm(level); boolean isOnAfterChange = isOn(); // notify any power state change listeners notifyListeners(new LightLevelChangeEvent(this, level)); if(isOnBeforeChange != isOnAfterChange) notifyListeners(new LightStateChangeEvent(this, isOnAfterChange)); } }
@Override public void setLevel(int level) { boolean isOnBeforeChange = isOn(); // turn the light fully OFF by setting the PWM GPIO to min value pin.setPwm(level); boolean isOnAfterChange = isOn(); // notify any power state change listeners notifyListeners(new LightLevelChangeEvent(this, level)); if(isOnBeforeChange != isOnAfterChange) notifyListeners(new LightStateChangeEvent(this, isOnAfterChange)); } }
private void output(Exchange exchange, Object value) { // PinMode mode = pin.getMode(); log.debug("Mode > " + mode + " for " + pin); // Check mode switch (mode) { case DIGITAL_OUTPUT: Boolean outputBoolean = exchange.getContext().getTypeConverter().convertTo(Boolean.class, value); ((GpioPinDigitalOutput) pin).setState(outputBoolean); break; case ANALOG_OUTPUT: Double outputDouble = exchange.getContext().getTypeConverter().convertTo(Double.class, value); ((GpioPinAnalogOutput) pin).setValue(outputDouble); break; case PWM_OUTPUT: Integer outputInt = exchange.getContext().getTypeConverter().convertTo(Integer.class, value); ((GpioPinPwmOutput) pin).setPwm(outputInt); break; case ANALOG_INPUT: case DIGITAL_INPUT: log.error("Cannot output with INPUT PinMode"); break; default: log.error("Any PinMode found"); break; } }