refactor(ddg): passiv readout of event_status register
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user