diff --git a/iocsh/digital.png b/iocsh/digital.png new file mode 100644 index 0000000..f4e1832 Binary files /dev/null and b/iocsh/digital.png differ diff --git a/iocsh/velo.png b/iocsh/velo.png new file mode 100644 index 0000000..ac8c85f Binary files /dev/null and b/iocsh/velo.png differ diff --git a/src/ecmcSS1SafetyGroup.cpp b/src/ecmcSS1SafetyGroup.cpp index 08d5ecf..ef0f24a 100644 --- a/src/ecmcSS1SafetyGroup.cpp +++ b/src/ecmcSS1SafetyGroup.cpp @@ -403,12 +403,20 @@ bool ecmcSS1SafetyGroup::checkAxesStandstill() { // Check standstill axis bool ecmcSS1SafetyGroup::checkAxisStandstill(safetyAxis* axis) { - double velo = 1; - int err = getAxisTrajVelo(axis->axisId_, &velo); + double traj = 1; + + int err = getAxisTrajVelo(axis->axisId_, &traj); if(err) { return 0; } - return std::abs(velo) <= axis->veloLimit_; + + double enc = 1; + err = getAxisEncVelo(axis->axisId_, &enc); + if(err) { + return 0; + } + + return std::abs(traj) <= axis->veloLimit_ && std::abs(enc) <= axis->veloLimit_; } // Check standstill and disable @@ -469,7 +477,8 @@ void ecmcSS1SafetyGroup::addAxis(int axisId, double veloLimit,int standStillTime if(cfgDbgMode_) { - printf("Safety %s: Added axis %d to safety group\n",sName_,axisId); + printf("Safety %s: Added axis %d to safety group (velo limit = %lf, standstill filter : %d)\n" + ,sName_,axisId,veloLimit,standStillTimeMs); } return;