Open olliesilvester opened 3 weeks ago
I like this, my only question is how strict to make it? Do we want a prescriptive flowchart, a set of approximate guidelines, or somewhere in-between?
Approximate guidelines I think is fine. We're never going to be able to police something that's very strict
Other random thoughts on the topic:
ophyd-async
must remain facility agnostic, no DLS EPICS naming conventions or EPICS support modules that are not on GitHubdodal
and push to ophyd-async
when it has been made more genericI think where you say ophyd-async
in the above do you actually mean dodal
@olliesilvester?
Yeah, I really mean creating the devices using the ophyd-async
library, rather than putting it into the repo
As discussed with @DominicOram , it would be nice to have a flowchart-style set of rules to decide whether a piece of logic should go into
EPICS
,ophyd-async
, orBluesky
Something like this:
If the logic only affects one device, is simple, won't change often, and/or is useful for scientists to be able to run outside of bluesky, it should go in EPICS
If it only affects one device, and the logic is complicated, and it may need occasional changes and enhancements, it should go in
ophyd-async
. For this statement, where we have compositeophyd-async
devices, we can treat the top level device and everything beneath it as 'one device'If it affects multiple devices, and/or if the logic is tied to the experiment where changes are required often, it should go in
Bluesky
.Tagging a few people who may have thoughts: @callumforrester @abbiemery @coretl
Acceptance Criteria