Added flag to disable reading the limits from the hardware

This commit is contained in:
2025-06-10 11:14:42 +02:00
parent fb5ba8f14e
commit f93e16eb36
4 changed files with 48 additions and 10 deletions

View File

@@ -609,19 +609,30 @@ asynStatus turboPmacAxis::doPoll(bool *moving) {
__LINE__);
}
pl_status = pC_->setDoubleParam(axisNo_, pC_->motorHighLimitFromDriver(),
highLimit);
int limFromHardware = 0;
pl_status =
pC_->getIntegerParam(axisNo_, pC_->limFromHardware(), &limFromHardware);
if (pl_status != asynSuccess) {
return pC_->paramLibAccessFailed(pl_status, "motorHighLimitFromDriver_",
axisNo_, __PRETTY_FUNCTION__,
__LINE__);
return pC_->paramLibAccessFailed(pl_status, "limFromHardware", axisNo_,
__PRETTY_FUNCTION__, __LINE__);
}
pl_status =
pC_->setDoubleParam(axisNo_, pC_->motorLowLimitFromDriver(), lowLimit);
if (pl_status != asynSuccess) {
return pC_->paramLibAccessFailed(pl_status, "motorLowLimit_", axisNo_,
__PRETTY_FUNCTION__, __LINE__);
if (limFromHardware != 0) {
pl_status = pC_->setDoubleParam(
axisNo_, pC_->motorHighLimitFromDriver(), highLimit);
if (pl_status != asynSuccess) {
return pC_->paramLibAccessFailed(
pl_status, "motorHighLimitFromDriver_", axisNo_,
__PRETTY_FUNCTION__, __LINE__);
}
pl_status = pC_->setDoubleParam(axisNo_, pC_->motorLowLimitFromDriver(),
lowLimit);
if (pl_status != asynSuccess) {
return pC_->paramLibAccessFailed(pl_status, "motorLowLimit_",
axisNo_, __PRETTY_FUNCTION__,
__LINE__);
}
}
pl_status = setMotorPosition(currentPosition);