Global definitions and macros.
struct ec_slave ec_slave_t
ec_direction_t
Direction type for PDO assignment functions.
EtherCAT PDO list structure.
Sync manager configuration.
uint16_t physical_start_address
Physical start address.
uint8_t enable
Enable bit.
ec_slave_t * slave
Slave, the sync manager belongs to.
ec_pdo_list_t pdos
Current PDO assignment.
uint16_t default_length
Data length in bytes.
uint8_t control_register
Control register value.
void ec_sync_init_copy(ec_sync_t *sync, const ec_sync_t *other)
Copy constructor.
int ec_sync_add_pdo(ec_sync_t *sync, const ec_pdo_t *pdo)
Adds a PDO to the list of known mapped PDOs.
void ec_sync_clear(ec_sync_t *sync)
Destructor.
void ec_sync_page(const ec_sync_t *sync, uint8_t sync_index, uint16_t data_size, const ec_sync_config_t *sync_config, uint8_t pdo_xfer, uint8_t *data)
Initializes a sync manager configuration page.
void ec_sync_init(ec_sync_t *sync, ec_slave_t *slave)
Constructor.
ec_direction_t ec_sync_default_direction(const ec_sync_t *sync)
Determines the default direction from the control register.