DiamondLightSource/dodal

RFC: Device names and function names.

Open

#339 创建于 2024年2月15日

在 GitHub 查看
 (0 评论) (0 反应) (0 负责人)Python (12 fork)auto 404
help wantedquestion

仓库指标

Star
 (4 star)
PR 合并指标
 (PR 指标待抓取)

描述

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.

贡献者指南