equal
deleted
inserted
replaced
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) |