diff --git a/source/RobotAPI/libraries/ArmarXEtherCAT/EtherCAT.cpp b/source/RobotAPI/libraries/ArmarXEtherCAT/EtherCAT.cpp index e4b3ae298e00795372d1edd72f744ca1e959fb11..4fffde8837104f7ecc90c71ad39d0e84d9ab1b79 100644 --- a/source/RobotAPI/libraries/ArmarXEtherCAT/EtherCAT.cpp +++ b/source/RobotAPI/libraries/ArmarXEtherCAT/EtherCAT.cpp @@ -241,7 +241,7 @@ bool EtherCAT::startBus(bool createDevices) /// setting the data pointer in the functional devices for (AbstractFunctionalDevicePtr& device : functionalDevices) { - ARMARX_INFO << "init for " << device->getClassName(); + ARMARX_INFO << "init for device type '" << device->getClassName() << "'"; device->initData(); } @@ -735,7 +735,6 @@ void EtherCAT::errorHandling() ARMARX_RT_LOGF_WARN("RECOVERY - Wkc: %s - %d/%d, state: %s - iterations without error: %d", ((lastWorkCounter < expectedWKC) ? "NOT OK" : "OK"), lastWorkCounter, expectedWKC, (ec_group[currentGroup].docheckstate ? "NOT OK" : "OK"), noErrorIterations); - noErrorIterations = 0; //actually there is something wrong so we have an error lets see if we can find an fix it error = true; @@ -768,6 +767,8 @@ void EtherCAT::errorHandling() } } } + noErrorIterations = 0; + /* one ore more slaves are not responding */ //This is hard SOEM code not the easy stuff, but works... ec_group[currentGroup].docheckstate = FALSE;