lib/master.c
changeset 1495 88f242b722ce
parent 1494 6c632c8f45cc
child 1497 c9308eb34c0e
equal deleted inserted replaced
1494:6c632c8f45cc 1495:88f242b722ce
    40 #include "slave_config.h"
    40 #include "slave_config.h"
    41 #include "master/ioctl.h"
    41 #include "master/ioctl.h"
    42 
    42 
    43 /*****************************************************************************/
    43 /*****************************************************************************/
    44 
    44 
    45 int ecrt_master_reserve(ec_master_t *master)
       
    46 {
       
    47     if (ioctl(master->fd, EC_IOCTL_REQUEST, NULL) == -1) {
       
    48         fprintf(stderr, "Failed to reserve master: %s\n",
       
    49                 strerror(errno));
       
    50         return -1;
       
    51     }
       
    52 }
       
    53 
       
    54 /*****************************************************************************/
       
    55 
       
    56 ec_domain_t *ecrt_master_create_domain(ec_master_t *master)
    45 ec_domain_t *ecrt_master_create_domain(ec_master_t *master)
    57 {
    46 {
    58     ec_domain_t *domain;
    47     ec_domain_t *domain;
    59     int index;
    48     int index;
    60 
    49 
   109     sc->index = data.config_index;
    98     sc->index = data.config_index;
   110     sc->alias = alias;
    99     sc->alias = alias;
   111     sc->position = position;
   100     sc->position = position;
   112     return sc;
   101     return sc;
   113 }
   102 }
   114 
       
   115 
       
   116 /*****************************************************************************/
       
   117 
       
   118 int ecrt_master(ec_master_t* master,
       
   119 		ec_master_info_t *master_info)
       
   120 {
       
   121 	ec_ioctl_master_t data;
       
   122 	if (ioctl(master->fd, EC_IOCTL_MASTER, &data) < 0) {
       
   123 		fprintf(stderr, "Failed to get master info: %s\n",
       
   124 				strerror(errno));
       
   125 		return -1;
       
   126 	}
       
   127 	master_info->slave_count = data.slave_count;
       
   128 	master_info->link_up = data.devices[0].link_state;
       
   129 	master_info->app_time = data.app_time;
       
   130 	return 0;
       
   131 }
       
   132 
       
   133 
   103 
   134 /*****************************************************************************/
   104 /*****************************************************************************/
   135 
   105 
   136 int ecrt_master_slave(ec_master_t *master, uint16_t position,
   106 int ecrt_master_slave(ec_master_t *master, uint16_t position,
   137         ec_slave_info_t *slave_info)
   107         ec_slave_info_t *slave_info)