fix(trigger): Use TransitionStatus in trigger card.

This commit is contained in:
2026-06-01 11:15:02 +02:00
parent 29c9b3f1f5
commit 3226a13277
+9 -19
View File
@@ -1,16 +1,16 @@
"""SuperXAS Trigger Device"""
from bec_lib.logger import bec_logger
from ophyd import Component as Cpt
from ophyd import Device, DeviceStatus, EpicsSignal, EpicsSignalRO, Kind, StatusBase
logger = bec_logger.logger
import enum
from bec_lib.devicemanager import ScanInfo
from bec_lib.logger import bec_logger
from ophyd import Component as Cpt
from ophyd import Device, DeviceStatus, EpicsSignal, EpicsSignalRO, Kind, StatusBase
from ophyd_devices import TransitionStatus
from ophyd_devices.interfaces.base_classes.psi_device_base import PSIDeviceBase
logger = bec_logger.logger
class ContinuousSamplingMode(int, enum.Enum):
"""Options for start_csmpl signal"""
@@ -107,20 +107,10 @@ class Trigger(PSIDeviceBase, TriggerControl):
status = falcon._stop_erase_and_wait_for_acquiring()
status.wait()
started = False
def _sampling_done():
nonlocal started
if not started and self.smpl_done.get() == SamplingDone.RUNNING:
started = True
return False
if started and self.smpl_done.get() == SamplingDone.DONE:
return True
return self.smpl_done.get() == SamplingDone.DONE
status = TransitionStatus(
self.smpl_done, transitions=[SamplingDone.DONE, SamplingDone.RUNNING, SamplingDone.DONE]
)
self.smpl.put(1)
status = self.task_handler.submit_task(_sampling_done, run=True)
return status
def on_complete(self) -> DeviceStatus | StatusBase | None: