242 return ret; |
242 return ret; |
243 } |
243 } |
244 |
244 |
245 /*****************************************************************************/ |
245 /*****************************************************************************/ |
246 |
246 |
|
247 void ecrt_slave_config_dc_assign_activate(ec_slave_config_t *sc, |
|
248 uint16_t assign_activate) |
|
249 { |
|
250 ec_ioctl_sc_dc_t data; |
|
251 |
|
252 data.config_index = sc->index; |
|
253 data.assign_activate = assign_activate; |
|
254 |
|
255 if (ioctl(sc->master->fd, EC_IOCTL_SC_DC_ASSIGN, &data) == -1) { |
|
256 fprintf(stderr, "Failed to set assign_activate word.\n"); |
|
257 } |
|
258 } |
|
259 |
|
260 /*****************************************************************************/ |
|
261 |
|
262 void ecrt_slave_config_dc_sync_cycle_times(ec_slave_config_t *sc, |
|
263 uint32_t sync0_cycle_time, uint32_t sync1_cycle_time) |
|
264 { |
|
265 ec_ioctl_sc_dc_t data; |
|
266 |
|
267 data.config_index = sc->index; |
|
268 data.cycle[0] = sync0_cycle_time; |
|
269 data.cycle[1] = sync1_cycle_time; |
|
270 |
|
271 if (ioctl(sc->master->fd, EC_IOCTL_SC_DC_CYCLE, &data) == -1) { |
|
272 fprintf(stderr, "Failed to set assign_activate word.\n"); |
|
273 } |
|
274 } |
|
275 |
|
276 /*****************************************************************************/ |
|
277 |
|
278 void ecrt_slave_config_dc_sync_shift_times(ec_slave_config_t *sc, |
|
279 uint32_t sync0_shift_time, uint32_t sync1_shift_time) |
|
280 { |
|
281 ec_ioctl_sc_dc_t data; |
|
282 |
|
283 data.config_index = sc->index; |
|
284 data.shift[0] = sync0_shift_time; |
|
285 data.shift[1] = sync1_shift_time; |
|
286 |
|
287 if (ioctl(sc->master->fd, EC_IOCTL_SC_DC_SHIFT, &data) == -1) { |
|
288 fprintf(stderr, "Failed to set assign_activate word.\n"); |
|
289 } |
|
290 } |
|
291 |
|
292 /*****************************************************************************/ |
|
293 |
247 int ecrt_slave_config_sdo(ec_slave_config_t *sc, uint16_t index, |
294 int ecrt_slave_config_sdo(ec_slave_config_t *sc, uint16_t index, |
248 uint8_t subindex, const uint8_t *sdo_data, size_t size) |
295 uint8_t subindex, const uint8_t *sdo_data, size_t size) |
249 { |
296 { |
250 ec_ioctl_sc_sdo_t data; |
297 ec_ioctl_sc_sdo_t data; |
251 |
298 |