equal
deleted
inserted
replaced
80 /**< Acknowledge/Error bit (no actual state) */ |
80 /**< Acknowledge/Error bit (no actual state) */ |
81 } ec_slave_state_t; |
81 } ec_slave_state_t; |
82 |
82 |
83 /*****************************************************************************/ |
83 /*****************************************************************************/ |
84 |
84 |
85 /** EtherCAT slave online state. |
|
86 */ |
|
87 typedef enum { |
|
88 EC_SLAVE_OFFLINE, |
|
89 EC_SLAVE_ONLINE |
|
90 } ec_slave_online_state_t; |
|
91 |
|
92 /*****************************************************************************/ |
|
93 |
|
94 /** Supported mailbox protocols. |
85 /** Supported mailbox protocols. |
95 */ |
86 */ |
96 enum { |
87 enum { |
97 EC_MBOX_AOE = 0x01, /**< ADS-over-EtherCAT */ |
88 EC_MBOX_AOE = 0x01, /**< ADS-over-EtherCAT */ |
98 EC_MBOX_EOE = 0x02, /**< Ethernet-over-EtherCAT */ |
89 EC_MBOX_EOE = 0x02, /**< Ethernet-over-EtherCAT */ |
180 |
171 |
181 // configuration |
172 // configuration |
182 ec_slave_config_t *config; /**< Current configuration. */ |
173 ec_slave_config_t *config; /**< Current configuration. */ |
183 ec_slave_state_t requested_state; /**< Requested application state. */ |
174 ec_slave_state_t requested_state; /**< Requested application state. */ |
184 ec_slave_state_t current_state; /**< Current application state. */ |
175 ec_slave_state_t current_state; /**< Current application state. */ |
185 ec_slave_online_state_t online_state; /**< online state */ |
|
186 unsigned int self_configured; /**< Slave was configured by this master. */ |
176 unsigned int self_configured; /**< Slave was configured by this master. */ |
187 unsigned int error_flag; /**< Stop processing after an error. */ |
177 unsigned int error_flag; /**< Stop processing after an error. */ |
188 |
178 |
189 // base data |
179 // base data |
190 uint8_t base_type; /**< slave type */ |
180 uint8_t base_type; /**< slave type */ |
218 |
208 |
219 void ec_slave_clear_sync_managers(ec_slave_t *); |
209 void ec_slave_clear_sync_managers(ec_slave_t *); |
220 |
210 |
221 void ec_slave_request_state(ec_slave_t *, ec_slave_state_t); |
211 void ec_slave_request_state(ec_slave_t *, ec_slave_state_t); |
222 void ec_slave_set_state(ec_slave_t *, ec_slave_state_t); |
212 void ec_slave_set_state(ec_slave_t *, ec_slave_state_t); |
223 void ec_slave_set_online_state(ec_slave_t *, ec_slave_online_state_t); |
|
224 |
213 |
225 // SII categories |
214 // SII categories |
226 int ec_slave_fetch_sii_strings(ec_slave_t *, const uint8_t *, size_t); |
215 int ec_slave_fetch_sii_strings(ec_slave_t *, const uint8_t *, size_t); |
227 int ec_slave_fetch_sii_general(ec_slave_t *, const uint8_t *, size_t); |
216 int ec_slave_fetch_sii_general(ec_slave_t *, const uint8_t *, size_t); |
228 int ec_slave_fetch_sii_syncs(ec_slave_t *, const uint8_t *, size_t); |
217 int ec_slave_fetch_sii_syncs(ec_slave_t *, const uint8_t *, size_t); |