2 Commits
0.2.1 ... 0.2.2

2 changed files with 1 additions and 26 deletions

View File

@ -150,31 +150,6 @@ asynStatus detectorTowerController::writeInt32(asynUser *pasynUser,
}
}
/*
Due to a bug which is currently not understood, the reset has to be handled
here rather than using the default implementation in sinqController. Piping
the motor reset request to sinqController causes segfaults. It might be due
to the fact that the default `reset` implementation of sinqAxis locks the
controller in order to perform some fast polls and that for some reason this
behaviour cannot be overwritten even by providing custom `reset` methods for
all three axes.
*/
if (pasynUser->reason == motorReset_) {
detectorTowerAngleAxis *aAxis = getDetectorTowerAngleAxis(pasynUser);
if (aAxis != nullptr) {
return aAxis->reset();
}
detectorTowerLiftAxis *lAxis = getDetectorTowerLiftAxis(pasynUser);
if (lAxis != nullptr) {
return lAxis->reset();
}
detectorTowerSupportAxis *sAxis =
getDetectorTowerSupportAxis(pasynUser);
if (sAxis != nullptr) {
return sAxis->reset();
}
}
return turboPmacController::writeInt32(pasynUser, value);
}