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 # Specify the version of asynMotor we want to build against
motorBase_VERSION=7.2.2 motorBase_VERSION=7.2.2
LIBVERSION=homeerror
# These headers allow to depend on this library for derived drivers. # These headers allow to depend on this library for derived drivers.
HEADERS += src/masterMacsAxis.h HEADERS += src/masterMacsAxis.h
HEADERS += src/masterMacsController.h HEADERS += src/masterMacsController.h

View File

@@ -628,6 +628,14 @@ asynStatus masterMacsAxis::doPoll(bool *moving) {
poll_status = asynError; 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 Either the software limits or the end switches of the controller
have been hit. Since the EPICS limits are derived from the software have been hit. Since the EPICS limits are derived from the software
@@ -666,6 +674,7 @@ asynStatus masterMacsAxis::doPoll(bool *moving) {
poll_status = asynError; poll_status = asynError;
} }
}
if (overCurrent()) { if (overCurrent()) {
appendErrorMessage(shellMessage, sizeof(shellMessage), appendErrorMessage(shellMessage, sizeof(shellMessage),