diff --git a/src/sinqAxis.cpp b/src/sinqAxis.cpp index 92945a0..e936648 100644 --- a/src/sinqAxis.cpp +++ b/src/sinqAxis.cpp @@ -283,9 +283,12 @@ asynStatus sinqAxis::forcedPoll(bool *moving) { pSinqA_->wasMoving = *moving; } - // Check and update the watchdog - if (checkMovTimeoutWatchdog(*moving) != asynSuccess) { - return asynError; + // Check and update the watchdog as well as the general poll status IF the + // poll did not fail already. + if (poll_status == asynSuccess) { + if (checkMovTimeoutWatchdog(*moving) != asynSuccess) { + poll_status = asynError; + } } // According to the function documentation of asynMotorAxis::poll, this