DiamondLightSource / DiamondLightSource/dodal
Generic way to deal with devices that have different behaviour when there is no beam
- Dominant language
- Python
- Stars
- 5
- Forks
- 13
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 10
Description
There are a number of devices that might have different behavior when there is no beam e.g:
* Undulator gap is disabled
* XBPM feedback will not lock
At the moment for testing when there is no beam we:
* Set `TEST_MODE=True` on the undulator
* Set the feedback threshold to 3000 in the IOC
This is a bit messy and poorly defined/documented. It is also liable to cause issues if we forget to reset things when beam comes back. We should come up with a standard way of doing this.
## Acceptance Criteria
* We can set a parameter somewhere to say "we know there is no beam"
* Devices loaded in `dodal` will then have different behaviour in this case. Note this shouldn't just be mocked behaviour as we are beamline testing we probably want other behaviour of the device
* There is some protection to make sure this setting is not on while there is beam
* If we cannot think of a nice automatic way of doing this at least document the standard for it
Contributor guide
Assessment
This issue has not been assessed yet.