DiamondLightSource / DiamondLightSource/dodal

Support for devices that are shared between endstations

Open
#503 4 comments 0 reactions 1 assignee Claimed by @noemifrisina View on GitHub
Docsathon documentation help wanted question
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

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.