DiamondLightSource / DiamondLightSource/dodal
Support for devices that are shared between endstations
- Dominant language
- Python
- Stars
- 5
- Forks
- 13
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 10
Description
Some beamlines with multiple endstations or branches share hardware in the experiment and optics hutch, with the device moving between them. This is easily handled with the @skip_device decorator to temporarily disable the device while it is not present.
However, other components (such as some optical components) are present for both endstations/branches, will need to be always readable by both endstations or branches, and may need to be only controlled by one endstation or branch during the course of a user visit, but capable being controlled by both branches or endstations during beamline commissioning by beamline staffs.
Options:
- ReadOnly version of device for non-controlling branch?
- ReadOnly signal when device instantiated on non-controlling branch?
- Push handling to AuthZ service?
- Good faith?
- device control request must be checked for access before control request sending to hardware/IOC
## Acceptance Criteria
* A pattern has been decided upon and documented for how to manage shared devices.
Contributor guide
Assessment
This issue has not been assessed yet.