# `EtherCAT.Simulator.DriverAdapter`
[🔗](https://github.com/sid2baker/ethercat/blob/main/lib/ethercat/simulator/driver_adapter.ex#L1)

Optional simulator-side companion for a real `EtherCAT.Slave.Driver`.

The adapter returns authored simulator configuration as keyword options for
`EtherCAT.Simulator.Slave.Definition.build/2`. It must include `:profile`.
`EtherCAT.Simulator.Slave.from_driver/2` merges those options with the real
driver's declared identity so simulator hydration stays aligned with the
runtime-facing driver.

# `definition_options`

```elixir
@type definition_options() :: keyword()
```

# `definition_options`

```elixir
@callback definition_options(config :: map()) :: definition_options()
```

# `definition_options`

```elixir
@spec definition_options(module(), map()) :: definition_options()
```

# `resolve`

```elixir
@spec resolve(module(), module() | nil) :: module() | nil
```

---

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