50 INIT_LIST_HEAD(&fmmu->
list);
75 " PhysAddr 0x%04X, SM%u, Dir %s\n",
const ec_slave_config_t * sc
EtherCAT slave config.
size_t data_size
Size of the process data.
void ec_fmmu_config_init(ec_fmmu_config_t *fmmu, ec_slave_config_t *sc, ec_domain_t *domain, uint8_t sync_index, ec_direction_t dir)
FMMU configuration constructor.
#define EC_WRITE_U8(DATA, VAL)
Write an 8-bit unsigned value to EtherCAT data.
unsigned int data_size
Covered PDO size.
void ec_fmmu_config_page(const ec_fmmu_config_t *fmmu, const ec_sync_t *sync, uint8_t *data)
Initializes an FMMU configuration page.
Global definitions and macros.
EtherCAT master structure.
uint32_t logical_start_address
Logical start address.
struct list_head list
List node used by domain.
uint16_t ec_pdo_list_total_size(const ec_pdo_list_t *pl)
Calculates the total size of the mapped PDO entries.
ec_sync_config_t sync_configs[EC_MAX_SYNC_MANAGERS]
Sync manager configurations.
#define EC_WRITE_U32(DATA, VAL)
Write a 32-bit unsigned value to EtherCAT data.
uint8_t sync_index
Index of sync manager to use.
ec_pdo_list_t pdos
Current PDO assignment.
#define EC_WRITE_U16(DATA, VAL)
Write a 16-bit unsigned value to EtherCAT data.
#define EC_CONFIG_DBG(sc, level, fmt, args...)
Convenience macro for printing configuration-specific debug messages to syslog.
ec_direction_t
Direction type for PDO assignment functions.
EtherCAT FMMU configuration structure.
Values read by the master.
void ec_domain_add_fmmu_config(ec_domain_t *domain, ec_fmmu_config_t *fmmu)
Adds an FMMU configuration to the domain.
uint16_t physical_start_address
Physical start address.
EtherCAT slave configuration.
EtherCAT slave configuration structure.
ec_direction_t dir
FMMU direction.