Skip to content

Update to ophyd-async 0.17a4#1979

Merged
DominicOram merged 48 commits into
mainfrom
update_dodal_ophyd_async_v0.17a1
May 18, 2026
Merged

Update to ophyd-async 0.17a4#1979
DominicOram merged 48 commits into
mainfrom
update_dodal_ophyd_async_v0.17a1

Conversation

@gkalua
Copy link
Copy Markdown
Contributor

@gkalua gkalua commented Mar 13, 2026

WIP

OOO until 1/4/26

Downstream changes for mx-bluesky:

@oliwenmandiamond oliwenmandiamond changed the title WIP-Updates-some-imports-and-names Update to ophyd-async 0.17a1 Apr 14, 2026
@shihab-dls
Copy link
Copy Markdown
Contributor

I'm going to make a new release of ophyd-async soon, that includes changes to OdinIO, necessary to fix some existing bugs, but also includes quality of life changes that may reduce the number of operations we do in the configure_arm_trigger_and_disarm_detector plan. Let's block this until I've released the changes, then I will pick up converting the the plan and related test.

@DominicOram
Copy link
Copy Markdown
Contributor

I've tested a bunch of beamlines dodal connects to see if this change breaks beamlines

Thanks @oliwenmandiamond! It's expected that the PVI's cannot connect remotely as they use PVA and there is currently no PVA gateway on that allows us to read them remotely. We can test them fully by running dodal connect on the beamlines however, it is worrying that the PVI pvs now seem wrong e.g. pva://BL19I-EA-EIGER-01:PVI is obviously more correct than BL19IPVI, which I think does need looking into.

Actually, this doesn't seem possible because the API of NDArrayBaseIO and ADBaseIO has changed between versions. Thoughts on how to resolve?

I think for the tetramms we can just change it back. For i11 it looks like the enum on BL11I-EA-DET-07:DET:DetectorState_RBV doesn't match that on the latest version of ADCore, I will discuss with controls.

@EmsArnold
Copy link
Copy Markdown
Contributor

b01_1
fails connect (every device a part from synchrotron)
Note: Still connection errors without this change, so not related from what I can tell

Just checked this on the beamline, we're connecting to everything that we expect to connect to (imaging_detector is physically unplugged at the moment, and we've not been able to connect to the synchrotron for a while on the beamline - a separate issue).

@DominicOram DominicOram mentioned this pull request May 11, 2026
4 tasks
Copy link
Copy Markdown
Contributor

@DominicOram DominicOram left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think for the tetramms we can just change it back.

It's not quite that easy. After more investigation I think the underlying issue is that we're using https://github.com/epics-modules/quadEM/tree/master for controlling the tetramms. This doesn't inherit from ADDriver but instead from asynNDArrayDriver. I think there may also be a number of other problems such as the comment in the old driver saying:

        # tetramm never goes idle really, actually it is always acquiring
        # so need to wait for the capture to finish instead

but we're using ADArmLogic now, which does wait for the state to go to idle. Generally probably needs more thought and testing on the beamline

@DominicOram
Copy link
Copy Markdown
Contributor

DominicOram commented May 11, 2026

This is such a big review I think we're going to have to break it up. For now I've put off the mythen issue and then:

@JamesOHeaDLS
Copy link
Copy Markdown

The Odin for Jungfrau is not ready yet, so it needs to keep using Nick's writer

@oliwenmandiamond
Copy link
Copy Markdown
Contributor

@DominicOram am happy with the electron analyser bits. I will need to fix them though as gone out of date now

@DominicOram
Copy link
Copy Markdown
Contributor

The Odin for Jungfrau is not ready yet, so it needs to keep using Nick's writer

Then does someone in @DiamondLightSource/developers-mx-daq have capacity to update the commissioning JF to the new version?

@jacob720 jacob720 mentioned this pull request May 14, 2026
4 tasks
@DominicOram
Copy link
Copy Markdown
Contributor

I have confirmed that dodal connect passes (or has no change in errors). Found #2061 in the process but it's unrelated.

Copy link
Copy Markdown
Contributor

@DominicOram DominicOram left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy that this now works for my beamlines. I have tested on i15-1 and will test on i22 tomorrow. If I see errors on i22 I'll make new PRs

@oliwenmandiamond
Copy link
Copy Markdown
Contributor

@DominicOram @CoePaul @rtuck99 @jacob720 @Relm-Arrowny

Can CommissioningJungfrauDetector (dodal/devices/beamline/i24/commissioning_jungfrau.py) be deleted? It has no tests associated with it and is not being used by any beamline.

SingleTriggerDetector also has no tests. These are used by p99 and i10. Is someone able to write some tests for them?

@DominicOram
Copy link
Copy Markdown
Contributor

Can CommissioningJungfrauDetector (dodal/devices/beamline/i24/commissioning_jungfrau.py) be deleted? It has no tests associated with it and is not being used by any beamline.

As per James' comment above we can't remove it and it is being used by i24. I will write some tests.

SingleTriggerDetector also has no tests. These are used by p99 and i10. Is someone able to write some tests for them?

Sure, I will do this too

@DominicOram DominicOram merged commit 79c8d49 into main May 18, 2026
11 checks passed
@DominicOram DominicOram deleted the update_dodal_ophyd_async_v0.17a1 branch May 18, 2026 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants