39 #include "globals.h" |
39 #include "globals.h" |
40 #include "datagram.h" |
40 #include "datagram.h" |
41 |
41 |
42 /*****************************************************************************/ |
42 /*****************************************************************************/ |
43 |
43 |
44 /** Vendor-specific-over-EtherCAT handler. |
44 /** Vendor specific over EtherCAT handler. |
45 */ |
45 */ |
46 struct ec_voe_handler { |
46 struct ec_voe_handler { |
47 struct list_head list; /**< List item. */ |
47 struct list_head list; /**< List item. */ |
48 ec_slave_config_t *config; /**< Parent slave configuration. */ |
48 ec_slave_config_t *config; /**< Parent slave configuration. */ |
49 ec_datagram_t datagram; /**< State machine datagram. */ |
49 ec_datagram_t datagram; /**< State machine datagram. */ |
50 uint32_t vendor_id; /**< Vendor ID for the header. */ |
50 uint32_t vendor_id; /**< Vendor ID for the header. */ |
51 uint16_t vendor_type; /**< Vendor type for the header. */ |
51 uint16_t vendor_type; /**< Vendor type for the header. */ |
52 size_t data_size; /**< Size of Sdo data. */ |
52 size_t data_size; /**< Size of VoE data. */ |
53 ec_direction_t dir; /**< Direction. EC_DIR_OUTPUT means writing to |
53 ec_direction_t dir; /**< Direction. EC_DIR_OUTPUT means writing to |
54 the slave, EC_DIR_INPUT means reading from the |
54 the slave, EC_DIR_INPUT means reading from the |
55 slave. */ |
55 slave. */ |
56 void (*state)(ec_voe_handler_t *); /**< State function */ |
56 void (*state)(ec_voe_handler_t *); /**< State function */ |
57 ec_internal_request_state_t request_state; /**< Handler state. */ |
57 ec_internal_request_state_t request_state; /**< Handler state. */ |