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);
|
return turboPmacController::writeInt32(pasynUser, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Submodule turboPmac updated: 55b523ddaa...a11d10cb6c
Reference in New Issue
Block a user