Remove outdated attach_data_session_metadata - #2201
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2201 +/- ##
==========================================
- Coverage 99.34% 99.28% -0.06%
==========================================
Files 367 366 -1
Lines 14396 14367 -29
==========================================
- Hits 14301 14264 -37
- Misses 95 103 +8 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
cf57dc5 to
fd62578
Compare
DominicOram
left a comment
There was a problem hiding this comment.
I'm happy that this can be removed from an SCM+X POV
|
The path provider methods were left due to this comment. @rtuck99 is this still the case with hyperion? |
|
Hi, please can we retain There are some draft PRs for fastCS eiger which update it. Currently they are blocked behind a bunch of other things, but there is still the intention to work on them. #1706 Although, the idea of a single path provider is pretty flawed, there are potentially multiple devices and they may wish to write to different paths (which was the reason for the change). |
Why do they need global path provider though? Is this a bluapi limitation again where you need access to it inside of plans and can't without global state? |
Is there any reason to keep the |
If the devices exposed the path provider as something we could access at run time then we wouldn't need to have a global function. The reason we didn't need it before is because we could set the paths on the device signals directly. If ophyd-async exposed path provider on the devices such that plans could update it directly then we wouldn't need a top-level function. |
The reason we have a getter is because device initialisation in the beamline module requires that we specify a path provider, but at run time the plan has no way to determine it. The devices in ophyd-async do not expose the path provider. Hyperion does not use tiled and writes files directly so needs to be able to specify the location. |
Okay, so we have 2 issue. First is that ophyd-async doesn't exposes @tpoliaw how far along is DiamondLightSource/blueapi#1462? (I don't think we need the obj to support |
|
Just a thought @rtuck99, but can you not make your detector in dodal have an explicit public reference to |
|
|
aee4a31 to
ceed3f7
Compare
attach_data_session_metadata
|
Okay @rtuck99 @tpoliaw @DominicOram, I've updated this to remove only |
At the moment blueapi does not offer good facilities for accessing such objects where they are used. Ideally I want to be able to access the path provider at the point where I am setting up the detector. This might be somewhere in a deeply nested subplan. As I see it the options are:
|
So my understanding of the these 2 options, this is a deliberate design decision taken by the core team taken long ago. In GDA, you can basically use The decision was made so that if you wanted a device, it must be made part of the functions signature, hence |
Since the conversion to the
DeviceManager, there is still some legacy code that exists in dodal which is no longer needed #1734 (comment). This was pointed out by @EmsArnold when looking at #2050.I have removed
attach_data_session_metadataas no longer needed.Instructions to reviewer on how to test:
Checks for reviewer
dodal connect ${BEAMLINE}