|
IgH EtherCAT Master
1.5.2
|
EtherCAT slave state machines. More...
Go to the source code of this file.
Macros | |
| #define | SCAN_RETRY_TIME 100 |
| Time to wait before slave scan retry [ms]. More... | |
EtherCAT slave state machines.
Definition in file fsm_slave_scan.c.
| #define SCAN_RETRY_TIME 100 |
Time to wait before slave scan retry [ms].
Used to calculate time based on the jiffies counter.
Definition at line 52 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_start | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: START.
First state of the slave state machine. Writes the station address to the slave, according to its ring position.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 211 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_address | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: ADDRESS.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 229 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_state | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: STATE.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 268 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_base | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: BASE.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 314 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_dc_cap | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: DC CAPABILITIES.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 390 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_dc_times | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: DC TIMES.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 437 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_datalink | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: DATALINK.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 680 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_assign_sii | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: ASSIGN_SII.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 726 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_sii_identity | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: SII IDENTITY.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 768 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_sii_size | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: SII SIZE.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 1042 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_sii_data | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: SII DATA.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 1138 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_sii_parse | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: SII PARSE.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 1192 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_mailbox_cleared | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: Mailbox cleared.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 1562 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_preop | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: PREOP.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 1463 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_sync | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: SYNC.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 1483 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_pdos | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: PDOS.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 1634 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_end | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
State: END.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 1704 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_error | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
State: ERROR.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 1693 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_retry | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: scan retry.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 1656 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_state_retry_wait | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan state: scan retry wait.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 1673 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_enter_datalink | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Slave scan entry function: DATALINK.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 486 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_enter_sii_identity | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Enter slave scan state SII_IDENTITY.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 505 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_enter_attach_sii | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Enter slave scan state ATTACH_SII.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 523 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_enter_sii_size | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Enter slave scan state SII_SIZE.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 617 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_enter_preop | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Enter slave scan state PREOP.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 1423 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_enter_clear_mailbox | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Enter slave scan state: Clear Mailbox.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 1541 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_enter_pdos | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Enter slave scan state PDOS.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 1617 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_init | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_slave_t * | slave, | ||
| ec_fsm_slave_config_t * | fsm_slave_config, | ||
| ec_fsm_pdo_t * | fsm_pdo | ||
| ) |
Constructor.
| fsm | Slave scanning state machine. |
| slave | slave to configure |
| fsm_slave_config | Slave configuration state machine to use. |
| fsm_pdo | PDO configuration machine to use. |
Definition at line 109 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_clear | ( | ec_fsm_slave_scan_t * | fsm | ) |
| void ec_fsm_slave_scan_start | ( | ec_fsm_slave_scan_t * | fsm | ) |
Start slave scan state machine.
| fsm | slave state machine |
Definition at line 142 of file fsm_slave_scan.c.
| int ec_fsm_slave_scan_running | ( | const ec_fsm_slave_scan_t * | fsm | ) |
| fsm | slave state machine |
Definition at line 156 of file fsm_slave_scan.c.
| int ec_fsm_slave_scan_exec | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Executes the current state of the state machine.
If the state machine's datagram is not sent or received yet, the execution of the state machine is delayed to the next cycle.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 171 of file fsm_slave_scan.c.
| int ec_fsm_slave_scan_success | ( | const ec_fsm_slave_scan_t * | fsm | ) |
| fsm | slave state machine |
Definition at line 196 of file fsm_slave_scan.c.
| void ec_fsm_slave_scan_enter_assign_sii | ( | ec_fsm_slave_scan_t * | fsm, |
| ec_datagram_t * | datagram | ||
| ) |
Enter slave scan state ASSIGN_SII.
| fsm | slave state machine |
| datagram | Datagram to use. |
Definition at line 656 of file fsm_slave_scan.c.