DiamondLightSource / DiamondLightSource/dodal

Generic way to deal with devices that have different behaviour when there is no beam

Open
#754 5 comments 0 reactions 0 assignees View on GitHub
enhancement python
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.