Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
5dd5a26243 | |||
832884179c |
@ -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);
|
||||
}
|
||||
|
||||
|
Submodule turboPmac updated: 55b523ddaa...a11d10cb6c
Reference in New Issue
Block a user