--- a/master/fsm_slave_config.c Mon May 03 10:13:25 2010 +0200
+++ b/master/fsm_slave_config.c Mon May 03 18:07:57 2010 +0200
@@ -196,10 +196,7 @@
ec_fsm_slave_config_t *fsm /**< slave state machine */
)
{
- if (fsm->slave->master->debug_level) {
- EC_DBG("Configuring slave %u...\n", fsm->slave->ring_position);
- }
-
+ EC_SLAVE_DBG(fsm->slave, 1, "Configuring...\n");
ec_fsm_slave_config_enter_init(fsm);
}
@@ -224,7 +221,6 @@
ec_fsm_slave_config_t *fsm /**< slave state machine */
)
{
- ec_master_t *master = fsm->slave->master;
ec_slave_t *slave = fsm->slave;
ec_datagram_t *datagram = fsm->datagram;
@@ -237,18 +233,14 @@
return;
}
- if (master->debug_level) {
- EC_DBG("Slave %u is now in INIT.\n", slave->ring_position);
- }
+ EC_SLAVE_DBG(slave, 1, "Now in INIT.\n");
if (!slave->base_fmmu_count) { // skip FMMU configuration
ec_fsm_slave_config_enter_clear_sync(fsm);
return;
}
- if (master->debug_level)
- EC_DBG("Clearing FMMU configurations of slave %u...\n",
- slave->ring_position);
+ EC_SLAVE_DBG(slave, 1, "Clearing FMMU configurations...\n");
// clear FMMU configurations
ec_datagram_fpwr(datagram, slave->station_address,
@@ -273,16 +265,14 @@
if (datagram->state != EC_DATAGRAM_RECEIVED) {
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed receive FMMU clearing datagram for slave %u.\n",
- fsm->slave->ring_position);
+ EC_SLAVE_ERR(fsm->slave, "Failed receive FMMU clearing datagram.\n");
return;
}
if (datagram->working_counter != 1) {
fsm->slave->error_flag = 1;
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to clear FMMUs of slave %u: ",
- fsm->slave->ring_position);
+ EC_SLAVE_ERR(fsm->slave, "Failed to clear FMMUs: ");
ec_datagram_print_wc_error(datagram);
return;
}
@@ -308,9 +298,7 @@
return;
}
- if (slave->master->debug_level)
- EC_DBG("Clearing sync manager configurations of slave %u...\n",
- slave->ring_position);
+ EC_SLAVE_DBG(slave, 1, "Clearing sync manager configurations...\n");
sync_size = EC_SYNC_PAGE_SIZE * slave->base_sync_count;
@@ -336,16 +324,16 @@
if (datagram->state != EC_DATAGRAM_RECEIVED) {
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed receive sync manager clearing datagram"
- " for slave %u.\n", fsm->slave->ring_position);
+ EC_SLAVE_ERR(fsm->slave, "Failed receive sync manager"
+ " clearing datagram.\n");
return;
}
if (datagram->working_counter != 1) {
fsm->slave->error_flag = 1;
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to clear sync manager configurations of slave %u: ",
- fsm->slave->ring_position);
+ EC_SLAVE_ERR(fsm->slave,
+ "Failed to clear sync manager configurations: ");
ec_datagram_print_wc_error(datagram);
return;
}
@@ -369,9 +357,7 @@
return;
}
- if (slave->master->debug_level)
- EC_DBG("Clearing DC assignment of slave %u...\n",
- slave->ring_position);
+ EC_SLAVE_DBG(slave, 1, "Clearing DC assignment...\n");
ec_datagram_fpwr(datagram, slave->station_address, 0x0980, 2);
ec_datagram_zero(datagram);
@@ -394,15 +380,14 @@
if (datagram->state != EC_DATAGRAM_RECEIVED) {
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed receive DC assignment clearing datagram"
- " for slave %u.\n", fsm->slave->ring_position);
- return;
- }
-
- if (fsm->slave->master->debug_level && datagram->working_counter != 1) {
+ EC_SLAVE_ERR(fsm->slave, "Failed receive DC assignment"
+ " clearing datagram.\n");
+ return;
+ }
+
+ if (datagram->working_counter != 1) {
// clearing the DC assignment does not succeed on simple slaves
- EC_DBG("Failed to clear DC assignment of slave %u: ",
- fsm->slave->ring_position);
+ EC_SLAVE_DBG(fsm->slave, 1, "Failed to clear DC assignment: ");
ec_datagram_print_wc_error(datagram);
}
@@ -437,22 +422,18 @@
system_time32 += correction;
time_diff = (u32) slave->master->app_time - system_time32;
- if (slave->master->debug_level)
- EC_DBG("Slave %u: system_time=%u (corrected with %u),"
- " app_time=%u, diff=%i\n",
- slave->ring_position, system_time32, correction,
- (u32) slave->master->app_time, time_diff);
+ EC_SLAVE_DBG(slave, 1, "Calculating DC time offset (32 bit):"
+ " system_time=%u (corrected with %u), app_time=%u, diff=%i\n",
+ system_time32, correction,
+ (u32) slave->master->app_time, time_diff);
if (EC_ABS(time_diff) > EC_SYSTEM_TIME_TOLERANCE_NS) {
new_offset = time_diff + old_offset32;
- if (slave->master->debug_level)
- EC_DBG("Slave %u: Setting time offset to %u (was %u)\n",
- slave->ring_position, new_offset, old_offset32);
+ EC_SLAVE_DBG(slave, 1, "Setting time offset to %u (was %u)\n",
+ new_offset, old_offset32);
return (u64) new_offset;
} else {
- if (slave->master->debug_level)
- EC_DBG("Slave %u: Not touching time offset.\n",
- slave->ring_position);
+ EC_SLAVE_DBG(slave, 1, "Not touching time offset.\n");
return old_offset;
}
}
@@ -477,23 +458,19 @@
system_time += correction;
time_diff = fsm->slave->master->app_time - system_time;
- if (slave->master->debug_level)
- EC_DBG("Slave %u: system_time=%llu (corrected with %llu),"
- " app_time=%llu, diff=%lli\n",
- slave->ring_position, system_time, correction,
- slave->master->app_time, time_diff);
-
+ EC_SLAVE_DBG(slave, 1, "Calculating DC time offset (64 bit):"
+ " system_time=%llu (corrected with %llu),"
+ " app_time=%llu, diff=%lli\n",
+ system_time, correction,
+ slave->master->app_time, time_diff);
if (EC_ABS(time_diff) > EC_SYSTEM_TIME_TOLERANCE_NS) {
new_offset = time_diff + old_offset;
- if (slave->master->debug_level)
- EC_DBG("Slave %u: Setting time offset to %llu (was %llu)\n",
- slave->ring_position, new_offset, old_offset);
+ EC_SLAVE_DBG(slave, 1, "Setting time offset to %llu (was %llu)\n",
+ new_offset, old_offset);
} else {
new_offset = old_offset;
- if (slave->master->debug_level)
- EC_DBG("Slave %u: Not touching time offset.\n",
- slave->ring_position);
+ EC_SLAVE_DBG(slave, 1, "Not touching time offset.\n");
}
return new_offset;
@@ -517,8 +494,7 @@
if (datagram->state != EC_DATAGRAM_RECEIVED) {
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to receive DC times datagram for slave %u: ",
- slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to receive DC times datagram: ");
ec_datagram_print_state(datagram);
return;
}
@@ -526,8 +502,7 @@
if (datagram->working_counter != 1) {
slave->error_flag = 1;
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to get DC times of slave %u: ",
- slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to get DC times: ");
ec_datagram_print_wc_error(datagram);
return;
}
@@ -568,8 +543,8 @@
if (datagram->state != EC_DATAGRAM_RECEIVED) {
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to receive DC system time offset datagram for"
- " slave %u: ", slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to receive DC system time offset"
+ " datagram: ");
ec_datagram_print_state(datagram);
return;
}
@@ -577,8 +552,7 @@
if (datagram->working_counter != 1) {
slave->error_flag = 1;
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to set DC system time offset of slave %u: ",
- slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to set DC system time offset: ");
ec_datagram_print_wc_error(datagram);
return;
}
@@ -594,7 +568,6 @@
ec_fsm_slave_config_t *fsm /**< slave state machine */
)
{
- ec_master_t *master = fsm->slave->master;
ec_slave_t *slave = fsm->slave;
ec_datagram_t *datagram = fsm->datagram;
unsigned int i;
@@ -602,26 +575,19 @@
// slave is now in INIT
if (slave->current_state == slave->requested_state) {
fsm->state = ec_fsm_slave_config_state_end; // successful
- if (master->debug_level) {
- EC_DBG("Finished configuration of slave %u.\n",
- slave->ring_position);
- }
+ EC_SLAVE_DBG(slave, 1, "Finished configuration.\n");
return;
}
if (!slave->sii.mailbox_protocols) {
// no mailbox protocols supported
- if (master->debug_level)
- EC_DBG("Slave %u does not support mailbox communication.\n",
- slave->ring_position);
+ EC_SLAVE_DBG(slave, 1, "Slave does not support"
+ " mailbox communication.\n");
ec_fsm_slave_config_enter_boot_preop(fsm);
return;
}
- if (master->debug_level) {
- EC_DBG("Configuring mailbox sync managers of slave %u.\n",
- slave->ring_position);
- }
+ EC_SLAVE_DBG(slave, 1, "Configuring mailbox sync managers...\n");
if (slave->requested_state == EC_SLAVE_STATE_BOOT) {
ec_sync_t sync;
@@ -677,10 +643,8 @@
} else { // no mailbox sync manager configurations provided
ec_sync_t sync;
- if (master->debug_level)
- EC_DBG("Slave %u does not provide"
- " mailbox sync manager configurations.\n",
- slave->ring_position);
+ EC_SLAVE_DBG(slave, 1, "Slave does not provide"
+ " mailbox sync manager configurations.\n");
ec_datagram_fpwr(datagram, slave->station_address, 0x0800,
EC_SYNC_PAGE_SIZE * 2);
@@ -735,8 +699,8 @@
if (datagram->state != EC_DATAGRAM_RECEIVED) {
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to receive sync manager configuration datagram for"
- " slave %u: ", slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to receive sync manager"
+ " configuration datagram: ");
ec_datagram_print_state(datagram);
return;
}
@@ -757,12 +721,11 @@
if (diff >= HZ) {
slave->error_flag = 1;
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Timeout while configuring mailbox sync managers of"
- " slave %u.\n", slave->ring_position);
+ EC_SLAVE_ERR(slave, "Timeout while configuring"
+ " mailbox sync managers.\n");
return;
- }
- else if (slave->master->debug_level) {
- EC_DBG("Resending after %u ms...\n",
+ } else {
+ EC_SLAVE_DBG(slave, 1, "Resending after %u ms...\n",
(unsigned int) diff * 1000 / HZ);
}
@@ -773,8 +736,7 @@
else if (datagram->working_counter != 1) {
slave->error_flag = 1;
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to set sync managers of slave %u: ",
- slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to set sync managers: ");
ec_datagram_print_wc_error(datagram);
return;
}
@@ -810,7 +772,6 @@
)
{
ec_slave_t *slave = fsm->slave;
- ec_master_t *master = fsm->slave->master;
if (ec_fsm_change_exec(fsm->fsm_change)) return;
@@ -824,18 +785,12 @@
// slave is now in BOOT or PREOP
slave->jiffies_preop = fsm->datagram->jiffies_received;
- if (master->debug_level) {
- EC_DBG("Slave %u is now in %s.\n", slave->ring_position,
- slave->requested_state != EC_SLAVE_STATE_BOOT
- ? "PREOP" : "BOOT");
- }
+ EC_SLAVE_DBG(slave, 1, "Now in %s.\n",
+ slave->requested_state != EC_SLAVE_STATE_BOOT ? "PREOP" : "BOOT");
if (slave->current_state == slave->requested_state) {
fsm->state = ec_fsm_slave_config_state_end; // successful
- if (master->debug_level) {
- EC_DBG("Finished configuration of slave %u.\n",
- slave->ring_position);
- }
+ EC_SLAVE_DBG(slave, 1, "Finished configuration.\n");
return;
}
@@ -884,8 +839,7 @@
if (ec_fsm_coe_exec(fsm->fsm_coe)) return;
if (!ec_fsm_coe_success(fsm->fsm_coe)) {
- EC_ERR("SDO configuration failed for slave %u.\n",
- fsm->slave->ring_position);
+ EC_SLAVE_ERR(fsm->slave, "SDO configuration failed.\n");
fsm->slave->error_flag = 1;
fsm->state = ec_fsm_slave_config_state_error;
return;
@@ -961,8 +915,7 @@
}
if (!ec_fsm_soe_success(fsm_soe)) {
- EC_ERR("SoE configuration failed for slave %u.\n",
- fsm->slave->ring_position);
+ EC_SLAVE_ERR(slave, "SoE configuration failed.\n");
fsm->slave->error_flag = 1;
fsm->state = ec_fsm_slave_config_state_error;
return;
@@ -1022,8 +975,7 @@
}
if (!ec_fsm_pdo_success(fsm->fsm_pdo)) {
- EC_WARN("PDO configuration failed on slave %u.\n",
- fsm->slave->ring_position);
+ EC_SLAVE_WARN(fsm->slave, "PDO configuration failed.\n");
}
ec_fsm_slave_config_enter_watchdog_divider(fsm);
@@ -1039,13 +991,11 @@
{
ec_slave_t *slave = fsm->slave;
ec_datagram_t *datagram = fsm->datagram;
- ec_master_t *master = slave->master;
ec_slave_config_t *config = slave->config;
if (config && config->watchdog_divider) {
- if (master->debug_level)
- EC_DBG("Setting watchdog divider to %u.\n",
- config->watchdog_divider);
+ EC_SLAVE_DBG(slave, 1, "Setting watchdog divider to %u.\n",
+ config->watchdog_divider);
ec_datagram_fpwr(datagram, slave->station_address, 0x0400, 2);
EC_WRITE_U16(datagram->data, config->watchdog_divider);
@@ -1072,16 +1022,15 @@
if (datagram->state != EC_DATAGRAM_RECEIVED) {
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to receive watchdog divider configuration datagram for"
- " slave %u: ", slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to receive watchdog divider"
+ " configuration datagram: ");
ec_datagram_print_state(datagram);
return;
}
if (datagram->working_counter != 1) {
slave->error_flag = 1;
- EC_WARN("Failed to set watchdog divider of slave %u: ",
- slave->ring_position);
+ EC_SLAVE_WARN(slave, "Failed to set watchdog divider: ");
ec_datagram_print_wc_error(datagram);
return;
}
@@ -1102,9 +1051,8 @@
ec_slave_config_t *config = slave->config;
if (config && config->watchdog_intervals) {
- if (slave->master->debug_level)
- EC_DBG("Setting process data watchdog intervals to %u.\n",
- config->watchdog_intervals);
+ EC_SLAVE_DBG(slave, 1, "Setting process data"
+ " watchdog intervals to %u.\n", config->watchdog_intervals);
ec_datagram_fpwr(datagram, slave->station_address, 0x0420, 2);
EC_WRITE_U16(datagram->data, config->watchdog_intervals);
@@ -1133,15 +1081,15 @@
if (datagram->state != EC_DATAGRAM_RECEIVED) {
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to receive sync manager watchdog configuration "
- "datagram for slave %u: ", slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to receive sync manager"
+ " watchdog configuration datagram: ");
ec_datagram_print_state(datagram);
return;
}
if (datagram->working_counter != 1) {
- EC_WARN("Failed to set process data watchdog intervals of slave %u: ",
- slave->ring_position);
+ EC_SLAVE_WARN(slave, "Failed to set process data"
+ " watchdog intervals: ");
ec_datagram_print_wc_error(datagram);
}
@@ -1220,8 +1168,8 @@
if (datagram->state != EC_DATAGRAM_RECEIVED) {
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to receive process data sync manager configuration"
- " datagram for slave %u: ", slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to receive process data sync"
+ " manager configuration datagram: ");
ec_datagram_print_state(datagram);
return;
}
@@ -1229,8 +1177,7 @@
if (datagram->working_counter != 1) {
slave->error_flag = 1;
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to set process data sync managers of slave %u: ",
- slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to set process data sync managers: ");
ec_datagram_print_wc_error(datagram);
return;
}
@@ -1260,8 +1207,8 @@
if (slave->base_fmmu_count < slave->config->used_fmmus) {
slave->error_flag = 1;
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Slave %u has less FMMUs (%u) than requested (%u).\n",
- slave->ring_position, slave->base_fmmu_count,
+ EC_SLAVE_ERR(slave, "Slave has less FMMUs (%u)"
+ " than requested (%u).\n", slave->base_fmmu_count,
slave->config->used_fmmus);
return;
}
@@ -1280,8 +1227,8 @@
if (!(sync = ec_slave_get_sync(slave, fmmu->sync_index))) {
slave->error_flag = 1;
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to determine PDO sync manager for FMMU on slave"
- " %u!\n", slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to determine PDO sync manager"
+ " for FMMU!\n");
return;
}
ec_fmmu_config_page(fmmu, sync,
@@ -1308,8 +1255,7 @@
if (datagram->state != EC_DATAGRAM_RECEIVED) {
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to receive FMMUs datagram for slave %u: ",
- slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to receive FMMUs datagram: ");
ec_datagram_print_state(datagram);
return;
}
@@ -1317,8 +1263,7 @@
if (datagram->working_counter != 1) {
slave->error_flag = 1;
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to set FMMUs of slave %u: ",
- slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to set FMMUs: ");
ec_datagram_print_wc_error(datagram);
return;
}
@@ -1345,15 +1290,12 @@
if (config->dc_assign_activate) {
if (!slave->base_dc_supported || !slave->has_dc_system_time) {
- EC_WARN("Slave %u seems not to support distributed clocks!\n",
- slave->ring_position);
+ EC_SLAVE_WARN(slave, "Slave seems not to support"
+ " distributed clocks!\n");
}
- if (slave->master->debug_level)
- EC_DBG("Slave %u: Setting DC cycle times to %u / %u.\n",
- slave->ring_position,
- config->dc_sync[0].cycle_time,
- config->dc_sync[1].cycle_time);
+ EC_SLAVE_DBG(slave, 1, "Setting DC cycle times to %u / %u.\n",
+ config->dc_sync[0].cycle_time, config->dc_sync[1].cycle_time);
// set DC cycle times
ec_datagram_fpwr(datagram, slave->station_address, 0x09A0, 8);
@@ -1392,8 +1334,7 @@
if (datagram->state != EC_DATAGRAM_RECEIVED) {
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to receive DC cycle times datagram for slave %u: ",
- slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to receive DC cycle times datagram: ");
ec_datagram_print_state(datagram);
return;
}
@@ -1401,8 +1342,7 @@
if (datagram->working_counter != 1) {
slave->error_flag = 1;
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to set DC cycle times of slave %u: ",
- slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to set DC cycle times: ");
ec_datagram_print_wc_error(datagram);
return;
}
@@ -1424,23 +1364,28 @@
sync0->cycle_time - remainder + sync0->shift_time;
if (master->debug_level) {
- EC_DBG("app_start_time=%llu\n", master->app_start_time);
- EC_DBG(" start_time=%llu\n", start_time);
- EC_DBG(" cycle_time=%u\n", sync0->cycle_time);
- EC_DBG(" shift_time=%u\n", sync0->shift_time);
- EC_DBG(" remainder=%u\n", remainder);
- EC_DBG(" start=%llu\n", start);
+ EC_SLAVE_DBG(slave, 1, "app_start_time=%llu\n",
+ master->app_start_time);
+ EC_SLAVE_DBG(slave, 1, " start_time=%llu\n",
+ start_time);
+ EC_SLAVE_DBG(slave, 1, " cycle_time=%u\n",
+ sync0->cycle_time);
+ EC_SLAVE_DBG(slave, 1, " shift_time=%u\n",
+ sync0->shift_time);
+ EC_SLAVE_DBG(slave, 1, " remainder=%u\n",
+ remainder);
+ EC_SLAVE_DBG(slave, 1, " start=%llu\n",
+ start);
}
start_time = start;
} else {
- EC_WARN("No application time supplied. Cyclic start time will "
- "not be in phase for slave %u.\n", slave->ring_position);
+ EC_SLAVE_WARN(slave, "No application time supplied."
+ " Cyclic start time will not be in phase.\n");
}
}
- if (master->debug_level)
- EC_DBG("Slave %u: Setting DC cyclic operation start time to %llu.\n",
- slave->ring_position, start_time);
+ EC_SLAVE_DBG(slave, 1, "Setting DC cyclic operation"
+ " start time to %llu.\n", start_time);
ec_datagram_fpwr(datagram, slave->station_address, 0x0990, 8);
EC_WRITE_U64(datagram->data, start_time);
@@ -1470,8 +1415,7 @@
if (datagram->state != EC_DATAGRAM_RECEIVED) {
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to receive DC start time datagram for slave %u: ",
- slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to receive DC start time datagram: ");
ec_datagram_print_state(datagram);
return;
}
@@ -1479,15 +1423,13 @@
if (datagram->working_counter != 1) {
slave->error_flag = 1;
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to set DC start time of slave %u: ",
- slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to set DC start time: ");
ec_datagram_print_wc_error(datagram);
return;
}
- if (slave->master->debug_level)
- EC_DBG("Slave %u: Setting DC AssignActivate to 0x%04x.\n",
- slave->ring_position, config->dc_assign_activate);
+ EC_SLAVE_DBG(slave, 1, "Setting DC AssignActivate to 0x%04x.\n",
+ config->dc_assign_activate);
// assign sync unit to EtherCAT or PDI
ec_datagram_fpwr(datagram, slave->station_address, 0x0980, 2);
@@ -1512,8 +1454,7 @@
if (datagram->state != EC_DATAGRAM_RECEIVED) {
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to receive DC activation datagram for slave %u: ",
- slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to receive DC activation datagram: ");
ec_datagram_print_state(datagram);
return;
}
@@ -1521,8 +1462,7 @@
if (datagram->working_counter != 1) {
slave->error_flag = 1;
fsm->state = ec_fsm_slave_config_state_error;
- EC_ERR("Failed to set DC cyclic operation state of slave %u: ",
- slave->ring_position);
+ EC_SLAVE_ERR(slave, "Failed to activate DC: ");
ec_datagram_print_wc_error(datagram);
return;
}
@@ -1551,7 +1491,6 @@
ec_fsm_slave_config_t *fsm /**< slave state machine */
)
{
- ec_master_t *master = fsm->slave->master;
ec_slave_t *slave = fsm->slave;
if (ec_fsm_change_exec(fsm->fsm_change)) return;
@@ -1565,16 +1504,11 @@
// slave is now in SAFEOP
- if (master->debug_level) {
- EC_DBG("Slave %u is now in SAFEOP.\n", slave->ring_position);
- }
+ EC_SLAVE_DBG(slave, 1, "Now in SAFEOP.\n");
if (fsm->slave->current_state == fsm->slave->requested_state) {
fsm->state = ec_fsm_slave_config_state_end; // successful
- if (master->debug_level) {
- EC_DBG("Finished configuration of slave %u.\n",
- slave->ring_position);
- }
+ EC_SLAVE_DBG(slave, 1, "Finished configuration.\n");
return;
}
@@ -1592,7 +1526,6 @@
ec_fsm_slave_config_t *fsm /**< slave state machine */
)
{
- ec_master_t *master = fsm->slave->master;
ec_slave_t *slave = fsm->slave;
if (ec_fsm_change_exec(fsm->fsm_change)) return;
@@ -1606,10 +1539,7 @@
// slave is now in OP
- if (master->debug_level) {
- EC_DBG("Slave %u is now in OP.\n", slave->ring_position);
- EC_DBG("Finished configuration of slave %u.\n", slave->ring_position);
- }
+ EC_SLAVE_DBG(slave, 1, "Now in OP. Finished configuration.\n");
fsm->state = ec_fsm_slave_config_state_end; // successful
}
@@ -1622,10 +1552,8 @@
ec_fsm_slave_config_t *fsm /**< slave state machine */
)
{
- if (fsm->slave->master->debug_level) {
- EC_DBG("Slave configuration for slave %u detached during "
- "configuration. Reconfiguring.", fsm->slave->ring_position);
- }
+ EC_SLAVE_DBG(fsm->slave, 1, "Slave configuration detached during "
+ "configuration. Reconfiguring.");
ec_fsm_slave_config_enter_init(fsm); // reconfigure
}