diff -r f859d567f94e -r 42b62867574d master/fmmu_config.h --- a/master/fmmu_config.h Fri Jan 22 10:11:58 2016 +0100 +++ b/master/fmmu_config.h Fri Jan 22 13:09:43 2016 +0100 @@ -49,7 +49,8 @@ const ec_domain_t *domain; /**< Domain. */ uint8_t sync_index; /**< Index of sync manager to use. */ ec_direction_t dir; /**< FMMU direction. */ - uint32_t logical_start_address; /**< Logical start address. */ + uint32_t logical_domain_offset; /**< Logical offset address relative to + domain->logical_base_address. */ unsigned int data_size; /**< Covered PDO size. */ } ec_fmmu_config_t; @@ -58,6 +59,15 @@ void ec_fmmu_config_init(ec_fmmu_config_t *, ec_slave_config_t *, ec_domain_t *, uint8_t, ec_direction_t); +/** + * @param fmmu EtherCAT FMMU configuration. + * @param logical_domain_offset Logical offset address + relative to domain->logical_base_address. + * @param data_size Covered PDO size. +*/ +void ec_fmmu_set_domain_offset_size(ec_fmmu_config_t *fmmu, + uint32_t logical_domain_offset, unsigned data_size); + void ec_fmmu_config_page(const ec_fmmu_config_t *, const ec_sync_t *, uint8_t *);