DiamondLightSource/dodal

Support for devices that are shared between endstations

Open

#503 opened on 2024年5月3日

GitHub で見る
 (4 comments) (0 reactions) (1 assignee)Python (12 forks)auto 404
Docsathondocumentationhelp wantedquestion

Repository metrics

Stars
 (4 stars)
PR merge metrics
 (PR metrics pending)

説明

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.

コントリビューターガイド