equal
deleted
inserted
replaced
212 ec_sdo_entry_t; |
212 ec_sdo_entry_t; |
213 |
213 |
214 /*****************************************************************************/ |
214 /*****************************************************************************/ |
215 |
215 |
216 /** |
216 /** |
|
217 Variable-sized field information. |
|
218 */ |
|
219 |
|
220 typedef struct |
|
221 { |
|
222 struct list_head list; /**< list item */ |
|
223 const ec_field_t *field; /**< data field */ |
|
224 size_t size; /**< field size */ |
|
225 } |
|
226 ec_varsize_t; |
|
227 |
|
228 /*****************************************************************************/ |
|
229 |
|
230 /** |
217 EtherCAT slave. |
231 EtherCAT slave. |
218 */ |
232 */ |
219 |
233 |
220 struct ec_slave |
234 struct ec_slave |
221 { |
235 { |
280 |
294 |
281 ec_slave_state_t requested_state; /**< requested slave state */ |
295 ec_slave_state_t requested_state; /**< requested slave state */ |
282 ec_slave_state_t current_state; /**< current slave state */ |
296 ec_slave_state_t current_state; /**< current slave state */ |
283 unsigned int state_error; /**< a state error has happened */ |
297 unsigned int state_error; /**< a state error has happened */ |
284 unsigned int online; /**< non-zero, if the slave responds. */ |
298 unsigned int online; /**< non-zero, if the slave responds. */ |
|
299 |
|
300 struct list_head varsize_fields; /**< size information for variable-sized |
|
301 data fields. */ |
285 }; |
302 }; |
286 |
303 |
287 /*****************************************************************************/ |
304 /*****************************************************************************/ |
288 |
305 |
289 // slave construction/destruction |
306 // slave construction/destruction |
308 int ec_slave_fetch_sync(ec_slave_t *, const uint8_t *, size_t); |
325 int ec_slave_fetch_sync(ec_slave_t *, const uint8_t *, size_t); |
309 int ec_slave_fetch_pdo(ec_slave_t *, const uint8_t *, size_t, ec_pdo_type_t); |
326 int ec_slave_fetch_pdo(ec_slave_t *, const uint8_t *, size_t, ec_pdo_type_t); |
310 int ec_slave_locate_string(ec_slave_t *, unsigned int, char **); |
327 int ec_slave_locate_string(ec_slave_t *, unsigned int, char **); |
311 |
328 |
312 // misc. |
329 // misc. |
|
330 size_t ec_slave_calc_sync_size(const ec_slave_t *, const ec_sync_t *); |
313 void ec_slave_print(const ec_slave_t *, unsigned int); |
331 void ec_slave_print(const ec_slave_t *, unsigned int); |
314 int ec_slave_check_crc(ec_slave_t *); |
332 int ec_slave_check_crc(ec_slave_t *); |
315 |
333 |
316 /*****************************************************************************/ |
334 /*****************************************************************************/ |
317 |
335 |