master/slave.h
changeset 1420 5eb814732c46
parent 1419 8fc38c37d86e
child 1421 043a518831b2
equal deleted inserted replaced
1419:8fc38c37d86e 1420:5eb814732c46
    90     struct list_head pdos; /**< SII [RT]XPDO categories. */
    90     struct list_head pdos; /**< SII [RT]XPDO categories. */
    91 } ec_sii_t;
    91 } ec_sii_t;
    92 
    92 
    93 /*****************************************************************************/
    93 /*****************************************************************************/
    94 
    94 
    95 /** EtherCAT slave port information.
       
    96  */
       
    97 typedef struct {
       
    98     uint8_t dl_link; /**< Link detected. */
       
    99     uint8_t dl_loop; /**< Loop closed. */
       
   100     uint8_t dl_signal; /**< Detected signal on RX port. */
       
   101 } ec_slave_port_t;
       
   102 
       
   103 /*****************************************************************************/
       
   104 
       
   105 /** EtherCAT slave.
    95 /** EtherCAT slave.
   106  */
    96  */
   107 struct ec_slave
    97 struct ec_slave
   108 {
    98 {
   109     ec_master_t *master; /**< Master owning the slave. */
    99     ec_master_t *master; /**< Master owning the slave. */
   134     uint8_t base_dc_supported; /**< Distributed clocks are supported. */
   124     uint8_t base_dc_supported; /**< Distributed clocks are supported. */
   135     ec_slave_dc_range_t base_dc_range; /**< DC range. */
   125     ec_slave_dc_range_t base_dc_range; /**< DC range. */
   136     uint8_t has_dc_system_time; /**< The slave supports the DC system time
   126     uint8_t has_dc_system_time; /**< The slave supports the DC system time
   137                                   register. Otherwise it can only be used for
   127                                   register. Otherwise it can only be used for
   138                                   delay measurement. */
   128                                   delay measurement. */
       
   129     uint32_t dc_receive_times[EC_MAX_PORTS]; /**< Port receive times for delay
       
   130                                                measurement. */
   139 
   131 
   140     // data link status
   132     // data link status
   141     ec_slave_port_t ports[EC_MAX_PORTS]; /**< Port link status. */
   133     ec_slave_port_t ports[EC_MAX_PORTS]; /**< Port link status. */
   142 
   134 
   143     // SII
   135     // SII