equal
deleted
inserted
replaced
71 data.config_index = sc->index; |
71 data.config_index = sc->index; |
72 data.sync_index = sync_index; |
72 data.sync_index = sync_index; |
73 data.index = pdo_index; |
73 data.index = pdo_index; |
74 |
74 |
75 if (ioctl(sc->master->fd, EC_IOCTL_SC_ADD_PDO, &data) == -1) { |
75 if (ioctl(sc->master->fd, EC_IOCTL_SC_ADD_PDO, &data) == -1) { |
76 fprintf(stderr, "Failed to add Pdo: %s\n", |
76 fprintf(stderr, "Failed to add PDO: %s\n", |
77 strerror(errno)); |
77 strerror(errno)); |
78 return -1; // FIXME |
78 return -1; // FIXME |
79 } |
79 } |
80 |
80 |
81 return 0; |
81 return 0; |
90 |
90 |
91 data.config_index = sc->index; |
91 data.config_index = sc->index; |
92 data.sync_index = sync_index; |
92 data.sync_index = sync_index; |
93 |
93 |
94 if (ioctl(sc->master->fd, EC_IOCTL_SC_CLEAR_PDOS, &data) == -1) { |
94 if (ioctl(sc->master->fd, EC_IOCTL_SC_CLEAR_PDOS, &data) == -1) { |
95 fprintf(stderr, "Failed to clear Pdos: %s\n", |
95 fprintf(stderr, "Failed to clear PDOs: %s\n", |
96 strerror(errno)); |
96 strerror(errno)); |
97 } |
97 } |
98 } |
98 } |
99 |
99 |
100 /*****************************************************************************/ |
100 /*****************************************************************************/ |
110 data.entry_index = entry_index; |
110 data.entry_index = entry_index; |
111 data.entry_subindex = entry_subindex; |
111 data.entry_subindex = entry_subindex; |
112 data.entry_bit_length = entry_bit_length; |
112 data.entry_bit_length = entry_bit_length; |
113 |
113 |
114 if (ioctl(sc->master->fd, EC_IOCTL_SC_ADD_ENTRY, &data) == -1) { |
114 if (ioctl(sc->master->fd, EC_IOCTL_SC_ADD_ENTRY, &data) == -1) { |
115 fprintf(stderr, "Failed to add Pdo entry: %s\n", |
115 fprintf(stderr, "Failed to add PDO entry: %s\n", |
116 strerror(errno)); |
116 strerror(errno)); |
117 return -1; // FIXME |
117 return -1; // FIXME |
118 } |
118 } |
119 |
119 |
120 return 0; |
120 return 0; |
129 |
129 |
130 data.config_index = sc->index; |
130 data.config_index = sc->index; |
131 data.index = pdo_index; |
131 data.index = pdo_index; |
132 |
132 |
133 if (ioctl(sc->master->fd, EC_IOCTL_SC_CLEAR_ENTRIES, &data) == -1) { |
133 if (ioctl(sc->master->fd, EC_IOCTL_SC_CLEAR_ENTRIES, &data) == -1) { |
134 fprintf(stderr, "Failed to clear Pdo entries: %s\n", |
134 fprintf(stderr, "Failed to clear PDO entries: %s\n", |
135 strerror(errno)); |
135 strerror(errno)); |
136 } |
136 } |
137 } |
137 } |
138 |
138 |
139 /*****************************************************************************/ |
139 /*****************************************************************************/ |
217 data.entry_subindex = subindex; |
217 data.entry_subindex = subindex; |
218 data.domain_index = domain->index; |
218 data.domain_index = domain->index; |
219 |
219 |
220 ret = ioctl(sc->master->fd, EC_IOCTL_SC_REG_PDO_ENTRY, &data); |
220 ret = ioctl(sc->master->fd, EC_IOCTL_SC_REG_PDO_ENTRY, &data); |
221 if (ret == -1) { |
221 if (ret == -1) { |
222 fprintf(stderr, "Failed to register Pdo entry: %s\n", |
222 fprintf(stderr, "Failed to register PDO entry: %s\n", |
223 strerror(errno)); |
223 strerror(errno)); |
224 return -2; // FIXME |
224 return -2; // FIXME |
225 } |
225 } |
226 |
226 |
227 if (bit_position) { |
227 if (bit_position) { |
228 *bit_position = data.bit_position; |
228 *bit_position = data.bit_position; |
229 } else { |
229 } else { |
230 if (data.bit_position) { |
230 if (data.bit_position) { |
231 fprintf(stderr, "Pdo entry 0x%04X:%02X does not byte-align " |
231 fprintf(stderr, "PDO entry 0x%04X:%02X does not byte-align " |
232 "in config %u:%u.\n", index, subindex, |
232 "in config %u:%u.\n", index, subindex, |
233 sc->alias, sc->position); |
233 sc->alias, sc->position); |
234 return -3; // FIXME |
234 return -3; // FIXME |
235 } |
235 } |
236 } |
236 } |
250 data.subindex = subindex; |
250 data.subindex = subindex; |
251 data.data = sdo_data; |
251 data.data = sdo_data; |
252 data.size = size; |
252 data.size = size; |
253 |
253 |
254 if (ioctl(sc->master->fd, EC_IOCTL_SC_REG_PDO_ENTRY, &data) == -1) { |
254 if (ioctl(sc->master->fd, EC_IOCTL_SC_REG_PDO_ENTRY, &data) == -1) { |
255 fprintf(stderr, "Failed to configure Sdo.\n"); |
255 fprintf(stderr, "Failed to configure SDO.\n"); |
256 return -1; // FIXME |
256 return -1; // FIXME |
257 } |
257 } |
258 |
258 |
259 return 0; |
259 return 0; |
260 } |
260 } |