DiamondLightSource/dodal

RFC: Device names and function names.

Open

#339 aperta il 15 feb 2024

Vedi su GitHub
 (0 commenti) (0 reazioni) (0 assegnatari)Python (12 fork)auto 404
help wantedquestion

Metriche repository

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

Descrizione

Device names are used as part of the Bluesky event-model to name, as object_keys in the Descriptor. They should have a unique name, but this is not enforced until you attempt to run a plan with two devices with the same name and there is a collision (AFAIK). In BlueAPI this is required on startup (again, AFAIK). Device factory function names are used to refer to devices outside of BlueAPI/event-model context, and also must be unique within the namespace.

Should device.name and device_function.name target:

  • Their purpose (e.g. saxs, waxs)
  • Their make/model/description of what the hardware is (e.g. linkam, tetramm)
  • Being as short and easily typed as possible
  • Different things (e.g. device.name being purpose, device_function.name being hardware type?)

I think this decision can/should be made on a per-beamline basis, but it might be useful to document a best practice.

Guida contributor