equal
deleted
inserted
replaced
172 /** EtherCAT slave. |
172 /** EtherCAT slave. |
173 */ |
173 */ |
174 struct ec_slave |
174 struct ec_slave |
175 { |
175 { |
176 ec_master_t *master; /**< Master owning the slave. */ |
176 ec_master_t *master; /**< Master owning the slave. */ |
|
177 ec_device_index_t device_index; /**< Index of device the slave responds |
|
178 on. */ |
177 |
179 |
178 // addresses |
180 // addresses |
179 uint16_t ring_position; /**< Ring position. */ |
181 uint16_t ring_position; /**< Ring position. */ |
180 uint16_t station_address; /**< Configured station address. */ |
182 uint16_t station_address; /**< Configured station address. */ |
181 uint16_t effective_alias; /**< Effective alias address. */ |
183 uint16_t effective_alias; /**< Effective alias address. */ |
236 }; |
238 }; |
237 |
239 |
238 /*****************************************************************************/ |
240 /*****************************************************************************/ |
239 |
241 |
240 // slave construction/destruction |
242 // slave construction/destruction |
241 void ec_slave_init(ec_slave_t *, ec_master_t *, uint16_t, uint16_t); |
243 void ec_slave_init(ec_slave_t *, ec_master_t *, ec_device_index_t, |
|
244 uint16_t, uint16_t); |
242 void ec_slave_clear(ec_slave_t *); |
245 void ec_slave_clear(ec_slave_t *); |
243 |
246 |
244 void ec_slave_clear_sync_managers(ec_slave_t *); |
247 void ec_slave_clear_sync_managers(ec_slave_t *); |
245 |
248 |
246 void ec_slave_request_state(ec_slave_t *, ec_slave_state_t); |
249 void ec_slave_request_state(ec_slave_t *, ec_slave_state_t); |