DiamondLightSource/dodal

Support for devices that are shared between endstations

Open

#503 geöffnet am 3. Mai 2024

Auf GitHub ansehen
 (4 Kommentare) (0 Reaktionen) (1 zugewiesene Person)Python (12 Forks)auto 404
Docsathondocumentationhelp wantedquestion

Repository-Metriken

Stars
 (4 Stars)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

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