equal
deleted
inserted
replaced
927 void ec_fsm_master_scan_slaves(ec_fsm_t *fsm /**< finite state machine */) |
927 void ec_fsm_master_scan_slaves(ec_fsm_t *fsm /**< finite state machine */) |
928 { |
928 { |
929 ec_master_t *master = fsm->master; |
929 ec_master_t *master = fsm->master; |
930 ec_slave_t *slave = fsm->slave; |
930 ec_slave_t *slave = fsm->slave; |
931 |
931 |
932 |
|
933 fsm->slave_state(fsm); // execute slave state machine |
932 fsm->slave_state(fsm); // execute slave state machine |
934 |
933 |
935 if (fsm->slave_state != ec_fsm_end |
934 if (fsm->slave_state != ec_fsm_end |
936 && fsm->slave_state != ec_fsm_error) return; |
935 && fsm->slave_state != ec_fsm_error) return; |
937 |
936 |
1040 ec_master_t *master = fsm->master; |
1039 ec_master_t *master = fsm->master; |
1041 |
1040 |
1042 fsm->coe_state(fsm); // execute CoE state machine |
1041 fsm->coe_state(fsm); // execute CoE state machine |
1043 |
1042 |
1044 if (fsm->coe_state == ec_fsm_error) { |
1043 if (fsm->coe_state == ec_fsm_error) { |
1045 fsm->slave->error_flag = 1; |
1044 fsm->master_state = ec_fsm_master_start; |
1046 fsm->slave_state = ec_fsm_error; |
1045 fsm->master_state(fsm); // execute immediately |
1047 return; |
1046 return; |
1048 } |
1047 } |
1049 |
1048 |
1050 if (fsm->coe_state != ec_fsm_end) return; |
1049 if (fsm->coe_state != ec_fsm_end) return; |
1051 |
1050 |