include/EtherCAT_rt.h
changeset 61 cd014255f94f
parent 56 36d1fa37f5e1
child 64 ea6ccf12c612
--- a/include/EtherCAT_rt.h	Thu Jan 26 11:06:56 2006 +0000
+++ b/include/EtherCAT_rt.h	Thu Jan 26 13:41:47 2006 +0000
@@ -20,6 +20,9 @@
 struct ec_slave;
 typedef struct ec_slave ec_slave_t;
 
+struct ec_slave_init;
+typedef struct ec_slave_init ec_slave_init_t;
+
 /*****************************************************************************/
 
 ec_master_t *EtherCAT_rt_request_master(unsigned int master_index);
@@ -32,6 +35,10 @@
                                        const char *product_name,
                                        int domain);
 
+int EtherCAT_rt_register_slave_list(ec_master_t *master,
+                                    const ec_slave_init_t *slaves,
+                                    unsigned int count);
+
 int EtherCAT_rt_activate_slaves(ec_master_t *master);
 
 int EtherCAT_rt_deactivate_slaves(ec_master_t *master);
@@ -84,4 +91,24 @@
 
 /*****************************************************************************/
 
+/**
+   Beschreibung eines EtherCAT-Slave-Typs.
+
+   Diese Beschreibung dient zur Konfiguration einer bestimmten
+   Slave-Art. Sie enthält die Konfigurationsdaten für die
+   Slave-internen Sync-Manager und FMMU's.
+*/
+
+struct ec_slave_init
+{
+    ec_slave_t **slave_ptr; /**< Zeiger auf den Slave-Zeiger, der mit der
+                               Adresse des Slaves belegt werden soll. */
+    unsigned int bus_index; /**< Bus-Index des zu registrierenden Slaves */
+    const char *vendor_name; /**< Name des Herstellers */
+    const char *product_name; /**< Name des Slaves-Typs */
+    unsigned int domain; /**< Domäne, in der registriert werden soll. */
+};
+
+/*****************************************************************************/
+
 #endif