Better handling of unexpected working counters; introduced
ec_datagram_print_wc_error().
This commit is contained in:
parent
fd2c20530e
commit
5bcf9d740f
|
|
@ -299,3 +299,23 @@ int ec_datagram_lrw(ec_datagram_t *datagram,
|
|||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
/**
|
||||
* Evaluates the working counter of a single-cast datagram.
|
||||
* Outputs an error message.
|
||||
*/
|
||||
|
||||
void ec_datagram_print_wc_error(
|
||||
const ec_datagram_t *datagram
|
||||
)
|
||||
{
|
||||
if (datagram->working_counter == 0)
|
||||
printk("No response.");
|
||||
else if (datagram->working_counter > 1)
|
||||
printk("%u slaves responded!", datagram->working_counter);
|
||||
else
|
||||
printk("Success.");
|
||||
printk("\n");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
|||
|
|
@ -121,6 +121,8 @@ int ec_datagram_brd(ec_datagram_t *, uint16_t, size_t);
|
|||
int ec_datagram_bwr(ec_datagram_t *, uint16_t, size_t);
|
||||
int ec_datagram_lrw(ec_datagram_t *, uint32_t, size_t);
|
||||
|
||||
void ec_datagram_print_wc_error(const ec_datagram_t *);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -190,13 +190,14 @@ void ec_fsm_change_state_check(ec_fsm_change_t *fsm
|
|||
fsm->jiffies_start = datagram->jiffies_sent;
|
||||
}
|
||||
|
||||
if (datagram->working_counter != 1) {
|
||||
if (datagram->working_counter == 0) {
|
||||
if (datagram->jiffies_received - fsm->jiffies_start >= 3 * HZ) {
|
||||
char state_str[EC_STATE_STRING_SIZE];
|
||||
ec_state_string(fsm->requested_state, state_str);
|
||||
fsm->state = ec_fsm_change_state_error;
|
||||
EC_ERR("Failed to set state %s on slave %i: Slave did not"
|
||||
" respond.\n", state_str, fsm->slave->ring_position);
|
||||
EC_ERR("Failed to set state %s on slave %i: ",
|
||||
state_str, fsm->slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -207,6 +208,16 @@ void ec_fsm_change_state_check(ec_fsm_change_t *fsm
|
|||
return;
|
||||
}
|
||||
|
||||
if (unlikely(datagram->working_counter > 1)) {
|
||||
char state_str[EC_STATE_STRING_SIZE];
|
||||
ec_state_string(fsm->requested_state, state_str);
|
||||
fsm->state = ec_fsm_change_state_error;
|
||||
EC_ERR("Failed to set state %s on slave %i: ",
|
||||
state_str, fsm->slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
fsm->take_time = 1;
|
||||
|
||||
// read AL status from slave
|
||||
|
|
@ -242,8 +253,9 @@ void ec_fsm_change_state_status(ec_fsm_change_t *fsm
|
|||
char req_state[EC_STATE_STRING_SIZE];
|
||||
ec_state_string(fsm->requested_state, req_state);
|
||||
fsm->state = ec_fsm_change_state_error;
|
||||
EC_ERR("Failed to check state %s on slave %i.\n",
|
||||
EC_ERR("Failed to check state %s on slave %i: ",
|
||||
req_state, slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -372,7 +384,8 @@ void ec_fsm_change_state_code(ec_fsm_change_t *fsm
|
|||
}
|
||||
|
||||
if (datagram->working_counter != 1) {
|
||||
EC_WARN("Reception of AL status code datagram failed.\n");
|
||||
EC_WARN("Reception of AL status code datagram failed: ");
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
}
|
||||
else {
|
||||
if ((code = EC_READ_U16(datagram->data))) {
|
||||
|
|
@ -433,8 +446,9 @@ void ec_fsm_change_state_ack(ec_fsm_change_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_change_state_error;
|
||||
EC_ERR("Reception of state ack datagram failed - slave %i did not"
|
||||
" respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of state ack datagram failed on slave %i: ",
|
||||
slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -471,8 +485,9 @@ void ec_fsm_change_state_check_ack(ec_fsm_change_t *fsm
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_change_state_error;
|
||||
EC_ERR("Reception of state ack check datagram failed - slave %i did"
|
||||
" not respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of state ack check datagram failed on slave %i: ",
|
||||
slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -289,8 +289,9 @@ void ec_fsm_coe_dict_request(ec_fsm_coe_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE dictionary request failed - slave %i did"
|
||||
" not respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of CoE dictionary request failed on slave %i: ",
|
||||
slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -325,9 +326,9 @@ void ec_fsm_coe_dict_check(ec_fsm_coe_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE mailbox check datagram failed - slave %i did"
|
||||
" not respond.\n",
|
||||
EC_ERR("Reception of CoE mailbox check datagram failed on slave %i: ",
|
||||
slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -381,8 +382,9 @@ void ec_fsm_coe_dict_response(ec_fsm_coe_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE dictionary response failed - slave %i did"
|
||||
" not respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of CoE dictionary response failed on slave %i: ",
|
||||
slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -506,8 +508,9 @@ void ec_fsm_coe_dict_desc_request(ec_fsm_coe_t *fsm /**< finite state machine */
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE SDO description request failed - slave %i did"
|
||||
" not respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of CoE SDO description"
|
||||
" request failed on slave %i: ", slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -542,8 +545,9 @@ void ec_fsm_coe_dict_desc_check(ec_fsm_coe_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE mailbox check datagram failed - slave %i did"
|
||||
" not respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of CoE mailbox check"
|
||||
" datagram failed on slave %i: ", slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -596,8 +600,9 @@ void ec_fsm_coe_dict_desc_response(ec_fsm_coe_t *fsm
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE SDO description response failed - slave %i"
|
||||
" did not respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of CoE SDO description"
|
||||
" response failed on slave %i: ", slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -709,8 +714,9 @@ void ec_fsm_coe_dict_entry_request(ec_fsm_coe_t *fsm
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE SDO entry request failed - slave %i did"
|
||||
" not respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of CoE SDO entry request failed on slave %i: ",
|
||||
slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -746,8 +752,9 @@ void ec_fsm_coe_dict_entry_check(ec_fsm_coe_t *fsm
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE mailbox check datagram failed - slave %i did"
|
||||
" not respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of CoE mailbox check"
|
||||
" datagram failed on slave %i: ", slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -801,8 +808,9 @@ void ec_fsm_coe_dict_entry_response(ec_fsm_coe_t *fsm
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE SDO description response failed - slave %i"
|
||||
" did not respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of CoE SDO description"
|
||||
" response failed on slave %i: ", slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -991,8 +999,9 @@ void ec_fsm_coe_down_request(ec_fsm_coe_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE download request failed - slave %i did not"
|
||||
" respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of CoE download request failed on slave %i: ",
|
||||
slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1027,8 +1036,9 @@ void ec_fsm_coe_down_check(ec_fsm_coe_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE mailbox check datagram failed - slave %i did"
|
||||
" not respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of CoE mailbox check"
|
||||
" datagram failed on slave %i: ", slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1080,8 +1090,9 @@ void ec_fsm_coe_down_response(ec_fsm_coe_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE download response failed - slave %i did not"
|
||||
" respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of CoE download response failed on slave %i: ",
|
||||
slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1200,8 +1211,9 @@ void ec_fsm_coe_up_request(ec_fsm_coe_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE upload request failed - slave %i did not"
|
||||
" respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of CoE upload request failed on slave %i: ",
|
||||
slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1236,8 +1248,9 @@ void ec_fsm_coe_up_check(ec_fsm_coe_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE mailbox check datagram failed - slave %i did"
|
||||
" not respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of CoE mailbox check"
|
||||
" datagram failed on slave %i: ", slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1294,8 +1307,9 @@ void ec_fsm_coe_up_response(ec_fsm_coe_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE upload response failed - slave %i did not"
|
||||
" respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of CoE upload response failed on slave %i: ",
|
||||
slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1439,8 +1453,9 @@ void ec_fsm_coe_up_seg_request(ec_fsm_coe_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE upload segment request failed - slave %i did"
|
||||
" not respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of CoE upload segment"
|
||||
" request failed on slave %i: ", slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1475,8 +1490,9 @@ void ec_fsm_coe_up_seg_check(ec_fsm_coe_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE mailbox check datagram failed - slave %i did"
|
||||
" not respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of CoE mailbox check"
|
||||
" datagram failed on slave %i: ", slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1533,8 +1549,9 @@ void ec_fsm_coe_up_seg_response(ec_fsm_coe_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_coe_error;
|
||||
EC_ERR("Reception of CoE upload segment response failed - slave %i"
|
||||
" did not respond.\n", slave->ring_position);
|
||||
EC_ERR("Reception of CoE upload segment"
|
||||
" response failed on slave %i: ", slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -587,18 +587,21 @@ void ec_fsm_master_state_read_states(ec_fsm_master_t *fsm /**< master state mach
|
|||
|
||||
if (datagram->state != EC_DATAGRAM_RECEIVED) {
|
||||
EC_ERR("Failed to receive AL state datagram for slave %i"
|
||||
" (datagram state %i)\n", slave->ring_position, datagram->state);
|
||||
" (datagram state %i)\n",
|
||||
slave->ring_position, datagram->state);
|
||||
fsm->state = ec_fsm_master_state_error;
|
||||
return;
|
||||
}
|
||||
|
||||
// did the slave not respond to its station address?
|
||||
if (datagram->working_counter != 1) {
|
||||
if (datagram->working_counter == 0) {
|
||||
ec_slave_set_online_state(slave, EC_SLAVE_OFFLINE);
|
||||
ec_fsm_master_action_next_slave_state(fsm);
|
||||
return;
|
||||
}
|
||||
|
||||
// FIXME what to to on multiple response?
|
||||
|
||||
// slave responded
|
||||
ec_slave_set_state(slave, EC_READ_U8(datagram->data)); // set app state first
|
||||
ec_slave_set_online_state(slave, EC_SLAVE_ONLINE);
|
||||
|
|
@ -774,8 +777,9 @@ void ec_fsm_master_state_rewrite_addresses(ec_fsm_master_t *fsm
|
|||
}
|
||||
|
||||
if (datagram->working_counter != 1) {
|
||||
EC_ERR("Failed to write station address - slave %i did not respond.\n",
|
||||
EC_ERR("Failed to write station address of slave %i: ",
|
||||
slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
fsm->state = ec_fsm_master_state_error;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -196,8 +196,9 @@ void ec_fsm_sii_read_check(ec_fsm_sii_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_sii_error;
|
||||
EC_ERR("Reception of SII read datagram failed - slave %i did not"
|
||||
" respond.\n", fsm->slave->ring_position);
|
||||
EC_ERR("Reception of SII read datagram failed on slave %i: ",
|
||||
fsm->slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -242,8 +243,9 @@ void ec_fsm_sii_read_fetch(ec_fsm_sii_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_sii_error;
|
||||
EC_ERR("Reception of SII check/fetch datagram failed - slave %i did"
|
||||
" not respond\n", fsm->slave->ring_position);
|
||||
EC_ERR("Reception of SII check/fetch datagram failed on slave %i: ",
|
||||
fsm->slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -338,8 +340,9 @@ void ec_fsm_sii_write_check(ec_fsm_sii_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_sii_error;
|
||||
EC_ERR("Reception of SII write datagram failed - slave %i did not"
|
||||
" respond.\n", fsm->slave->ring_position);
|
||||
EC_ERR("Reception of SII write datagram failed on slave %i: ",
|
||||
fsm->slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -375,8 +378,9 @@ void ec_fsm_sii_write_check2(ec_fsm_sii_t *fsm /**< finite state machine */)
|
|||
|
||||
if (datagram->working_counter != 1) {
|
||||
fsm->state = ec_fsm_sii_error;
|
||||
EC_ERR("Reception of SII write check datagram failed - slave %i did"
|
||||
" not respond.\n", fsm->slave->ring_position);
|
||||
EC_ERR("Reception of SII write check datagram failed on slave %i: ",
|
||||
fsm->slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -226,8 +226,9 @@ void ec_fsm_slave_scan_state_address(ec_fsm_slave_t *fsm /**< slave state machin
|
|||
if (datagram->working_counter != 1) {
|
||||
fsm->slave->error_flag = 1;
|
||||
fsm->state = ec_fsm_slave_state_error;
|
||||
EC_ERR("Failed to write station address - slave %i did not respond.\n",
|
||||
EC_ERR("Failed to write station address on slave %i: ",
|
||||
fsm->slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -243,7 +244,9 @@ void ec_fsm_slave_scan_state_address(ec_fsm_slave_t *fsm /**< slave state machin
|
|||
Slave scan state: STATE.
|
||||
*/
|
||||
|
||||
void ec_fsm_slave_scan_state_state(ec_fsm_slave_t *fsm /**< slave state machine */)
|
||||
void ec_fsm_slave_scan_state_state(
|
||||
ec_fsm_slave_t *fsm /**< slave state machine */
|
||||
)
|
||||
{
|
||||
ec_datagram_t *datagram = fsm->datagram;
|
||||
ec_slave_t *slave = fsm->slave;
|
||||
|
|
@ -262,8 +265,9 @@ void ec_fsm_slave_scan_state_state(ec_fsm_slave_t *fsm /**< slave state machine
|
|||
if (datagram->working_counter != 1) {
|
||||
fsm->slave->error_flag = 1;
|
||||
fsm->state = ec_fsm_slave_state_error;
|
||||
EC_ERR("Failed to read AL state - slave %i did not respond.\n",
|
||||
EC_ERR("Failed to read AL state of slave %i: ",
|
||||
fsm->slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -306,8 +310,9 @@ void ec_fsm_slave_scan_state_base(ec_fsm_slave_t *fsm /**< slave state machine *
|
|||
if (datagram->working_counter != 1) {
|
||||
fsm->slave->error_flag = 1;
|
||||
fsm->state = ec_fsm_slave_state_error;
|
||||
EC_ERR("Failed to read base data - slave %i did not respond.\n",
|
||||
EC_ERR("Failed to read base data from slave %i: ",
|
||||
slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -352,8 +357,9 @@ void ec_fsm_slave_scan_state_datalink(ec_fsm_slave_t *fsm /**< slave state machi
|
|||
if (datagram->working_counter != 1) {
|
||||
fsm->slave->error_flag = 1;
|
||||
fsm->state = ec_fsm_slave_state_error;
|
||||
EC_ERR("Failed to read DL status - slave %i did not respond.\n",
|
||||
EC_ERR("Failed to read DL status from slave %i: ",
|
||||
slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -644,8 +650,9 @@ void ec_fsm_slave_conf_state_clear_fmmus(ec_fsm_slave_t *fsm
|
|||
if (datagram->working_counter != 1) {
|
||||
fsm->slave->error_flag = 1;
|
||||
fsm->state = ec_fsm_slave_state_error;
|
||||
EC_ERR("Failed to clear FMMUs - slave %i did not respond.\n",
|
||||
EC_ERR("Failed to clear FMMUs of slave %i: ",
|
||||
fsm->slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -726,8 +733,9 @@ void ec_fsm_slave_conf_state_mbox_sync(ec_fsm_slave_t *fsm /**< slave state mach
|
|||
if (datagram->working_counter != 1) {
|
||||
slave->error_flag = 1;
|
||||
fsm->state = ec_fsm_slave_state_error;
|
||||
EC_ERR("Failed to set sync managers - slave %i did not respond.\n",
|
||||
EC_ERR("Failed to set sync managers of slave %i: ",
|
||||
slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -941,8 +949,9 @@ void ec_fsm_slave_conf_state_pdo_sync(ec_fsm_slave_t *fsm /**< slave state machi
|
|||
if (datagram->working_counter != 1) {
|
||||
slave->error_flag = 1;
|
||||
fsm->state = ec_fsm_slave_state_error;
|
||||
EC_ERR("Failed to set process data sync managers - slave %i did not"
|
||||
" respond.\n", slave->ring_position);
|
||||
EC_ERR("Failed to set process data sync managers of slave %i: ",
|
||||
slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1002,8 +1011,9 @@ void ec_fsm_slave_conf_state_fmmu(ec_fsm_slave_t *fsm /**< slave state machine *
|
|||
if (datagram->working_counter != 1) {
|
||||
slave->error_flag = 1;
|
||||
fsm->state = ec_fsm_slave_state_error;
|
||||
EC_ERR("Failed to set FMMUs - slave %i did not respond.\n",
|
||||
EC_ERR("Failed to set FMMUs of slave %i: ",
|
||||
slave->ring_position);
|
||||
ec_datagram_print_wc_error(datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue