IgH EtherCAT Master  1.6.0-rc1
mailbox.h File Reference

Mailbox functionality. More...

Go to the source code of this file.

Macros

#define EC_MBOX_HEADER_SIZE   6
 Size of the mailbox header.
 

Enumerations

enum  {
  EC_MBOX_TYPE_EOE = 0x02, EC_MBOX_TYPE_COE = 0x03, EC_MBOX_TYPE_FOE = 0x04, EC_MBOX_TYPE_SOE = 0x05,
  EC_MBOX_TYPE_VOE = 0x0f
}
 Mailbox types. More...
 

Functions

uint8_t * ec_slave_mbox_prepare_send (const ec_slave_t *, ec_datagram_t *, uint8_t, size_t)
 Prepares a mailbox-send datagram. More...
 
int ec_slave_mbox_prepare_check (const ec_slave_t *, ec_datagram_t *)
 Prepares a datagram for checking the mailbox state. More...
 
int ec_slave_mbox_check (const ec_datagram_t *)
 Processes a mailbox state checking datagram. More...
 
int ec_slave_mbox_prepare_fetch (const ec_slave_t *, ec_datagram_t *)
 Prepares a datagram to fetch mailbox data. More...
 
uint8_t * ec_slave_mbox_fetch (const ec_slave_t *, ec_mbox_data_t *, uint8_t *, size_t *)
 Processes received mailbox data. More...
 

Detailed Description

Mailbox functionality.

Definition in file mailbox.h.

Enumeration Type Documentation

anonymous enum

Mailbox types.

These are used in the 'Type' field of the mailbox header.

Definition at line 52 of file mailbox.h.

Function Documentation

uint8_t* ec_slave_mbox_prepare_send ( const ec_slave_t slave,
ec_datagram_t datagram,
uint8_t  type,
size_t  size 
)

Prepares a mailbox-send datagram.

Returns
Pointer to mailbox datagram data, or ERR_PTR() code.
Parameters
slaveslave
datagramdatagram
typemailbox protocol
sizesize of the data

Definition at line 51 of file mailbox.c.

int ec_slave_mbox_prepare_check ( const ec_slave_t slave,
ec_datagram_t datagram 
)

Prepares a datagram for checking the mailbox state.

Todo:
Determine sync manager used for receive mailbox
Returns
0 in case of success, else < 0
Parameters
slaveslave
datagramdatagram

Definition at line 97 of file mailbox.c.

int ec_slave_mbox_check ( const ec_datagram_t datagram)

Processes a mailbox state checking datagram.

Returns
0 in case of success, else < 0
Parameters
datagramdatagram

Definition at line 116 of file mailbox.c.

int ec_slave_mbox_prepare_fetch ( const ec_slave_t slave,
ec_datagram_t datagram 
)

Prepares a datagram to fetch mailbox data.

Returns
0 in case of success, else < 0
Parameters
slaveslave
datagramdatagram

Definition at line 128 of file mailbox.c.

uint8_t* ec_slave_mbox_fetch ( const ec_slave_t slave,
ec_mbox_data_t response_data,
uint8_t *  type,
size_t *  size 
)

Processes received mailbox data.

Returns
Pointer to the received data, or ERR_PTR() code.
Parameters
slaveslave
response_dataresponse data
typeexpected mailbox protocol
sizesize of the received data

Definition at line 166 of file mailbox.c.