From 4bfb6ea0caf87bda4e09426256b94e95e98f1729 Mon Sep 17 00:00:00 2001 From: Florian Pose <fp@igh-essen.com> Date: Fri, 27 Oct 2006 13:59:49 +0000 Subject: [PATCH] Print certain warnings only at debug_level. --- include/ecrt.h | 2 +- master/fsm.c | 11 ++++++----- master/fsm_coe.c | 8 +++++--- master/master.c | 6 ++++-- master/slave.c | 4 +++- 5 files changed, 19 insertions(+), 12 deletions(-) diff --git a/include/ecrt.h b/include/ecrt.h index b1c14f5c..a5cc7b74 100644 --- a/include/ecrt.h +++ b/include/ecrt.h @@ -161,7 +161,7 @@ int ecrt_slave_conf_sdo32(ec_slave_t *slave, uint16_t sdo_index, uint8_t sdo_subindex, uint32_t value); int ecrt_slave_pdo_size(ec_slave_t *slave, uint16_t pdo_index, - uint8_t pdo_subindex, size_t size); + uint8_t pdo_subindex, size_t size); // deprecated /****************************************************************************** * Bitwise read/write macros diff --git a/master/fsm.c b/master/fsm.c index c13ba1b2..c507a421 100644 --- a/master/fsm.c +++ b/master/fsm.c @@ -492,7 +492,7 @@ void ec_fsm_master_read_states(ec_fsm_t *fsm /**< finite state machine */) if (datagram->working_counter != 1) { if (slave->online) { slave->online = 0; - if (master->debug_level) + if (slave->master->debug_level) EC_DBG("Slave %i: offline.\n", slave->ring_position); } ec_fsm_master_action_next_slave_state(fsm); @@ -505,7 +505,7 @@ void ec_fsm_master_read_states(ec_fsm_t *fsm /**< finite state machine */) slave->online = 1; slave->error_flag = 0; // clear error flag slave->current_state = new_state; - if (master->debug_level) { + if (slave->master->debug_level) { char cur_state[EC_STATE_STRING_SIZE]; ec_state_string(slave->current_state, cur_state); EC_DBG("Slave %i: online (%s).\n", @@ -513,7 +513,7 @@ void ec_fsm_master_read_states(ec_fsm_t *fsm /**< finite state machine */) } } else if (new_state != slave->current_state) { - if (master->debug_level) { + if (slave->master->debug_level) { char old_state[EC_STATE_STRING_SIZE], cur_state[EC_STATE_STRING_SIZE]; ec_state_string(slave->current_state, old_state); @@ -1188,8 +1188,9 @@ void ec_fsm_slavescan_eeprom_data(ec_fsm_t *fsm /**< finite state machine */) goto end; break; default: - EC_WARN("Unknown category type 0x%04X in slave %i.\n", - cat_type, slave->ring_position); + if (fsm->master->debug_level) + EC_WARN("Unknown category type 0x%04X in slave %i.\n", + cat_type, slave->ring_position); } cat_word += cat_size + 2; diff --git a/master/fsm_coe.c b/master/fsm_coe.c index bcd203d3..0c6e1f03 100644 --- a/master/fsm_coe.c +++ b/master/fsm_coe.c @@ -395,8 +395,9 @@ void ec_fsm_coe_dict_response(ec_fsm_coe_t *fsm /**< finite state machine */) for (i = 0; i < sdo_count; i++) { sdo_index = EC_READ_U16(data + 8 + i * 2); if (!sdo_index) { - EC_WARN("SDO dictionary of slave %i contains index 0x0000.\n", - slave->ring_position); + if (slave->master->debug_level) + EC_WARN("SDO dictionary of slave %i contains index 0x0000.\n", + slave->ring_position); continue; } @@ -1191,7 +1192,8 @@ void ec_fsm_coe_up_response(ec_fsm_coe_t *fsm /**< finite state machine */) expedited = EC_READ_U8(data + 2) & 0x02; if (expedited) { - EC_WARN("Received expedited response upon normal request!\n"); + if (master->debug_level) + EC_WARN("Received expedited response upon normal request!\n"); size_specified = EC_READ_U8(data + 2) & 0x01; if (size_specified) { diff --git a/master/master.c b/master/master.c index 3f7dff93..c503411e 100644 --- a/master/master.c +++ b/master/master.c @@ -1031,8 +1031,10 @@ void ec_master_eoe_start(ec_master_t *master /**< EtherCAT master */) } if (!found) { - EC_WARN("No EoE handler for slave %i!\n", slave->ring_position); - ec_slave_request_state(slave, EC_SLAVE_STATE_INIT); + if (master->debug_level) + EC_WARN("No EoE handler for slave %i!\n", + slave->ring_position); + ec_slave_request_state(slave, EC_SLAVE_STATE_PREOP); } } diff --git a/master/slave.c b/master/slave.c index 0dda0754..3c664ace 100644 --- a/master/slave.c +++ b/master/slave.c @@ -496,7 +496,9 @@ int ec_slave_locate_string(ec_slave_t *slave, /**< EtherCAT slave */ return 0; } - EC_WARN("String %i not found in slave %i.\n", index, slave->ring_position); + if (slave->master->debug_level) + EC_WARN("String %i not found in slave %i.\n", + index, slave->ring_position); err_string = "(string not found)"; -- GitLab