lib/master.c
branchstable-1.5
changeset 2124 c4afc5fede19
parent 2062 9cc8f64726bb
child 2241 0ba77ef52922
equal deleted inserted replaced
2123:4c335a1d4db0 2124:c4afc5fede19
   338     ec_ioctl_slave_sdo_download_t download;
   338     ec_ioctl_slave_sdo_download_t download;
   339 
   339 
   340     download.slave_position = slave_position;
   340     download.slave_position = slave_position;
   341     download.sdo_index = index;
   341     download.sdo_index = index;
   342     download.sdo_entry_subindex = subindex;
   342     download.sdo_entry_subindex = subindex;
       
   343     download.complete_access = 0;
       
   344     download.data_size = data_size;
       
   345     download.data = data;
       
   346 
       
   347     if (ioctl(master->fd, EC_IOCTL_SLAVE_SDO_DOWNLOAD, &download) == -1) {
       
   348         if (errno == EIO && abort_code) {
       
   349             *abort_code = download.abort_code;
       
   350         }
       
   351         fprintf(stderr, "Failed to execute SDO download: %s\n",
       
   352             strerror(errno));
       
   353         return -1;
       
   354     }
       
   355 
       
   356     return 0;
       
   357 }
       
   358 
       
   359 /*****************************************************************************/
       
   360 
       
   361 int ecrt_master_sdo_download_complete(ec_master_t *master,
       
   362         uint16_t slave_position, uint16_t index, uint8_t *data,
       
   363         size_t data_size, uint32_t *abort_code)
       
   364 {
       
   365     ec_ioctl_slave_sdo_download_t download;
       
   366 
       
   367     download.slave_position = slave_position;
       
   368     download.sdo_index = index;
       
   369     download.sdo_entry_subindex = 0;
       
   370     download.complete_access = 1;
   343     download.data_size = data_size;
   371     download.data_size = data_size;
   344     download.data = data;
   372     download.data = data;
   345 
   373 
   346     if (ioctl(master->fd, EC_IOCTL_SLAVE_SDO_DOWNLOAD, &download) == -1) {
   374     if (ioctl(master->fd, EC_IOCTL_SLAVE_SDO_DOWNLOAD, &download) == -1) {
   347         if (errno == EIO && abort_code) {
   375         if (errno == EIO && abort_code) {