The Adeeb EtherCAT Master exposes a C library (libadeeb_ec) with bindings for Python and ROS 2. The full header is available in /usr/include/adeeb/ec_master.h after installation.
Master Lifecycle
ec_master_create() Allocate and initialize a master instance.
ec_master_start() Open the NIC, begin frame transmission, and transition to PREOP.
ec_master_stop() Halt cyclic operation and release the NIC.
ec_master_destroy() Free all resources associated with the master.
Slave Management
ec_slave_count() Return the number of slaves found during bus scan.
ec_slave_info() Retrieve ESI data, vendor ID, and current state for a slave.
ec_slave_set_state() Request a state transition (INIT / PREOP / SAFEOP / OP).
ec_slave_get_state() Read the current AL state of a slave.
Process Data (PDO)
ec_domain_create() Create a process data domain grouping slaves by cycle time.
ec_domain_reg_pdo() Register a PDO entry and obtain a byte/bit offset.
ec_domain_process() Exchange process data — call once per cycle.
EC_READ_U16() / EC_WRITE_U16() Inline helpers for typed PDO access.
Distributed Clocks
ec_master_dc_enable() Enable distributed clock synchronization.
ec_master_dc_stats() Return jitter histogram and drift statistics.
ec_slave_dc_sync0() Configure SYNC0 pulse timing for a specific slave.
SDO / Mailbox
ec_sdo_read() Read an SDO object by index/subindex.
ec_sdo_write() Write an SDO object by index/subindex.
ec_sdo_upload_request() Asynchronous SDO upload (non-blocking).
Need the full annotated reference with struct definitions and error codes?
View full C API reference doc →