From a2a8b87080d5998af1b6e93eec2b7911df3edf41 Mon Sep 17 00:00:00 2001 From: Jacob Williamson Date: Wed, 11 Nov 2026 17:22:49 +0000 Subject: [PATCH 1/2] Fix tiled data shape by correcting trigger info --- pyproject.toml | 2 +- .../i15_1/plans/generic_collection.py | 5 +---- uv.lock | 10 +++------- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 9d3d10d..6442d29 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,7 @@ dependencies = [ "scanspec", "deepdiff", "heliotrapi >= v0.4.1", - "ophyd-async[ca,pva] >=0.21.2", + "ophyd-async[ca,pva] @ git+https://github.com/bluesky/ophyd-async.git@jw/fix_eiger_trigger_logic", "bluesky >= 1.16.0", "daq-config-server >= 1.5.3", "dls-dodal @ git+https://github.com/DiamondLightSource/dodal.git@main", diff --git a/src/crystallography_bluesky/i15_1/plans/generic_collection.py b/src/crystallography_bluesky/i15_1/plans/generic_collection.py index e582c97..abffc38 100644 --- a/src/crystallography_bluesky/i15_1/plans/generic_collection.py +++ b/src/crystallography_bluesky/i15_1/plans/generic_collection.py @@ -114,11 +114,8 @@ def setup_and_teardown_collection( record metadata from. Defaults to None. """ - # Workaround for https://github.com/bluesky/ophyd-async/issues/1288 for now - yield from bps.abs_set(devices.fastcs_eiger.detector.ntrigger, frames, wait=True) - eiger_trigger_info = TriggerInfo( - collections_per_event=1, + collections_per_event=frames, number_of_events=1, trigger=DetectorTrigger.EXTERNAL_EDGE, livetime=exposure_time, diff --git a/uv.lock b/uv.lock index 6d7c915..3bc4f0b 100644 --- a/uv.lock +++ b/uv.lock @@ -1070,7 +1070,7 @@ requires-dist = [ { name = "ispyb" }, { name = "matplotlib" }, { name = "numpy", specifier = ">=2.2.6" }, - { name = "ophyd-async", extras = ["ca", "pva"], specifier = ">=0.21.2" }, + { name = "ophyd-async", extras = ["ca", "pva"], git = "https://github.com/bluesky/ophyd-async.git?rev=jw%2Ffix_eiger_trigger_logic" }, { name = "pandas" }, { name = "pydantic", specifier = ">=2.0" }, { name = "pyepics" }, @@ -2724,8 +2724,8 @@ wheels = [ [[package]] name = "ophyd-async" -version = "0.21.3" -source = { registry = "https://pypi.org/simple" } +version = "0.21.5.dev1+g3db57169e" +source = { git = "https://github.com/bluesky/ophyd-async.git?rev=jw%2Ffix_eiger_trigger_logic#3db57169eb9aca21f059f8e31c4e3a07ca69655f" } dependencies = [ { name = "bluesky" }, { name = "colorlog" }, @@ -2739,10 +2739,6 @@ dependencies = [ { name = "stamina" }, { name = "velocity-profile" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2a/f6/d1878af8283b63c7af960e160122b0c7d565c6440ec6abd900776388dfce/ophyd_async-0.21.3.tar.gz", hash = "sha256:373b60c432366cb12b8ce40f289826ab53708b2b95d0e6be0c75404ea39bf9c0", size = 679766, upload-time = "2026-09-23T08:37:03.14Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6c/01/626bf9585228485b82f0afb4460413f34d2898c8482fab9bfc200be369e1/ophyd_async-0.21.3-py3-none-any.whl", hash = "sha256:63a868c0c64cd2b349983dcce5a46ba9dcea6c922de1f7a3ea92c717f918afd4", size = 261955, upload-time = "2026-09-23T08:37:01.818Z" }, -] [package.optional-dependencies] ca = [ From 524a68e62a739e04b3bca370e6622327678f5a36 Mon Sep 17 00:00:00 2001 From: Jacob Williamson Date: Wed, 11 Nov 2026 17:46:55 +0000 Subject: [PATCH 2/2] Fix tests --- tests/unit_tests/i15_1/test_centre_sample.py | 10 ---------- tests/unit_tests/i15_1/test_static_collection.py | 10 ---------- 2 files changed, 20 deletions(-) diff --git a/tests/unit_tests/i15_1/test_centre_sample.py b/tests/unit_tests/i15_1/test_centre_sample.py index 7c1ca65..e8021d3 100644 --- a/tests/unit_tests/i15_1/test_centre_sample.py +++ b/tests/unit_tests/i15_1/test_centre_sample.py @@ -82,16 +82,6 @@ def test_centre_sample_plan_makes_expected_calls( and msg.args == (DEFAULT_CENTRING_TTH_ANGLE,) ), ) - - msgs = assert_message_and_return_remaining( - msgs, - predicate=lambda msg: ( - msg.command == "set" - and msg.obj.name == "fastcs-eiger-detector-ntrigger" - and msg.args[0] == 12 - ), - ) - msgs = assert_message_and_return_remaining( msgs, predicate=lambda msg: msg.command == "stage" and msg.obj.name == "fastcs-eiger", diff --git a/tests/unit_tests/i15_1/test_static_collection.py b/tests/unit_tests/i15_1/test_static_collection.py index 65f711b..948429f 100644 --- a/tests/unit_tests/i15_1/test_static_collection.py +++ b/tests/unit_tests/i15_1/test_static_collection.py @@ -79,16 +79,6 @@ def test_static_collection_plan_makes_expected_calls( and msg.args[0] == 31 # PC_PULSE ), ) - - msgs = assert_message_and_return_remaining( - msgs, - predicate=lambda msg: ( - msg.command == "set" - and msg.obj.name == "fastcs-eiger-detector-ntrigger" - and msg.args[0] == 10 - ), - ) - msgs = assert_message_and_return_remaining( msgs, predicate=lambda msg: msg.command == "stage" and msg.obj.name == "fastcs-eiger",