lib/master.c
changeset 1580 1baac79a40cf
parent 1579 326d47aa986c
parent 1535 0c484ee12d89
child 1585 1f640e321ee4
equal deleted inserted replaced
1579:326d47aa986c 1580:1baac79a40cf
   334     return 0;
   334     return 0;
   335 }
   335 }
   336 
   336 
   337 /*****************************************************************************/
   337 /*****************************************************************************/
   338 
   338 
       
   339 void ecrt_master_deactivate(ec_master_t *master)
       
   340 {
       
   341     if (ioctl(master->fd, EC_IOCTL_DEACTIVATE, NULL) == -1) {
       
   342         fprintf(stderr, "Failed to deactivate master: %s\n", strerror(errno));
       
   343         return;
       
   344     }
       
   345 }
       
   346 
       
   347 /*****************************************************************************/
       
   348 
   339 void ecrt_master_send(ec_master_t *master)
   349 void ecrt_master_send(ec_master_t *master)
   340 {
   350 {
   341     if (ioctl(master->fd, EC_IOCTL_SEND, NULL) == -1) {
   351     if (ioctl(master->fd, EC_IOCTL_SEND, NULL) == -1) {
   342         fprintf(stderr, "Failed to send: %s\n", strerror(errno));
   352         fprintf(stderr, "Failed to send: %s\n", strerror(errno));
   343     }
   353     }
   393         fprintf(stderr, "Failed to sync slave clocks: %s\n", strerror(errno));
   403         fprintf(stderr, "Failed to sync slave clocks: %s\n", strerror(errno));
   394     }
   404     }
   395 }
   405 }
   396 
   406 
   397 /*****************************************************************************/
   407 /*****************************************************************************/
       
   408 
       
   409 void ecrt_master_sync_monitor_queue(ec_master_t *master)
       
   410 {
       
   411     if (ioctl(master->fd, EC_IOCTL_SYNC_MON_QUEUE, NULL) == -1) {
       
   412         fprintf(stderr, "Failed to queue sync monitor datagram: %s\n",
       
   413                 strerror(errno));
       
   414     }
       
   415 }
       
   416 
       
   417 /*****************************************************************************/
       
   418 
       
   419 uint32_t ecrt_master_sync_monitor_process(ec_master_t *master)
       
   420 {
       
   421     uint32_t time_diff;
       
   422 
       
   423     if (ioctl(master->fd, EC_IOCTL_SYNC_MON_PROCESS, &time_diff) == -1) {
       
   424         time_diff = 0xffffffff;
       
   425         fprintf(stderr, "Failed to process sync monitor datagram: %s\n",
       
   426                 strerror(errno));
       
   427     }
       
   428 
       
   429     return time_diff;
       
   430 }
       
   431 
       
   432 /*****************************************************************************/