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)
|
self.cancel_on_stop(status)
|
||||||
mcs = self.device_manager.devices.get("mcs", None)
|
mcs = self.device_manager.devices.get("mcs", None)
|
||||||
if mcs is 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:
|
else:
|
||||||
mcs: MCSCardCSAXS
|
mcs: MCSCardCSAXS
|
||||||
status_ready_read = CompareStatus(mcs.ready_to_read, READYTOREAD.DONE)
|
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):
|
def test_ddg1_trigger(mock_ddg1):
|
||||||
"""Test the on_trigger method of DDG1."""
|
"""Test the on_trigger method of DDG1."""
|
||||||
mock_ddg1.state.event_status._read_pv.mock_data = (
|
mock_ddg1.state.event_status._read_pv.mock_data = STATUSBITS.NONE.value
|
||||||
5 # STATUSBITS.END_OF_DELAY.value + STATUSBITS.TRIG.value
|
|
||||||
)
|
|
||||||
|
|
||||||
with mock.patch.object(mock_ddg1, "device_manager") as mock_device_manager:
|
with mock.patch.object(mock_ddg1, "device_manager") as mock_device_manager:
|
||||||
# TODO add device manager DMMock, and properly test logic for mcs triggering.
|
# TODO add device manager DMMock, and properly test logic for mcs triggering.
|
||||||
mock_get = mock_device_manager.devices.get = mock.Mock(return_value=None)
|
mock_get = mock_device_manager.devices.get = mock.Mock(return_value=None)
|
||||||
status = mock_ddg1.trigger()
|
status = mock_ddg1.trigger()
|
||||||
assert mock_get.call_args == mock.call("mcs", None)
|
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.done is True
|
||||||
assert status.success is True
|
assert status.success is True
|
||||||
assert mock_ddg1.trigger_shot.get() == 1
|
|
||||||
|
|
||||||
|
|
||||||
def test_ddg1_stop(mock_ddg1):
|
def test_ddg1_stop(mock_ddg1):
|
||||||
|
|||||||
Reference in New Issue
Block a user