Gpio

public abstract class Gpio
extends Object implements Closeable

java.lang.Object
   ↳ com.google.android.things.pio.Gpio
Known Direct Subclasses


Controls a GPIO pin. General-purpose input/output (GPIO) pins are physical pins on an integrated circuit that can be controlled via software. A GPIO pin can be configured as input to read the voltage value or as output to change the voltage value. It only understands logic values (true/false) which maps physically to a low value (the pin has the same voltage as Ground) or high value (the pin has the same voltage as IOREF). GPIOs are frequently used to communicate with simple peripherals like sensors and actuators. Opening a GPIO pin takes ownership of it for the whole system, preventing anyone else from opening/accessing the GPIO until you call close(). Forgetting to call close() will prevent anyone (including the same process/app) from using the GPIO.

Summary

Constants

int ACTIVE_HIGH

ActiveType constant to select active high, which means that a true value corresponds with high voltage.

int ACTIVE_LOW

ActiveType constant to select active low, which means that a true value corresponds with low voltage.

int DIRECTION_IN

Direction constant used to configure a GPIO pin as an input.

int DIRECTION_OUT_INITIALLY_HIGH

Direction constant used to configure a GPIO pin as an output and initialize its state to high/true (equivalent of calling setValue(true)).

int DIRECTION_OUT_INITIALLY_LOW

Direction constant used to configure a GPIO pin as an output and initialize its state to low/false (equivalent of calling setValue(false)).

int EDGE_BOTH

EdgeType constant used to configure the GPIO interrupt to trigger on any edge (when the GPIO change state from high/true to low/false or from low/false to high/true).

int EDGE_FALLING

EdgeType constant used to configure the GPIO interrupt to trigger on falling edge (when the GPIO goes from high/true to low/false).

int EDGE_NONE

EdgeType constant used to configure the GPIO interrupt to never trigger.

int EDGE_RISING

EdgeType constant used to configure the GPIO interrupt to trigger on rising edge (when the GPIO goes from low/false to high/true).

Public constructors

Gpio()

Public methods

abstract void close()

Close and release the GPIO pin.

abstract boolean getValue()

Get the current value of the GPIO pin (for GPIO pins configured as input only).

final void registerGpioCallback(GpioCallback callback)

Registers a callback for GPIO edge interrupts.

abstract void registerGpioCallback(GpioCallback callback, Handler handler)

Registers a callback for GPIO edge interrupts.

abstract void setActiveType(int activeType)

Sets the active level.

abstract void setDirection(int direction)

Set the direction of the GPIO pin.

abstract void setEdgeTriggerType(int edgeTriggerType)

Set the interrupt trigger type.

abstract void setValue(boolean value)

Set the value of the GPIO pin (for GPIO pins configured as output only).

abstract void unregisterGpioCallback(GpioCallback callback)

Unregisters an interrupt callback.

Inherited methods

From class java.lang.Object
From interface java.io.Closeable
From interface java.lang.AutoCloseable

Constants

ACTIVE_HIGH

int ACTIVE_HIGH

ActiveType constant to select active high, which means that a true value corresponds with high voltage.

Constant Value: 1 (0x00000001)

ACTIVE_LOW

int ACTIVE_LOW

ActiveType constant to select active low, which means that a true value corresponds with low voltage.

Constant Value: 0 (0x00000000)

DIRECTION_IN

int DIRECTION_IN

Direction constant used to configure a GPIO pin as an input.

Constant Value: 0 (0x00000000)

DIRECTION_OUT_INITIALLY_HIGH

int DIRECTION_OUT_INITIALLY_HIGH

Direction constant used to configure a GPIO pin as an output and initialize its state to high/true (equivalent of calling setValue(true)).

Constant Value: 1 (0x00000001)

DIRECTION_OUT_INITIALLY_LOW

int DIRECTION_OUT_INITIALLY_LOW

Direction constant used to configure a GPIO pin as an output and initialize its state to low/false (equivalent of calling setValue(false)).

Constant Value: 2 (0x00000002)

EDGE_BOTH

int EDGE_BOTH

EdgeType constant used to configure the GPIO interrupt to trigger on any edge (when the GPIO change state from high/true to low/false or from low/false to high/true).

Constant Value: 3 (0x00000003)

EDGE_FALLING

int EDGE_FALLING

EdgeType constant used to configure the GPIO interrupt to trigger on falling edge (when the GPIO goes from high/true to low/false).

Constant Value: 2 (0x00000002)

EDGE_NONE

int EDGE_NONE

EdgeType constant used to configure the GPIO interrupt to never trigger.

Constant Value: 0 (0x00000000)

EDGE_RISING

int EDGE_RISING

EdgeType constant used to configure the GPIO interrupt to trigger on rising edge (when the GPIO goes from low/false to high/true).

Constant Value: 1 (0x00000001)

Public constructors

Gpio

</div>

Gpio ()

</div>

Public methods

close

</div>

void close ()

Close and release the GPIO pin.

This must be called in order for the GPIO pin to be released and be available to other users.</p>

Throws
IOException if the GPIO is already closed.

</div>

getValue

</div>

boolean getValue ()

Get the current value of the GPIO pin (for GPIO pins configured as input only).

Returns an unpredictable value when the GPIO is configured as output.</p>

Returns
boolean
Throws
IOException

</div>

registerGpioCallback

</div>

void registerGpioCallback (GpioCallback callback)

Registers a callback for GPIO edge interrupts.

Equivalent to registerGpioCallback(callback, null).</p>

Parameters
callback GpioCallback: GpioCallback to register.
Throws
IOException
IOException

See also:

  • registerGpioCallback(GpioCallback, Handler)
  • unregisterGpioCallback(GpioCallback)

</div>

registerGpioCallback

</div>

void registerGpioCallback (GpioCallback callback,
                Handler handler)

Registers a callback for GPIO edge interrupts.

The type of edges to watch for must be first set with setEdgeTriggerType(int).</p>

Parameters
callback GpioCallback: GpioCallback to register.
handler Handler: Handler to run callbacks on, or null to use the current thread.
Throws
IOException
IOException

See also:

  • registerGpioCallback(GpioCallback)
  • unregisterGpioCallback(GpioCallback)

</div>

setActiveType

</div>

void setActiveType (int activeType)

Sets the active level.

Parameters
activeType int: One of ACTIVE_LOW or ACTIVE_HIGH.
Throws
IOException
IllegalArgumentException
IOException

</div>

setDirection

</div>

void setDirection (int direction)

Set the direction of the GPIO pin.

Parameters
direction int: Direction to set. One of DIRECTION_IN, DIRECTION_OUT_INITIALLY_HIGH, DIRECTION_OUT_INITIALLY_LOW.
Throws
IOException
IllegalArgumentException
IOException

</div>

setEdgeTriggerType

</div>

void setEdgeTriggerType (int edgeTriggerType)

Set the interrupt trigger type.

Parameters
edgeTriggerType int: Type of trigger to use for interrupt. One of EDGE_NONE, EDGE_RISING, EDGE_FALLING, EDGE_BOTH.
Throws
IOException
IllegalArgumentException
IOException

</div>

setValue

</div>

void setValue (boolean value)

Set the value of the GPIO pin (for GPIO pins configured as output only).

Parameters
value boolean: Value to set.
Throws
IOException

</div>

unregisterGpioCallback

</div>

void unregisterGpioCallback (GpioCallback callback)

Unregisters an interrupt callback.

Parameters
callback GpioCallback: GpioCallback to unregister.

See also:

  • registerGpioCallback(GpioCallback, Handler)

results matching ""

    No results matching ""