fix(nidaq): fix on_kickoff call not using set
CI for debye_bec / test (push) Successful in 1m0s
CI for debye_bec / test (pull_request) Successful in 58s

This commit is contained in:
2026-07-16 10:16:31 +02:00
parent b795362e5f
commit f3b9e914cd
+10 -5
View File
@@ -5,9 +5,9 @@ from typing import TYPE_CHECKING, Literal
from bec_lib.logger import bec_logger
from bec_server.scan_server.scans.scan_base import ScanInfo as ScanServerScanInfo
from ophyd import Component as Cpt
from ophyd import Device, DeviceStatus, EpicsSignal, EpicsSignalRO, Kind, StatusBase
from ophyd import Device, DeviceStatus, EpicsSignal, EpicsSignalRO, Kind
from ophyd.status import WaitTimeoutError
from ophyd_devices import CompareStatus, ProgressSignal, TransitionStatus
from ophyd_devices import CompareStatus, ProgressSignal, StatusBase, TransitionStatus
from ophyd_devices.interfaces.base_classes.psi_device_base import PSIDeviceBase
from ophyd_devices.sim.sim_signals import SetableSignal
@@ -432,13 +432,18 @@ class Nidaq(PSIDeviceBase, NidaqControl):
status.wait(timeout=self.timeout_wait_for_signal)
if self.scan_parameters.scan_name != "nidaq_continuous_scan":
status = self.on_kickoff()
self.cancel_on_stop(status)
status.wait(timeout=self._timeout_wait_for_pv)
status.wait()
logger.info(f"Device {self.name} was staged: {NidaqState(self.state.get())}")
def on_kickoff(self) -> DeviceStatus | StatusBase:
"""Kickoff the Nidaq"""
status = self.kickoff_call.set(1)
status = CompareStatus(
self.state,
NidaqState.KICKOFF.value,
timeout=self._timeout_wait_for_pv,
description="Waiting for NIDAQ to enter KICKOFF state",
)
self.kickoff_call.put(1)
self.cancel_on_stop(status)
return status