lib/slave_config.c
changeset 1413 44c2b7c0ae1a
parent 1371 00e2975dc17b
child 1438 1d30b96bb04f
equal deleted inserted replaced
1412:8f7bbbd3b7ac 1413:44c2b7c0ae1a
   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