master/slave.h
changeset 136 a03a684cac89
parent 135 80d493917205
child 139 998215ab9b92
equal deleted inserted replaced
135:80d493917205 136:a03a684cac89
   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);