# GpioCallback

# GpioCallback

`
public


interface
GpioCallback
`  
`


`

|--------------------------------------------|
| com.google.android.things.pio.GpioCallback |

<br />

*** ** * ** ***

GPIO interrupt callback. First call[setEdgeTriggerType(int)](https://developer.android.com/reference/com/google/android/things/pio/Gpio#setEdgeTriggerType(int))to set an interrupt edge to watch, then[registerGpioCallback(Handler, GpioCallback)](https://developer.android.com/reference/com/google/android/things/pio/Gpio#registerGpioCallback(android.os.Handler, com.google.android.things.pio.GpioCallback))to start getting callbacks.

## Summary

|                                                                                                                                                                   ### Public methods                                                                                                                                                                   ||
|---------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` abstract boolean` | ` `[onGpioEdge](https://developer.android.com/reference/com/google/android/things/pio/GpioCallback#onGpioEdge(com.google.android.things.pio.Gpio))`(`[Gpio](https://developer.android.com/reference/com/google/android/things/pio/Gpio)` gpio) ` Called when an edge event triggers.                                              |
| ` default void`     | ` `[onGpioError](https://developer.android.com/reference/com/google/android/things/pio/GpioCallback#onGpioError(com.google.android.things.pio.Gpio, int))`(`[Gpio](https://developer.android.com/reference/com/google/android/things/pio/Gpio)` gpio, int error) ` Called when an error occurs with the interrupt event listener. |

## Public methods

### onGpioEdge

```
boolean onGpioEdge (Gpio gpio)
```

Called when an edge event triggers.

<br />

|                          Parameters                          ||
|--------|------------------------------------------------------|
| `gpio` | `Gpio`: The Gpio that received an edge event. <br /> |

|                              Returns                               ||
|-----------|---------------------------------------------------------|
| `boolean` | True to keep watching for events, false to stop. <br /> |

### onGpioError

```
void onGpioError (Gpio gpio, 
                int error)
```

Called when an error occurs with the interrupt event listener. At this point the receiver should assume that this Gpio is no longer usable. No further callbacks will be received on this object.

<br />

|                                                         Parameters                                                         ||
|---------|-------------------------------------------------------------------------------------------------------------------|
| `gpio`  | `Gpio`: The Gpio that received an error. <br />                                                                   |
| `error` | `int`: An[OsConstants](https://developer.android.com/reference/android/system/OsConstants.html)errno code. <br /> |

-

  ## Interfaces

  - [Gpio](https://developer.android.com/reference/com/google/android/things/pio/Gpio)
  - [GpioCallback](https://developer.android.com/reference/com/google/android/things/pio/GpioCallback)
  - [I2cDevice](https://developer.android.com/reference/com/google/android/things/pio/I2cDevice)
  - [Pwm](https://developer.android.com/reference/com/google/android/things/pio/Pwm)
  - [SpiDevice](https://developer.android.com/reference/com/google/android/things/pio/SpiDevice)
  - [UartDevice](https://developer.android.com/reference/com/google/android/things/pio/UartDevice)
  - [UartDeviceCallback](https://developer.android.com/reference/com/google/android/things/pio/UartDeviceCallback)
-

  ## Classes

  - [PeripheralManager](https://developer.android.com/reference/com/google/android/things/pio/PeripheralManager)