refactor(ddg): passiv readout of event_status register

This commit is contained in:
2025-08-05 12:27:51 +02:00
parent 3c9192d6a5
commit a03e99d615
2 changed files with 7 additions and 5 deletions

View File

@@ -160,7 +160,7 @@ class DDG1(PSIDeviceBase, DelayGeneratorCSAXS):
self.cancel_on_stop(status)
mcs = self.device_manager.devices.get("mcs", None)
if mcs is None:
logger.info(f"Did not find mcs card in current session")
logger.info("Did not find mcs card with name 'mcs' in current session")
else:
mcs: MCSCardCSAXS
status_ready_read = CompareStatus(mcs.ready_to_read, READYTOREAD.DONE)

View File

@@ -208,18 +208,20 @@ def test_ddg1_stage(mock_ddg1):
def test_ddg1_trigger(mock_ddg1):
"""Test the on_trigger method of DDG1."""
mock_ddg1.state.event_status._read_pv.mock_data = (
5 # STATUSBITS.END_OF_DELAY.value + STATUSBITS.TRIG.value
)
mock_ddg1.state.event_status._read_pv.mock_data = STATUSBITS.NONE.value
with mock.patch.object(mock_ddg1, "device_manager") as mock_device_manager:
# TODO add device manager DMMock, and properly test logic for mcs triggering.
mock_get = mock_device_manager.devices.get = mock.Mock(return_value=None)
status = mock_ddg1.trigger()
assert mock_get.call_args == mock.call("mcs", None)
assert status.done is False
assert status.success is False
assert mock_ddg1.trigger_shot.get() == 1
mock_ddg1.state.event_status._read_pv.mock_data = STATUSBITS.END_OF_DELAY.value
status.wait(timeout=1) # Wait for the status to be done
assert status.done is True
assert status.success is True
assert mock_ddg1.trigger_shot.get() == 1
def test_ddg1_stop(mock_ddg1):