DiamondLightSource / DiamondLightSource/mx-bluesky

Use protocols instead of devices for device composite types

Open
#1,620 0 comments 0 reactions 0 assignees View on GitHub
Epic
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.