58 INIT_LIST_HEAD(&fmmu->
list);
71 uint32_t logical_domain_offset,
93 " PhysAddr 0x%04X, SM%u, Dir %s\n",
const ec_slave_config_t * sc
EtherCAT slave config.
uint32_t logical_domain_offset
Logical offset address relative to domain->logical_base_address.
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.
struct list_head list
List node used by domain.
const ec_domain_t * domain
Domain.
#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.
#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.
void ec_fmmu_set_domain_offset_size(ec_fmmu_config_t *fmmu, uint32_t logical_domain_offset, unsigned data_size)
EtherCAT FMMU configuration structure.
Values read by the master.
uint32_t logical_base_address
Logical offset address of the process data.
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.