|
IgH EtherCAT Master
1.7.0
|
EtherCAT mailbox receive state machine. More...
Data Fields | |
| ec_slave_t * | slave |
| Slave the FSM runs on. More... | |
| ec_mbox_data_t * | mbox_data |
| Response buffer of the protocol. More... | |
| ec_fsm_mbox_mode_t | mode |
| Receive mode. More... | |
| unsigned long | jiffies_start |
| Reference time for the timeout. More... | |
| unsigned long | timeout_ms |
| Response timeout in [ms]. More... | |
| void(* | state )(ec_fsm_mbox_t *, ec_datagram_t *) |
| State function. More... | |
| ec_datagram_t * | datagram |
| Datagram used in the last step. More... | |
| unsigned int | retries |
| Retries upon datagram timeout. More... | |
| int | result |
| Zero on success, otherwise a negative error code. More... | |
EtherCAT mailbox receive state machine.
Checks the slave's TX mailbox and fetches its contents, until a message for the protocol in question is stored in the given mailbox response buffer. The messages are distributed to the protocol buffers by the datagram receive path (see ec_master_mbox_dispatch()), so messages of other protocols, which are fetched in the meantime, are not lost.
The slave's mailbox read lock serializes the mailbox checks and fetches of the different protocol state machines. If another state machine holds the lock, the datagram is not used and the state machine waits for the lock or the response.
Definition at line 62 of file fsm_mbox.h.
| ec_slave_t* ec_fsm_mbox::slave |
Slave the FSM runs on.
Definition at line 63 of file fsm_mbox.h.
| ec_mbox_data_t* ec_fsm_mbox::mbox_data |
Response buffer of the protocol.
Definition at line 64 of file fsm_mbox.h.
| ec_fsm_mbox_mode_t ec_fsm_mbox::mode |
Receive mode.
Definition at line 65 of file fsm_mbox.h.
| unsigned long ec_fsm_mbox::jiffies_start |
Reference time for the timeout.
Definition at line 66 of file fsm_mbox.h.
| unsigned long ec_fsm_mbox::timeout_ms |
Response timeout in [ms].
Definition at line 67 of file fsm_mbox.h.
| void(* ec_fsm_mbox::state) (ec_fsm_mbox_t *, ec_datagram_t *) |
State function.
Definition at line 68 of file fsm_mbox.h.
| ec_datagram_t* ec_fsm_mbox::datagram |
Datagram used in the last step.
Definition at line 69 of file fsm_mbox.h.
| unsigned int ec_fsm_mbox::retries |
Retries upon datagram timeout.
Definition at line 70 of file fsm_mbox.h.
| int ec_fsm_mbox::result |
Zero on success, otherwise a negative error code.
Definition at line 71 of file fsm_mbox.h.