You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Should consider how best to actually hook the new provider into the RunEngine. In particular we need to find something that works well for blueapi and hyperion. I don't think anything will be too bad as long as its documented (as @DominicOram requests in #565).
A few options:
Make a utility function for connecting the two together, document it, make blueapi and hyperion intentionally call it
Move the creation of a run engine to the dodal beamline module, set it up in a factory function there, import it into blueapi and hyperion
Create some sort of run engine config object (e.g. pydantic model) in the beamline module that blueapi and hyperion can use and set up
The first is simplest, the third is similar but possible more extensible, the second requires the most boilerplate but is very flexible.
callumforrester
changed the title
Create directory provider that can
Create directory provider that can sync the file name prefix to a unique value based on the run engine
May 24, 2024
The flaw in this plan was that the RunEngine hook is still called after detectors are staged, and have opened their files, which is too late. So this approach has the same problems as the last one but with less custom code. This is an improvement, but to actually solve the problem we need to start making our detectors call .stage later. There is an ophyd-async issue for that: bluesky/ophyd-async#314
As a user I would like the files my detector writes to be tied uniquely to the current bluesky run so that I can easily group my data files.
Possible Solution
#565 is a speculative PR that does this by using the RunEngine's scan id hook.
Acceptance Criteria
Optional Acceptance Criteria
UpdatingDirectoryProvider
replaced with new providerThe text was updated successfully, but these errors were encountered: