equal
deleted
inserted
replaced
95 }; |
95 }; |
96 |
96 |
97 /*****************************************************************************/ |
97 /*****************************************************************************/ |
98 |
98 |
99 /** |
99 /** |
100 String object (EEPROM). |
|
101 */ |
|
102 |
|
103 typedef struct |
|
104 { |
|
105 struct list_head list; /**< list item */ |
|
106 size_t size; /**< size in bytes */ |
|
107 char *data; /**< string data */ |
|
108 } |
|
109 ec_sii_string_t; |
|
110 |
|
111 /*****************************************************************************/ |
|
112 |
|
113 /** |
|
114 Sync manager configuration (EEPROM). |
100 Sync manager configuration (EEPROM). |
115 */ |
101 */ |
116 |
102 |
117 typedef struct |
103 typedef struct |
118 { |
104 { |
238 uint16_t sii_rx_mailbox_size; /**< mailbox size (master to slave) */ |
224 uint16_t sii_rx_mailbox_size; /**< mailbox size (master to slave) */ |
239 uint16_t sii_tx_mailbox_offset; /**< mailbox address (slave to master) */ |
225 uint16_t sii_tx_mailbox_offset; /**< mailbox address (slave to master) */ |
240 uint16_t sii_tx_mailbox_size; /**< mailbox size (slave to master) */ |
226 uint16_t sii_tx_mailbox_size; /**< mailbox size (slave to master) */ |
241 uint16_t sii_mailbox_protocols; /**< supported mailbox protocols */ |
227 uint16_t sii_mailbox_protocols; /**< supported mailbox protocols */ |
242 uint8_t sii_physical_layer[4]; /**< port media */ |
228 uint8_t sii_physical_layer[4]; /**< port media */ |
243 struct list_head sii_strings; /**< EEPROM STRING categories */ |
229 char **sii_strings; /**< strings in EEPROM categories */ |
|
230 unsigned int sii_string_count; /**< number of EEPROM strings */ |
244 ec_sii_sync_t *sii_syncs; /**< EEPROM SYNC MANAGER categories */ |
231 ec_sii_sync_t *sii_syncs; /**< EEPROM SYNC MANAGER categories */ |
245 unsigned int sii_sync_count; /**< number of sync managers in EEPROM */ |
232 unsigned int sii_sync_count; /**< number of sync managers in EEPROM */ |
246 struct list_head sii_pdos; /**< EEPROM [RT]XPDO categories */ |
233 struct list_head sii_pdos; /**< EEPROM [RT]XPDO categories */ |
247 char *sii_group; /**< slave group acc. to EEPROM */ |
234 char *sii_group; /**< slave group acc. to EEPROM */ |
248 char *sii_image; /**< slave image name acc. to EEPROM */ |
235 char *sii_image; /**< slave image name acc. to EEPROM */ |
281 int ec_slave_fetch_sii_syncs(ec_slave_t *, const uint8_t *, size_t); |
268 int ec_slave_fetch_sii_syncs(ec_slave_t *, const uint8_t *, size_t); |
282 int ec_slave_fetch_sii_pdos(ec_slave_t *, const uint8_t *, size_t, |
269 int ec_slave_fetch_sii_pdos(ec_slave_t *, const uint8_t *, size_t, |
283 ec_sii_pdo_type_t); |
270 ec_sii_pdo_type_t); |
284 |
271 |
285 // misc. |
272 // misc. |
286 int ec_slave_locate_sii_string(ec_slave_t *, unsigned int, char **); |
|
287 ec_sii_sync_t *ec_slave_get_pdo_sync(ec_slave_t *, ec_direction_t); |
273 ec_sii_sync_t *ec_slave_get_pdo_sync(ec_slave_t *, ec_direction_t); |
288 void ec_slave_sync_config(const ec_slave_t *, const ec_sii_sync_t *, |
274 void ec_slave_sync_config(const ec_slave_t *, const ec_sii_sync_t *, |
289 uint8_t *); |
275 uint8_t *); |
290 void ec_slave_fmmu_config(const ec_slave_t *, const ec_fmmu_t *, uint8_t *); |
276 void ec_slave_fmmu_config(const ec_slave_t *, const ec_fmmu_t *, uint8_t *); |
291 uint16_t ec_slave_calc_sync_size(const ec_slave_t *, const ec_sii_sync_t *); |
277 uint16_t ec_slave_calc_sync_size(const ec_slave_t *, const ec_sii_sync_t *); |