lib/master.c
branchstable-1.5
changeset 2419 fdb85a806585
parent 2380 cf9db49bcce8
child 2426 58572b4208ba
equal deleted inserted replaced
2417:63bef67e812b 2419:fdb85a806585
   254 int ecrt_master_get_sync_manager(ec_master_t *master, uint16_t slave_position,
   254 int ecrt_master_get_sync_manager(ec_master_t *master, uint16_t slave_position,
   255         uint8_t sync_index, ec_sync_info_t *sync)
   255         uint8_t sync_index, ec_sync_info_t *sync)
   256 {
   256 {
   257     ec_ioctl_slave_sync_t data;
   257     ec_ioctl_slave_sync_t data;
   258 
   258 
   259     if (sync_index >= EC_MAX_SYNC_MANAGERS)
   259     if (sync_index >= EC_MAX_SYNC_MANAGERS) {
   260         return -ENOENT;
   260         return -ENOENT;
       
   261     }
   261 
   262 
   262     memset(&data, 0x00, sizeof(ec_ioctl_slave_sync_t));
   263     memset(&data, 0x00, sizeof(ec_ioctl_slave_sync_t));
   263     data.slave_position = slave_position;
   264     data.slave_position = slave_position;
   264     data.sync_index = sync_index;
   265     data.sync_index = sync_index;
   265 
   266 
   550     }
   551     }
   551 }
   552 }
   552 
   553 
   553 /*****************************************************************************/
   554 /*****************************************************************************/
   554 
   555 
       
   556 int ecrt_master_link_state(const ec_master_t *master, unsigned int dev_idx,
       
   557         ec_master_link_state_t *state)
       
   558 {
       
   559     ec_ioctl_link_state_t io;
       
   560 
       
   561     io.dev_idx = dev_idx;
       
   562     io.state = state;
       
   563     if (ioctl(master->fd, EC_IOCTL_MASTER_LINK_STATE, &io) == -1) {
       
   564         fprintf(stderr, "Failed to get link state: %s\n", strerror(errno));
       
   565         return -errno;
       
   566     }
       
   567 }
       
   568 
       
   569 /*****************************************************************************/
       
   570 
   555 void ecrt_master_application_time(ec_master_t *master, uint64_t app_time)
   571 void ecrt_master_application_time(ec_master_t *master, uint64_t app_time)
   556 {
   572 {
   557     ec_ioctl_app_time_t data;
   573     ec_ioctl_app_time_t data;
   558 
   574 
   559     data.app_time = app_time;
   575     data.app_time = app_time;