246 |
246 |
247 void ecrt_slave_config_dc(ec_slave_config_t *sc, uint16_t assign_activate, |
247 void ecrt_slave_config_dc(ec_slave_config_t *sc, uint16_t assign_activate, |
248 uint32_t sync0_cycle_time, uint32_t sync0_shift_time, |
248 uint32_t sync0_cycle_time, uint32_t sync0_shift_time, |
249 uint32_t sync1_cycle_time, uint32_t sync1_shift_time) |
249 uint32_t sync1_cycle_time, uint32_t sync1_shift_time) |
250 { |
250 { |
251 ec_ioctl_sc_dc_t data; |
251 ec_ioctl_config_t data; |
252 |
252 |
253 data.config_index = sc->index; |
253 data.config_index = sc->index; |
254 data.assign_activate = assign_activate; |
254 data.dc_assign_activate = assign_activate; |
255 data.sync[0].cycle_time = sync0_cycle_time; |
255 data.dc_sync[0].cycle_time = sync0_cycle_time; |
256 data.sync[0].shift_time = sync0_shift_time; |
256 data.dc_sync[0].shift_time = sync0_shift_time; |
257 data.sync[1].cycle_time = sync1_cycle_time; |
257 data.dc_sync[1].cycle_time = sync1_cycle_time; |
258 data.sync[1].shift_time = sync1_shift_time; |
258 data.dc_sync[1].shift_time = sync1_shift_time; |
259 |
259 |
260 if (ioctl(sc->master->fd, EC_IOCTL_SC_DC, &data) == -1) { |
260 if (ioctl(sc->master->fd, EC_IOCTL_SC_DC, &data) == -1) { |
261 fprintf(stderr, "Failed to set assign_activate word.\n"); |
261 fprintf(stderr, "Failed to set assign_activate word.\n"); |
262 } |
262 } |
263 } |
263 } |