include/EtherCAT_rt.h
changeset 61 cd014255f94f
parent 56 36d1fa37f5e1
child 64 ea6ccf12c612
equal deleted inserted replaced
60:2d2b120ba734 61:cd014255f94f
    18 typedef struct ec_slave_type ec_slave_type_t;
    18 typedef struct ec_slave_type ec_slave_type_t;
    19 
    19 
    20 struct ec_slave;
    20 struct ec_slave;
    21 typedef struct ec_slave ec_slave_t;
    21 typedef struct ec_slave ec_slave_t;
    22 
    22 
       
    23 struct ec_slave_init;
       
    24 typedef struct ec_slave_init ec_slave_init_t;
       
    25 
    23 /*****************************************************************************/
    26 /*****************************************************************************/
    24 
    27 
    25 ec_master_t *EtherCAT_rt_request_master(unsigned int master_index);
    28 ec_master_t *EtherCAT_rt_request_master(unsigned int master_index);
    26 
    29 
    27 void EtherCAT_rt_release_master(ec_master_t *master);
    30 void EtherCAT_rt_release_master(ec_master_t *master);
    29 ec_slave_t *EtherCAT_rt_register_slave(ec_master_t *master,
    32 ec_slave_t *EtherCAT_rt_register_slave(ec_master_t *master,
    30                                        unsigned int slave_index,
    33                                        unsigned int slave_index,
    31                                        const char *vendor_name,
    34                                        const char *vendor_name,
    32                                        const char *product_name,
    35                                        const char *product_name,
    33                                        int domain);
    36                                        int domain);
       
    37 
       
    38 int EtherCAT_rt_register_slave_list(ec_master_t *master,
       
    39                                     const ec_slave_init_t *slaves,
       
    40                                     unsigned int count);
    34 
    41 
    35 int EtherCAT_rt_activate_slaves(ec_master_t *master);
    42 int EtherCAT_rt_activate_slaves(ec_master_t *master);
    36 
    43 
    37 int EtherCAT_rt_deactivate_slaves(ec_master_t *master);
    44 int EtherCAT_rt_deactivate_slaves(ec_master_t *master);
    38 
    45 
    82     int error_reported; /**< Ein Zugriffsfehler wurde bereits gemeldet */
    89     int error_reported; /**< Ein Zugriffsfehler wurde bereits gemeldet */
    83 };
    90 };
    84 
    91 
    85 /*****************************************************************************/
    92 /*****************************************************************************/
    86 
    93 
       
    94 /**
       
    95    Beschreibung eines EtherCAT-Slave-Typs.
       
    96 
       
    97    Diese Beschreibung dient zur Konfiguration einer bestimmten
       
    98    Slave-Art. Sie enthält die Konfigurationsdaten für die
       
    99    Slave-internen Sync-Manager und FMMU's.
       
   100 */
       
   101 
       
   102 struct ec_slave_init
       
   103 {
       
   104     ec_slave_t **slave_ptr; /**< Zeiger auf den Slave-Zeiger, der mit der
       
   105                                Adresse des Slaves belegt werden soll. */
       
   106     unsigned int bus_index; /**< Bus-Index des zu registrierenden Slaves */
       
   107     const char *vendor_name; /**< Name des Herstellers */
       
   108     const char *product_name; /**< Name des Slaves-Typs */
       
   109     unsigned int domain; /**< Domäne, in der registriert werden soll. */
       
   110 };
       
   111 
       
   112 /*****************************************************************************/
       
   113 
    87 #endif
   114 #endif