# ethercat v0.4.2 - Table of Contents Pure-Elixir EtherCAT master built on OTP. Declarative bus configuration, cyclic process data exchange, CoE SDO transfers, and distributed clocks. ## Pages - [EtherCAT](readme.md) - [Changelog](changelog.md) ## Modules - [EtherCAT](EtherCAT.md): Public API for the EtherCAT master runtime. - [EtherCAT.Bus](EtherCAT.Bus.md): Public API for the EtherCAT bus scheduler. - [EtherCAT.Bus.Datagram](EtherCAT.Bus.Datagram.md): An EtherCAT datagram struct and wire-format codec (spec §2.2). - [EtherCAT.Bus.Link](EtherCAT.Bus.Link.md): Shared scheduling helpers for bus link gen_statem implementations. - [EtherCAT.Bus.Link.Redundant](EtherCAT.Bus.Link.Redundant.md): Dual-port bus link implemented as a gen_statem. - [EtherCAT.Bus.Link.RedundantMerge](EtherCAT.Bus.Link.RedundantMerge.md): Pure helpers for redundant exchange interpretation. - [EtherCAT.Bus.Link.Single](EtherCAT.Bus.Link.Single.md): Single-port bus link implemented as a gen_statem. - [EtherCAT.Bus.Link.Submission](EtherCAT.Bus.Link.Submission.md): Internal queue item used by `EtherCAT.Bus.Link` scheduling helpers. - [EtherCAT.Bus.Result](EtherCAT.Bus.Result.md): Result of a single EtherCAT datagram round-trip. - [EtherCAT.Bus.Transaction](EtherCAT.Bus.Transaction.md): Builder for ordered EtherCAT datagram transactions. - [EtherCAT.Bus.Transport](EtherCAT.Bus.Transport.md): Behaviour for EtherCAT frame transports. - [EtherCAT.Bus.Transport.RawSocket](EtherCAT.Bus.Transport.RawSocket.md): Raw AF_PACKET socket transport for EtherCAT. - [EtherCAT.Bus.Transport.UdpSocket](EtherCAT.Bus.Transport.UdpSocket.md): UDP/IP transport for EtherCAT (spec §2.6). - [EtherCAT.Capture](EtherCAT.Capture.md): Helpers for interactive slave-capture sessions. - [EtherCAT.DC](EtherCAT.DC.md): Distributed Clocks initialization and runtime maintenance. - [EtherCAT.DC.Config](EtherCAT.DC.Config.md): Declarative configuration for master-wide Distributed Clocks infrastructure. - [EtherCAT.DC.Status](EtherCAT.DC.Status.md): Runtime status snapshot for Distributed Clocks. - [EtherCAT.Domain](EtherCAT.Domain.md): Cyclic process image for one logical EtherCAT domain. - [EtherCAT.Domain.Config](EtherCAT.Domain.Config.md): Declarative configuration struct for a Domain. - [EtherCAT.Master](EtherCAT.Master.md): Master orchestrates startup, activation, deactivation, and runtime recovery for the local EtherCAT session. - [EtherCAT.Simulator](EtherCAT.Simulator.md): Simulated EtherCAT slave segment for deep integration tests, virtual hardware, and simulator-backed tooling. - [EtherCAT.Simulator.DriverAdapter](EtherCAT.Simulator.DriverAdapter.md): Optional simulator-side companion for a real `EtherCAT.Slave.Driver`. - [EtherCAT.Simulator.Fault](EtherCAT.Simulator.Fault.md): Builder API for `EtherCAT.Simulator.inject_fault/1`. - [EtherCAT.Simulator.Slave](EtherCAT.Simulator.Slave.md): Device and signal-level API for simulated EtherCAT slaves. - [EtherCAT.Simulator.Slave.Definition](EtherCAT.Simulator.Slave.Definition.md): Public authored definition for a simulated EtherCAT slave. - [EtherCAT.Simulator.Transport](EtherCAT.Simulator.Transport.md): Transport namespace for `EtherCAT.Simulator`. - [EtherCAT.Simulator.Transport.Raw](EtherCAT.Simulator.Transport.Raw.md): Public raw transport surface for `EtherCAT.Simulator`. - [EtherCAT.Simulator.Transport.Raw.Fault](EtherCAT.Simulator.Transport.Raw.Fault.md): Builder API for `EtherCAT.Simulator.Transport.Raw.inject_fault/1`. - [EtherCAT.Simulator.Transport.Udp](EtherCAT.Simulator.Transport.Udp.md): UDP endpoint for `EtherCAT.Simulator`. - [EtherCAT.Simulator.Transport.Udp.Fault](EtherCAT.Simulator.Transport.Udp.Fault.md): Builder API for `EtherCAT.Simulator.Transport.Udp.inject_fault/1`. - [EtherCAT.Slave](EtherCAT.Slave.md): EtherCAT State Machine lifecycle for one physical slave device. - [EtherCAT.Slave.Config](EtherCAT.Slave.Config.md): Declarative configuration struct for a Slave. - [EtherCAT.Slave.Driver](EtherCAT.Slave.Driver.md): Behaviour for slave-specific drivers. - [EtherCAT.Slave.Driver.Default](EtherCAT.Slave.Driver.Default.md): Fallback driver used when a slave is named without a specific hardware driver. - [EtherCAT.Slave.ESC.Registers](EtherCAT.Slave.ESC.Registers.md): EtherCAT Slave Controller (ESC) register map. - [EtherCAT.Slave.ESC.SII](EtherCAT.Slave.ESC.SII.md): SII EEPROM interface for EtherCAT slaves. - [EtherCAT.Slave.Mailbox.CoE](EtherCAT.Slave.Mailbox.CoE.md): CANopen over EtherCAT (CoE) mailbox protocol. - [EtherCAT.Slave.ProcessData.Signal](EtherCAT.Slave.ProcessData.Signal.md): Declarative mapping of one logical process-data signal to a PDO or slice of a PDO. - [EtherCAT.Slave.Sync.CoE](EtherCAT.Slave.Sync.CoE.md): Helpers for common CoE application sync-mode objects. - [EtherCAT.Slave.Sync.Config](EtherCAT.Slave.Sync.Config.md): Declarative per-slave sync and latch configuration. - [EtherCAT.Telemetry](EtherCAT.Telemetry.md): Telemetry integration for the EtherCAT stack. ## Mix Tasks - [mix ethercat.capture](Mix.Tasks.Ethercat.Capture.md): Boot an interactive PREOP capture session against a live EtherCAT ring.