Adeeb Robotics

Software API Reference

PDO mappings, distributed clock structs, and the full C library surface.

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 →