Class DigitalOutputDevice

java.lang.Object
com.diozero.api.GpioDevice
com.diozero.api.DigitalOutputDevice
All Implemented Interfaces:
OutputDeviceInterface, java.io.Closeable, java.lang.AutoCloseable
Direct Known Subclasses:
Buzzer, LED

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)  
  • 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)  
    void 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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • DigitalOutputDevice

      public DigitalOutputDevice​(int gpio) throws RuntimeIOException
      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.
  • Method Details

    • close

      public void close()
      Specified by:
      close in interface java.lang.AutoCloseable
      Specified by:
      close in interface java.io.Closeable
    • on

      public void on() throws RuntimeIOException
      Turn on the device.
      Throws:
      RuntimeIOException - If an I/O error occurred.
    • off

      public void off() throws RuntimeIOException
      Turn off the device.
      Throws:
      RuntimeIOException - If an I/O error occurred.
    • toggle

      public void toggle() throws RuntimeIOException
      Toggle the state of the device.
      Throws:
      RuntimeIOException - If an I/O error occurred.
    • isOn

      public boolean isOn() throws RuntimeIOException
      Get the device on / off status.
      Returns:
      Returns true if the device is currently on.
      Throws:
      RuntimeIOException - If an I/O error occurred.
    • setOn

      public void setOn​(boolean on) throws RuntimeIOException
      Turn the device on or off.
      Parameters:
      on - New on/off value.
      Throws:
      RuntimeIOException - If an I/O error occurred.
    • setValueUnsafe

      public void setValueUnsafe​(boolean value) throws RuntimeIOException
      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)
      Specified by:
      setValue in interface OutputDeviceInterface
    • onOffLoop

      public void onOffLoop​(float onTime, float offTime, int n, boolean background, Action stopAction) throws RuntimeIOException
      Toggle 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