From 2ddf504a95de484b01d91252aa9cad07e1632019 Mon Sep 17 00:00:00 2001 From: Florian Pose <fp@igh-essen.com> Date: Fri, 13 Oct 2006 09:05:45 +0000 Subject: [PATCH] Removed additional loop in coe_down FSM; renamed mbox_type to mbox_prot. --- master/ethernet.c | 6 +++--- master/fsm.c | 14 +++++--------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/master/ethernet.c b/master/ethernet.c index 316dd130..0aa75d1f 100644 --- a/master/ethernet.c +++ b/master/ethernet.c @@ -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; diff --git a/master/fsm.c b/master/fsm.c index 6a35929a..77927507 100644 --- a/master/fsm.c +++ b/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; } -- GitLab