# `Wafer.Driver.Circuits.I2C`
[🔗](https://harton.dev/james/wafer/src/branch/main/lib/wafer/drivers/circuits/i2c.ex#L1)

A connection to a chip via Circuits' I2C driver.

Implements the `Wafer.Conn` behaviour as well as the `Wafer.Chip` and `Wafer.I2C` protocols.

# `option`

```elixir
@type option() ::
  {:bus_name, binary()} | {:address, Wafer.I2C.address()} | {:force, boolean()}
```

# `options`

```elixir
@type options() :: [option()]
```

# `t`

```elixir
@type t() :: %Wafer.Driver.Circuits.I2C{
  address: Wafer.I2C.address(),
  bus: binary(),
  conn: Circuits.I2C.Bus.t()
}
```

# `acquire`

```elixir
@spec acquire(options()) :: {:ok, t()} | {:error, reason :: any()}
```

Acquire a connection to a peripheral using the Circuits' I2C driver on the
specified bus and address.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
