master/slave.h
changeset 635 d304ef4af542
parent 630 1b755b7342eb
child 643 78929d878b2c
equal deleted inserted replaced
634:ae5fb70b359f 635:d304ef4af542
    58 #define EC_MAX_FMMUS 16
    58 #define EC_MAX_FMMUS 16
    59 
    59 
    60 /*****************************************************************************/
    60 /*****************************************************************************/
    61 
    61 
    62 /**
    62 /**
    63    State of an EtherCAT slave.
    63  * State of an EtherCAT slave.
    64 */
    64  */
    65 
    65 
    66 typedef enum
    66 typedef enum
    67 {
    67 {
    68     EC_SLAVE_STATE_UNKNOWN = 0x00,
    68     EC_SLAVE_STATE_UNKNOWN = 0x00,
    69     /**< unknown state */
    69     /**< unknown state */
    92 ec_slave_online_state_t;
    92 ec_slave_online_state_t;
    93 
    93 
    94 /*****************************************************************************/
    94 /*****************************************************************************/
    95 
    95 
    96 /**
    96 /**
    97    Supported mailbox protocols.
    97  * Supported mailbox protocols.
    98 */
    98  */
    99 
    99 
   100 enum
   100 enum
   101 {
   101 {
   102     EC_MBOX_AOE = 0x01, /**< ADS-over-EtherCAT */
   102     EC_MBOX_AOE = 0x01, /**< ADS-over-EtherCAT */
   103     EC_MBOX_EOE = 0x02, /**< Ethernet-over-EtherCAT */
   103     EC_MBOX_EOE = 0x02, /**< Ethernet-over-EtherCAT */
   108 };
   108 };
   109 
   109 
   110 /*****************************************************************************/
   110 /*****************************************************************************/
   111 
   111 
   112 /**
   112 /**
   113    EtherCAT slave.
   113  * EtherCAT slave.
   114 */
   114  */
   115 
   115 
   116 struct ec_slave
   116 struct ec_slave
   117 {
   117 {
   118     struct list_head list; /**< list item */
   118     struct list_head list; /**< list item */
   119     struct kobject kobj; /**< kobject */
   119     struct kobject kobj; /**< kobject */
   202 int ec_slave_fetch_sii_pdos(ec_slave_t *, const uint8_t *, size_t,
   202 int ec_slave_fetch_sii_pdos(ec_slave_t *, const uint8_t *, size_t,
   203         ec_pdo_type_t);
   203         ec_pdo_type_t);
   204 
   204 
   205 // misc.
   205 // misc.
   206 ec_sync_t *ec_slave_get_pdo_sync(ec_slave_t *, ec_direction_t); 
   206 ec_sync_t *ec_slave_get_pdo_sync(ec_slave_t *, ec_direction_t); 
   207 uint16_t ec_slave_calc_sync_size(const ec_slave_t *, const ec_sync_t *);
       
   208 
       
   209 int ec_slave_is_coupler(const ec_slave_t *);
   207 int ec_slave_is_coupler(const ec_slave_t *);
   210 
       
   211 int ec_slave_validate(const ec_slave_t *, uint32_t, uint32_t);
   208 int ec_slave_validate(const ec_slave_t *, uint32_t, uint32_t);
   212 
       
   213 void ec_slave_sdo_dict_info(const ec_slave_t *,
   209 void ec_slave_sdo_dict_info(const ec_slave_t *,
   214                             unsigned int *, unsigned int *);
   210         unsigned int *, unsigned int *);
   215 
   211 
   216 /*****************************************************************************/
   212 /*****************************************************************************/
   217 
   213 
   218 #endif
   214 #endif