-
Notifications
You must be signed in to change notification settings - Fork 37
Await eiger_controller arm #873
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Is that what FastCS Eiger does? Return from arm as soon as it is armed? In which case that is much neater than what areaDetector does (returns from If this is the case then your implementation of |
FastCS-Eiger, given the FastCS changes here, should return as soon as it is armed, yes. But, until the new release of FastCS, we would need to explicitly wait for As for |
DominicOram
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I agree with getting this in now but if it's going to change with the FastCS version can we document that. I would normally do so by:
- Adding an
ophyd-asyncissue on the changes that will need to be made - Commenting in the code a link to that issue
I don't believe any amendments would need to be made once the FastCS release is in; currently, this will return immediately on arm, but once its using the newest release, it will correctly wait for the bound process. I'll add a comment explaining the expected behaviour though! |
DominicOram
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see, my bad.
Running
await eiger_detector.drv.detector.arm()with:should return when the Eiger has completed arming, and is now in a
readystatus. This seems like more appropriate behaviour as opposed to the current:Moreover, current implementation result in the following flaky error in unit tests:
This PR makes the suggested change to
async def arm(self):