Compare commits

...

1 Commits

Author SHA1 Message Date
238a47f38e Ignore limit switch errors when the motor is homing or has been homed
Some checks failed
Test And Build / Lint (push) Failing after 4s
Test And Build / Build (push) Successful in 7s
2026-02-10 12:57:52 +01:00
2 changed files with 44 additions and 33 deletions

View File

@@ -9,6 +9,8 @@ ARCH_FILTER=RHEL%
# Specify the version of asynMotor we want to build against
motorBase_VERSION=7.2.2
LIBVERSION=homeerror
# These headers allow to depend on this library for derived drivers.
HEADERS += src/masterMacsAxis.h
HEADERS += src/masterMacsController.h

View File

@@ -628,6 +628,14 @@ asynStatus masterMacsAxis::doPoll(bool *moving) {
poll_status = asynError;
}
/*
If the motor is homing or has been homed, ignore limit switch errors.
*/
int homing = 0;
int homed = 0;
getAxisParamChecked(this, motorStatusHome, &homing);
getAxisParamChecked(this, motorStatusHomed, &homed);
if (homing || homed) {
/*
Either the software limits or the end switches of the controller
have been hit. Since the EPICS limits are derived from the software
@@ -666,6 +674,7 @@ asynStatus masterMacsAxis::doPoll(bool *moving) {
poll_status = asynError;
}
}
if (overCurrent()) {
appendErrorMessage(shellMessage, sizeof(shellMessage),