IgH EtherCAT Master  1.6.2
mailbox.c File Reference

Mailbox functionality. More...

Go to the source code of this file.

Functions

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. More...
 
int ec_slave_mbox_prepare_check (const ec_slave_t *slave, ec_datagram_t *datagram)
 Prepares a datagram for checking the mailbox state. More...
 
int ec_slave_mbox_check (const ec_datagram_t *datagram)
 Processes a mailbox state checking datagram. More...
 
int ec_slave_mbox_prepare_fetch (const ec_slave_t *slave, ec_datagram_t *datagram)
 Prepares a datagram to fetch mailbox data. More...
 
uint8_t * ec_slave_mbox_fetch (const ec_slave_t *slave, const ec_datagram_t *datagram, uint8_t *type, size_t *size)
 Processes received mailbox data. More...
 

Variables

const ec_code_msg_t mbox_error_messages []
 Mailbox error codes. More...
 

Detailed Description

Mailbox functionality.

Definition in file mailbox.c.

Function Documentation

◆ ec_slave_mbox_prepare_send()

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 43 of file mailbox.c.

◆ ec_slave_mbox_prepare_check()

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 88 of file mailbox.c.

◆ ec_slave_mbox_check()

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 107 of file mailbox.c.

◆ ec_slave_mbox_prepare_fetch()

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 119 of file mailbox.c.

◆ ec_slave_mbox_fetch()

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

Processes received mailbox data.

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

Definition at line 157 of file mailbox.c.

Variable Documentation

◆ mbox_error_messages

const ec_code_msg_t mbox_error_messages[]
Initial value:
= {
{0x00000001, "MBXERR_SYNTAX"},
{0x00000002, "MBXERR_UNSUPPORTEDPROTOCOL"},
{0x00000003, "MBXERR_INVAILDCHANNEL"},
{0x00000004, "MBXERR_SERVICENOTSUPPORTED"},
{0x00000005, "MBXERR_INVALIDHEADER"},
{0x00000006, "MBXERR_SIZETOOSHORT"},
{0x00000007, "MBXERR_NOMOREMEMORY"},
{0x00000008, "MBXERR_INVALIDSIZE"},
{}
}

Mailbox error codes.

Definition at line 139 of file mailbox.c.