master/slave.h
changeset 133 b36d187ecc0b
parent 126 bbc963b9fead
child 135 80d493917205
--- a/master/slave.h	Mon Mar 27 12:04:55 2006 +0000
+++ b/master/slave.h	Mon Mar 27 15:52:08 2006 +0000
@@ -39,6 +39,22 @@
 /*****************************************************************************/
 
 /**
+   Unterstützte Mailbox-Protokolle.
+*/
+
+enum
+{
+    EC_MBOX_AOE = 0x01, /**< ADS over EtherCAT */
+    EC_MBOX_EOE = 0x02, /**< Ethernet over EtherCAT */
+    EC_MBOX_COE = 0x04, /**< CANopen over EtherCAT */
+    EC_MBOX_FOE = 0x08, /**< File Service over EtherCAT */
+    EC_MBOX_SOE = 0x10, /**< Servo Profile over EtherCAT */
+    EC_MBOX_VOE = 0x20  /**< Vendor specific */
+};
+
+/*****************************************************************************/
+
+/**
    FMMU-Konfiguration.
 */
 
@@ -154,6 +170,7 @@
     uint32_t sii_product_code; /**< Herstellerspezifischer Produktcode */
     uint32_t sii_revision_number; /**< Revisionsnummer */
     uint32_t sii_serial_number; /**< Seriennummer der Klemme */
+    uint32_t sii_mailbox_protocols; /**< Unterstützte Mailbox-Protokolle */
 
     const ec_slave_type_t *type; /**< Zeiger auf die Beschreibung
                                     des Slave-Typs */
@@ -185,6 +202,13 @@
 int ec_slave_state_change(ec_slave_t *, uint8_t);
 int ec_slave_set_fmmu(ec_slave_t *, const ec_domain_t *, const ec_sync_t *);
 
+// Mailbox
+int ec_slave_mailbox_send(ec_slave_t *, uint8_t, const uint8_t *, size_t);
+int ec_slave_mailbox_receive(ec_slave_t *, uint8_t, uint8_t *, size_t *);
+
+// CANopen over EtherCAT
+int ec_slave_fetch_sdo_list(ec_slave_t *);
+
 // Misc
 void ec_slave_print(const ec_slave_t *);
 int ec_slave_check_crc(ec_slave_t *);