From 4f1386f5e11c6c0e14abca863e7afb31e2aaaf18 Mon Sep 17 00:00:00 2001 From: x10da Date: Wed, 1 Apr 2026 10:49:03 +0200 Subject: [PATCH] Bugfix Transistionstatus in kickoff --- superxas_bec/devices/mo1_bragg/mo1_bragg.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/superxas_bec/devices/mo1_bragg/mo1_bragg.py b/superxas_bec/devices/mo1_bragg/mo1_bragg.py index 46694b6..e6311fc 100644 --- a/superxas_bec/devices/mo1_bragg/mo1_bragg.py +++ b/superxas_bec/devices/mo1_bragg/mo1_bragg.py @@ -122,6 +122,7 @@ class Mo1Bragg(PSIDeviceBase, Mo1BraggPositioner): Information about the upcoming scan can be accessed from the scan_info (self.scan_info.msg) object. """ + if self.scan_control.scan_msg.get() != ScanControlLoadMessage.PENDING: status = CompareStatus(self.scan_control.scan_msg, ScanControlLoadMessage.PENDING) self.cancel_on_stop(status) @@ -130,6 +131,7 @@ class Mo1Bragg(PSIDeviceBase, Mo1BraggPositioner): scan_name = self.scan_info.msg.scan_name self._update_scan_parameter() + if scan_name == "xas_simple_scan": self.set_xas_settings( low=self.scan_parameter.start, @@ -205,9 +207,10 @@ class Mo1Bragg(PSIDeviceBase, Mo1BraggPositioner): else: return # Setting scan duration seems to lag behind slightly in the backend, include small sleep - logger.info(f"Sleeping for one second") - time.sleep(1) - logger.info(f"Device {self.name}, done sleeping") + # logger.info(f"Sleeping for one second") + # time.sleep(1) + # logger.info(f"Device {self.name}, done sleeping") + # Load the scan parameters to the controller status = CompareStatus(self.scan_control.scan_msg, ScanControlLoadMessage.SUCCESS) self.cancel_on_stop(status) @@ -270,7 +273,7 @@ class Mo1Bragg(PSIDeviceBase, Mo1BraggPositioner): self.scan_control.scan_status, transitions=[ScanControlScanStatus.READY, ScanControlScanStatus.RUNNING], strict=True, - raise_states=[ScanControlScanStatus.PARAMETER_WRONG], + failure_states=[ScanControlScanStatus.PARAMETER_WRONG], ) self.cancel_on_stop(status) start_func(1)