# circuits_ft232h v0.1.0 - Table of Contents

> Adafruit FT232H breakout board backend for `circuits_i2c` and `circuits_spi`, allowing host-side I2C and SPI development over USB.

## Pages

- [CircuitsFT232H](readme.md)
- [Change Log](changelog.md)

## Modules

- [CircuitsFT232H](CircuitsFT232H.md): Use an [Adafruit FT232H breakout](https://www.adafruit.com/product/2264) as an
I2C master, SPI master, or GPIO controller from your host machine, via the
[`circuits_i2c`](https://hex.pm/packages/circuits_i2c),
[`circuits_spi`](https://hex.pm/packages/circuits_spi), and
[`circuits_gpio`](https://hex.pm/packages/circuits_gpio) APIs.
- [CircuitsFT232H.Device](CircuitsFT232H.Device.md): A GenServer that owns the USB handle to one FT232H and serialises all
traffic with it.
- [CircuitsFT232H.GPIO](CircuitsFT232H.GPIO.md): GPIO support for the FT232H's general-purpose pins.
- [CircuitsFT232H.GPIO.Backend](CircuitsFT232H.GPIO.Backend.md): `Circuits.GPIO.Backend` implementation for the FT232H.
- [CircuitsFT232H.GPIO.Handle](CircuitsFT232H.GPIO.Handle.md): The struct returned by `Circuits.GPIO.open/3` when
`CircuitsFT232H.GPIO.Backend` is configured as the GPIO backend.
- [CircuitsFT232H.GPIO.Poller](CircuitsFT232H.GPIO.Poller.md): Per-chip polling GenServer that **emulates** GPIO interrupts.
- [CircuitsFT232H.I2C](CircuitsFT232H.I2C.md): Wires the FT232H's MPSSE engine up as an I2C master.
- [CircuitsFT232H.I2C.Backend](CircuitsFT232H.I2C.Backend.md): `Circuits.I2C.Backend` implementation that exposes each connected FT232H as
an I2C bus named `"ftdi-<id>-i2c"`.
- [CircuitsFT232H.I2C.Bus](CircuitsFT232H.I2C.Bus.md): The struct returned by `Circuits.I2C.open/2` when `CircuitsFT232H.I2C.Backend`
is configured as the I2C backend.
- [CircuitsFT232H.MPSSE](CircuitsFT232H.MPSSE.md): Pure-function encoder for the FT232H Multi-Protocol Synchronous Serial
Engine (MPSSE) command stream.
- [CircuitsFT232H.SPI](CircuitsFT232H.SPI.md): Wires the FT232H's MPSSE engine up as an SPI master.
- [CircuitsFT232H.SPI.Backend](CircuitsFT232H.SPI.Backend.md): `Circuits.SPI.Backend` implementation that exposes each connected FT232H as
a SPI bus named `"ftdi-<id>-spi"`.
- [CircuitsFT232H.SPI.Bus](CircuitsFT232H.SPI.Bus.md): The struct returned by `Circuits.SPI.open/2` when `CircuitsFT232H.SPI.Backend`
is configured as the SPI backend.
- [CircuitsFT232H.USB](CircuitsFT232H.USB.md): Thin USB transport layer for the FT232H.
- [CircuitsFT232H.USB.Descriptor](CircuitsFT232H.USB.Descriptor.md): Metadata for a single FT232H device discovered on the USB bus.

