drivers/ec_slave.h
changeset 5 6f2508af550c
parent 0 05c992bf5847
child 39 6965c23a6826
equal deleted inserted replaced
4:394c89f02e48 5:6f2508af550c
    16 
    16 
    17 /***************************************************************/
    17 /***************************************************************/
    18 
    18 
    19 /**
    19 /**
    20    EtherCAT-Slave
    20    EtherCAT-Slave
       
    21 
       
    22    Achtung: Bei Änderungen dieser Struktur immer das Define
       
    23    ECAT_INIT_SLAVE anpassen!
    21 */
    24 */
    22 
    25 
    23 typedef struct
    26 typedef struct
    24 {
    27 {
    25   // Base data
    28   // Base data
    33 
    36 
    34   // Slave information interface
    37   // Slave information interface
    35   unsigned int vendor_id; /**< Identifikationsnummer des Herstellers */
    38   unsigned int vendor_id; /**< Identifikationsnummer des Herstellers */
    36   unsigned int product_code; /**< Herstellerspezifischer Produktcode */
    39   unsigned int product_code; /**< Herstellerspezifischer Produktcode */
    37   unsigned int revision_number; /**< Revisionsnummer */
    40   unsigned int revision_number; /**< Revisionsnummer */
       
    41   unsigned int serial_number; /**< Seriennummer der Klemme */
    38 
    42 
    39   const EtherCAT_slave_desc_t *desc; /**< Zeiger auf die Beschreibung
    43   const EtherCAT_slave_desc_t *desc; /**< Zeiger auf die Beschreibung
    40                                         des Slave-Typs */
    44                                         des Slave-Typs */
    41 
    45 
    42   unsigned int logical_address0; /**< Konfigurierte, logische adresse */
    46   unsigned int logical_address0; /**< Konfigurierte, logische adresse */
    47   unsigned char *process_data; /**< Zeiger auf den Speicherbereich
    51   unsigned char *process_data; /**< Zeiger auf den Speicherbereich
    48                                   im Prozessdatenspeicher des Masters */
    52                                   im Prozessdatenspeicher des Masters */
    49 }
    53 }
    50 EtherCAT_slave_t;
    54 EtherCAT_slave_t;
    51 
    55 
    52 #define ECAT_INIT_SLAVE(TYPE) {0, 0, 0, 0, 0, 0, 0, 0, \
    56 #define ECAT_INIT_SLAVE(TYPE) {0, 0, 0, 0, 0, 0, 0, 0, 0, \
    53                                TYPE, 0, ECAT_STATE_UNKNOWN, \
    57                                TYPE, 0, ECAT_STATE_UNKNOWN, \
    54                                ECAT_STATE_UNKNOWN, NULL}
    58                                ECAT_STATE_UNKNOWN, NULL}
    55 
    59 
    56 /***************************************************************/
    60 /***************************************************************/
    57 
    61