185 uint16_t sii_alias; /**< Configured station alias */ |
185 uint16_t sii_alias; /**< Configured station alias */ |
186 uint32_t sii_vendor_id; /**< Identifikationsnummer des Herstellers */ |
186 uint32_t sii_vendor_id; /**< Identifikationsnummer des Herstellers */ |
187 uint32_t sii_product_code; /**< Herstellerspezifischer Produktcode */ |
187 uint32_t sii_product_code; /**< Herstellerspezifischer Produktcode */ |
188 uint32_t sii_revision_number; /**< Revisionsnummer */ |
188 uint32_t sii_revision_number; /**< Revisionsnummer */ |
189 uint32_t sii_serial_number; /**< Seriennummer der Klemme */ |
189 uint32_t sii_serial_number; /**< Seriennummer der Klemme */ |
190 uint32_t sii_mailbox_protocols; /**< Unterstützte Mailbox-Protokolle */ |
190 uint16_t sii_rx_mailbox_offset; /**< Adresse der Mailbox (Master->Slave) */ |
|
191 uint16_t sii_rx_mailbox_size; /**< Adresse der Mailbox (Master->Slave) */ |
|
192 uint16_t sii_tx_mailbox_offset; /**< Adresse der Mailbox (Slave->Master) */ |
|
193 uint16_t sii_tx_mailbox_size; /**< Adresse der Mailbox (Slave->Master) */ |
|
194 uint16_t sii_mailbox_protocols; /**< Unterstützte Mailbox-Protokolle */ |
191 |
195 |
192 const ec_slave_type_t *type; /**< Zeiger auf die Beschreibung |
196 const ec_slave_type_t *type; /**< Zeiger auf die Beschreibung |
193 des Slave-Typs */ |
197 des Slave-Typs */ |
194 |
198 |
195 uint8_t registered; /**< Der Slave wurde registriert */ |
199 uint8_t registered; /**< Der Slave wurde registriert */ |
214 void ec_slave_init(ec_slave_t *, ec_master_t *); |
218 void ec_slave_init(ec_slave_t *, ec_master_t *); |
215 void ec_slave_clear(ec_slave_t *); |
219 void ec_slave_clear(ec_slave_t *); |
216 |
220 |
217 // Slave control |
221 // Slave control |
218 int ec_slave_fetch(ec_slave_t *); |
222 int ec_slave_fetch(ec_slave_t *); |
219 int ec_slave_sii_read(ec_slave_t *, uint16_t, uint32_t *); |
223 int ec_slave_sii_read16(ec_slave_t *, uint16_t, uint16_t *); |
220 int ec_slave_sii_write(ec_slave_t *, uint16_t, uint16_t); |
224 int ec_slave_sii_read32(ec_slave_t *, uint16_t, uint32_t *); |
|
225 int ec_slave_sii_write16(ec_slave_t *, uint16_t, uint16_t); |
221 int ec_slave_state_change(ec_slave_t *, uint8_t); |
226 int ec_slave_state_change(ec_slave_t *, uint8_t); |
222 int ec_slave_set_fmmu(ec_slave_t *, const ec_domain_t *, const ec_sync_t *); |
227 int ec_slave_set_fmmu(ec_slave_t *, const ec_domain_t *, const ec_sync_t *); |
223 |
228 |
224 // Mailbox |
229 // Mailbox |
225 int ec_slave_mailbox_send(ec_slave_t *, uint8_t, const uint8_t *, size_t); |
230 int ec_slave_mailbox_send(ec_slave_t *, uint8_t, const uint8_t *, size_t); |