voe_handler.c File Reference

Vendor specific over EtherCAT protocol handler functions. More...

Go to the source code of this file.

Defines

#define EC_MBOX_TYPE_VOE   0x0f
 VoE mailbox type.
#define EC_VOE_HEADER_SIZE   6
 VoE header size.
#define EC_VOE_RESPONSE_TIMEOUT   500
 VoE response timeout in [ms].

Functions

void ec_voe_handler_state_write_start (ec_voe_handler_t *voe)
 Start writing VoE data.
void ec_voe_handler_state_write_response (ec_voe_handler_t *voe)
 Wait for the mailbox response.
void ec_voe_handler_state_read_start (ec_voe_handler_t *voe)
 Start reading VoE data.
void ec_voe_handler_state_read_check (ec_voe_handler_t *voe)
 Check for new data in the mailbox.
void ec_voe_handler_state_read_response (ec_voe_handler_t *voe)
 Read the pending mailbox data.
void ec_voe_handler_state_read_nosync_start (ec_voe_handler_t *voe)
 Start reading VoE data without sending a sync message before.
void ec_voe_handler_state_read_nosync_response (ec_voe_handler_t *voe)
 Read the pending mailbox data without sending a sync message before.
void ec_voe_handler_state_end (ec_voe_handler_t *voe)
 Successful termination state function.
void ec_voe_handler_state_error (ec_voe_handler_t *voe)
 Failure termination state function.
int ec_voe_handler_init (ec_voe_handler_t *voe, ec_slave_config_t *sc, size_t size)
 VoE handler constructor.
void ec_voe_handler_clear (ec_voe_handler_t *voe)
 VoE handler destructor.
size_t ec_voe_handler_mem_size (const ec_voe_handler_t *voe)
 Get usable memory size.
void ecrt_voe_handler_send_header (ec_voe_handler_t *voe, uint32_t vendor_id, uint16_t vendor_type)
 Sets the VoE header for future send operations.
void ecrt_voe_handler_received_header (const ec_voe_handler_t *voe, uint32_t *vendor_id, uint16_t *vendor_type)
 Reads the header data of a received VoE message.
uint8_t * ecrt_voe_handler_data (ec_voe_handler_t *voe)
 Access to the VoE handler's data.
size_t ecrt_voe_handler_data_size (const ec_voe_handler_t *voe)
 Returns the current data size.
void ecrt_voe_handler_read (ec_voe_handler_t *voe)
 Start a VoE read operation.
void ecrt_voe_handler_read_nosync (ec_voe_handler_t *voe)
 Start a VoE read operation without querying the sync manager status.
void ecrt_voe_handler_write (ec_voe_handler_t *voe, size_t size)
 Start a VoE write operation.
ec_request_state_t ecrt_voe_handler_execute (ec_voe_handler_t *voe)
 Execute the handler.


Detailed Description

Vendor specific over EtherCAT protocol handler functions.

Definition in file voe_handler.c.


Function Documentation

void ec_voe_handler_state_read_nosync_response ( ec_voe_handler_t voe  ) 

Read the pending mailbox data without sending a sync message before.

This might lead to an empty reponse from the client.

Definition at line 462 of file voe_handler.c.

int ec_voe_handler_init ( ec_voe_handler_t voe,
ec_slave_config_t sc,
size_t  size 
)

VoE handler constructor.

Returns:
Return value of ec_datagram_prealloc().
Parameters:
voe  VoE handler.
sc  Parent slave configuration.
size  Size of memory to reserve.

Definition at line 76 of file voe_handler.c.

void ec_voe_handler_clear ( ec_voe_handler_t voe  ) 

VoE handler destructor.

Parameters:
voe  VoE handler.

Definition at line 99 of file voe_handler.c.

size_t ec_voe_handler_mem_size ( const ec_voe_handler_t voe  ) 

Get usable memory size.

Returns:
Memory size.
Parameters:
voe  VoE handler.

Definition at line 112 of file voe_handler.c.


Generated on Mon Jun 20 09:31:31 2016 for IgH EtherCAT Master by  doxygen 1.5.6