Package com.diozero.api
Class DigitalOutputDevice
java.lang.Object
com.diozero.api.GpioDevice
com.diozero.api.DigitalOutputDevice
- All Implemented Interfaces:
OutputDeviceInterface
,Closeable
,AutoCloseable
public class DigitalOutputDevice extends GpioDevice implements OutputDeviceInterface
Provides generic digital (on/off) output control with support for active high
and low logic.
-
Field Summary
Fields Modifier and Type Field Description static int
INFINITE_ITERATIONS
Fields inherited from class com.diozero.api.GpioDevice
gpio
-
Constructor Summary
Constructors Constructor Description DigitalOutputDevice(int gpio)
Defaults to active high logic, initial value is off.DigitalOutputDevice(int gpio, boolean activeHigh, boolean initialValue)
DigitalOutputDevice(GpioDeviceFactoryInterface deviceFactory, int gpio, boolean activeHigh, boolean initialValue)
DigitalOutputDevice(GpioDeviceFactoryInterface deviceFactory, PinInfo pinInfo, boolean activeHigh, boolean initialValue)
-
Method Summary
Modifier and Type Method Description void
close()
boolean
isOn()
Get the device on / off status.void
off()
Turn off the device.void
on()
Turn on the device.void
onOffLoop(float onTime, float offTime, int n, boolean background, Action stopAction)
Toggle the device on-off.void
setOn(boolean on)
Turn the device on or off.void
setValue(float value)
Set the output value to true if value != 0void
setValueUnsafe(boolean value)
Unsafe operation that has no synchronisation checks and doesn't compensate for active low logic.void
toggle()
Toggle the state of the device.Methods inherited from class com.diozero.api.GpioDevice
getGpio
-
Field Details
-
INFINITE_ITERATIONS
public static final int INFINITE_ITERATIONS- See Also:
- Constant Field Values
-
-
Constructor Details
-
DigitalOutputDevice
Defaults to active high logic, initial value is off.- Parameters:
gpio
- GPIO to which the output device is connected.- Throws:
RuntimeIOException
- If an I/O error occurred.
-
DigitalOutputDevice
public DigitalOutputDevice(int gpio, boolean activeHigh, boolean initialValue) throws RuntimeIOException- Parameters:
gpio
- GPIO to which the output device is connected.activeHigh
- If true then setting the value to true will turn on the connected device.initialValue
- Initial output value.- Throws:
RuntimeIOException
- If an I/O error occurred.
-
DigitalOutputDevice
public DigitalOutputDevice(GpioDeviceFactoryInterface deviceFactory, int gpio, boolean activeHigh, boolean initialValue) throws RuntimeIOException- Parameters:
deviceFactory
- Device factory to use to construct the device.gpio
- GPIO to which the output device is connected.activeHigh
- If true then setting the value to true will turn on the connected device.initialValue
- Initial output value.- Throws:
RuntimeIOException
- If an I/O error occurred.
-
DigitalOutputDevice
public DigitalOutputDevice(GpioDeviceFactoryInterface deviceFactory, PinInfo pinInfo, boolean activeHigh, boolean initialValue) throws RuntimeIOException- Parameters:
deviceFactory
- Device factory to use to construct the device.pinInfo
- Information about the GPIO pin to which the output device is connected.activeHigh
- If true then setting the value to true will turn on the connected device.initialValue
- Initial output value.- Throws:
RuntimeIOException
- If an I/O error occurred.
-
-
Method Details
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
on
Turn on the device.- Throws:
RuntimeIOException
- If an I/O error occurred.
-
off
Turn off the device.- Throws:
RuntimeIOException
- If an I/O error occurred.
-
toggle
Toggle the state of the device.- Throws:
RuntimeIOException
- If an I/O error occurred.
-
isOn
Get the device on / off status.- Returns:
- Returns true if the device is currently on.
- Throws:
RuntimeIOException
- If an I/O error occurred.
-
setOn
Turn the device on or off.- Parameters:
on
- New on/off value.- Throws:
RuntimeIOException
- If an I/O error occurred.
-
setValueUnsafe
Unsafe operation that has no synchronisation checks and doesn't compensate for active low logic. Included primarily for performance tests.- Parameters:
value
- The new value- Throws:
RuntimeIOException
- If an I/O error occurs
-
setValue
public void setValue(float value)Set the output value to true if value != 0- Specified by:
setValue
in interfaceOutputDeviceInterface
- Parameters:
value
- The new value
-
onOffLoop
public void onOffLoop(float onTime, float offTime, int n, boolean background, Action stopAction) throws RuntimeIOExceptionToggle the device on-off.- Parameters:
onTime
- On time in seconds.offTime
- Off time in seconds.n
- Number of iterations. Set to <0 to blink indefinitely.background
- If true start a background thread to control the blink and return immediately. If false, only return once the blink iterations have finished.stopAction
- Action to perform when the loop finishes- Throws:
RuntimeIOException
- If an I/O error occurs
-