Removed additional loop in coe_down FSM; renamed mbox_type to mbox_prot.
This commit is contained in:
parent
11fb5104f0
commit
57dbce8626
|
|
@ -362,7 +362,7 @@ void ec_eoe_state_rx_check(ec_eoe_t *eoe /**< EoE handler */)
|
|||
void ec_eoe_state_rx_fetch(ec_eoe_t *eoe /**< EoE handler */)
|
||||
{
|
||||
size_t rec_size, data_size;
|
||||
uint8_t *data, frame_type, last_fragment, time_appended, mbox_type;
|
||||
uint8_t *data, frame_type, last_fragment, time_appended, mbox_prot;
|
||||
uint8_t frame_number, fragment_offset, fragment_number;
|
||||
off_t offset;
|
||||
#if EOE_DEBUG_LEVEL > 1
|
||||
|
|
@ -376,13 +376,13 @@ void ec_eoe_state_rx_fetch(ec_eoe_t *eoe /**< EoE handler */)
|
|||
}
|
||||
|
||||
if (!(data = ec_slave_mbox_fetch(eoe->slave, &eoe->datagram,
|
||||
&mbox_type, &rec_size))) {
|
||||
&mbox_prot, &rec_size))) {
|
||||
eoe->stats.rx_errors++;
|
||||
eoe->state = ec_eoe_state_tx_start;
|
||||
return;
|
||||
}
|
||||
|
||||
if (mbox_type != 0x02) {
|
||||
if (mbox_prot != 0x02) { // EoE
|
||||
eoe->stats.rx_errors++;
|
||||
eoe->state = ec_eoe_state_tx_start;
|
||||
return;
|
||||
|
|
|
|||
14
master/fsm.c
14
master/fsm.c
|
|
@ -2142,7 +2142,7 @@ void ec_fsm_coe_down_response(ec_fsm_t *fsm /**< finite state machine */)
|
|||
{
|
||||
ec_datagram_t *datagram = &fsm->datagram;
|
||||
ec_slave_t *slave = fsm->slave;
|
||||
uint8_t *data, mbox_type;
|
||||
uint8_t *data, mbox_prot;
|
||||
size_t rec_size;
|
||||
ec_sdo_data_t *sdodata = fsm->sdodata;
|
||||
|
||||
|
|
@ -2154,18 +2154,14 @@ void ec_fsm_coe_down_response(ec_fsm_t *fsm /**< finite state machine */)
|
|||
}
|
||||
|
||||
if (!(data = ec_slave_mbox_fetch(slave, datagram,
|
||||
&mbox_type, &rec_size))) {
|
||||
&mbox_prot, &rec_size))) {
|
||||
fsm->coe_state = ec_fsm_error;
|
||||
return;
|
||||
}
|
||||
|
||||
if (mbox_type != 0x03) {
|
||||
EC_WARN("Received mailbox protocol 0x%02X as a response."
|
||||
" Trying again.\n", mbox_type);
|
||||
fsm->coe_start = get_cycles();
|
||||
ec_slave_mbox_prepare_check(slave, datagram); // can not fail.
|
||||
ec_master_queue_datagram(fsm->master, datagram);
|
||||
fsm->coe_state = ec_fsm_coe_down_check;
|
||||
if (mbox_prot != 0x03) { // CoE
|
||||
EC_WARN("Received mailbox protocol 0x%02X as response.\n", mbox_prot);
|
||||
fsm->coe_state = ec_fsm_error;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue