DiamondLightSource / DiamondLightSource/mx-bluesky
Use protocols instead of devices for device composite types
- Dominant language
- Python
- Stars
- 4
- Forks
- 5
- Avg merge
- 1d 30m
- Merged PRs (30d)
- 2
Description
Our common bluesky plans use concrete device types when specifying what device a plan requires. Often but not always, a plan would work so long as its devices followed a protocol, we don't need to restrict it to a specific type.
One example is the Smargon type for gridscans. In the bluesky code, we only need access to the omega motor (the motion script does the rest of the motion). We can replace the "smargon" type for these plans to be a protocol for any device which a motor called omega. With this, beamlines with a non-smargon gonio like vmxm can use these plans
## Acceptance criteria:
- Identify device types in plans which would be better as a protocol and list them on this issue
- Replace with protocols
Contributor guide
Assessment
This issue has not been assessed yet.