master/voe_handler.h
changeset 1327 4d179b06dd3c
parent 1326 ef907b0b5125
child 1363 11c0b2caa253
equal deleted inserted replaced
1326:ef907b0b5125 1327:4d179b06dd3c
    24  *
    24  *
    25  *****************************************************************************/
    25  *****************************************************************************/
    26 
    26 
    27 /**
    27 /**
    28    \file
    28    \file
    29    Vendor-specific-over-EtherCAT protocol handler.
    29    Vendor specific over EtherCAT protocol handler.
    30 */
    30 */
    31 
    31 
    32 /*****************************************************************************/
    32 /*****************************************************************************/
    33 
    33 
    34 #ifndef __EC_VOE_HANDLER_H__
    34 #ifndef __EC_VOE_HANDLER_H__
    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. */