DiamondLightSource/dodal

Support for devices that are shared between endstations

Open

#503 aperta il 3 mag 2024

Vedi su GitHub
 (4 commenti) (0 reazioni) (1 assegnatario)Python (12 fork)auto 404
Docsathondocumentationhelp wantedquestion

Metriche repository

Star
 (4 star)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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.

Guida contributor