From f6843f38e0da4184cadbd10a884d56771f7585ac Mon Sep 17 00:00:00 2001 From: David Perl Date: Wed, 8 Jul 2026 15:35:50 +0200 Subject: [PATCH 1/6] fix: don't set url to None --- src/aare/gui/scan_logic/rotation_scan_manager.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/aare/gui/scan_logic/rotation_scan_manager.py b/src/aare/gui/scan_logic/rotation_scan_manager.py index 2d9c41d7..ec17b8e1 100644 --- a/src/aare/gui/scan_logic/rotation_scan_manager.py +++ b/src/aare/gui/scan_logic/rotation_scan_manager.py @@ -10,10 +10,8 @@ class RotationScanManager(QObject): super().__init__(parent) self.__beamline = mx_beamline() self.__detector_url = get_jfjoch_url(self.__beamline) - self.__detector_url = None @Slot(CompletedRotationScan) def scan_completed(self, r: CompletedRotationScan): if r.result.file_prefix is not None: - # self.file_ready.emit(r.result.file_prefix, 0) self.file_ready.emit(self.__detector_url, 0) -- 2.54.0 From 6c91c344516f460e74cbd8e6bb1713049867a7f8 Mon Sep 17 00:00:00 2001 From: David Perl Date: Wed, 8 Jul 2026 16:11:16 +0200 Subject: [PATCH 2/6] fix: handle mountingfailed specifically and split on critical --- src/aare/daq/daq.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/aare/daq/daq.py b/src/aare/daq/daq.py index 6ab758d6..27e95e02 100644 --- a/src/aare/daq/daq.py +++ b/src/aare/daq/daq.py @@ -2908,6 +2908,13 @@ class AareDAQ: raise + except MountingFailed as e: + logger.error(f"Failed to mount sample: {e}") + if e.critical: + raise e + else: + pass + except Exception as e: logger.error(f"Error in measure: {e}") if progress.current_step is not None: -- 2.54.0 From 59508d391fce4679dea35bb56756301f5909a25f Mon Sep 17 00:00:00 2001 From: appleb_m Date: Wed, 8 Jul 2026 17:22:17 +0200 Subject: [PATCH 3/6] fix: change how abr posotion is updated --- src/aare/devices/bec_worker.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/aare/devices/bec_worker.py b/src/aare/devices/bec_worker.py index 7b017c90..000365c1 100644 --- a/src/aare/devices/bec_worker.py +++ b/src/aare/devices/bec_worker.py @@ -6,6 +6,7 @@ from aarecommon.config.beamline import cfg_get, mx_beamline from aarecommon.config.logger import setup_logger from aarecommon.config.logger_events import log_timing from aarecommon.errors.exception_handler import BECCommunicationError +from aarecommon.math.coordinate import AerotechCoordinate from aarecommon.models.beamline import MXBeamline from bec_ipython_client import BECIPythonClient from bec_ipython_client.signals import OperationMode @@ -508,13 +509,25 @@ class BECClientWorker: save_current_position(self.dev.coll_y, "work") def save_current_aerotech_position(self): - save_current_position(self.dev.aerotech, "work", axis="x") + save_current_position(self.dev.aerotech, "in", axis="x") save_current_position(self.dev.aerotech, "work", axis="y") save_current_position(self.dev.aerotech, "work", axis="z") self.save_config_and_reload_devices() + def update_to_current_aerotech_position(self, pos: AerotechCoordinate): + logger.info(f"Updating Aerotech position to {pos}") + update_position(self.dev.aerotech, "in", pos.at_mm.x, axis="x",) + update_position(self.dev.aerotech, "work", pos.at_mm.y, axis="y") + update_position(self.dev.aerotech, "work", pos.at_mm.z, axis="z") + self.save_config_and_reload_devices() + def save_config_and_reload_devices(self): + logger.info("Saving BEC config and reloading devices") self.position_devices, self.planner = save_and_reload() + logger.info("BEC config and devices reloaded") + + def get_flux_x10sa(self): + return bpm2flux() @property def zoom(self): -- 2.54.0 From 5c6f0e7254b5bb784cabd485d91287060a7bfae3 Mon Sep 17 00:00:00 2001 From: appleb_m Date: Wed, 8 Jul 2026 17:22:24 +0200 Subject: [PATCH 4/6] fix: change how abr posotion is updated --- src/aare/daq/daq.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/aare/daq/daq.py b/src/aare/daq/daq.py index 27e95e02..bdb29fcf 100644 --- a/src/aare/daq/daq.py +++ b/src/aare/daq/daq.py @@ -1821,9 +1821,10 @@ class AareDAQ: self.__cfg.set_busy(BeamlineStateEnum.SampleAlignment) try: self.__cfg.abr_meas_pos = AerotechCoordinate(at_mm=self.__devs.aerotech_pos.at_mm) - self.__devs.bec_worker.save_current_aerotech_position() + self.__devs.bec_worker.update_to_current_aerotech_position(pos=self.__devs.aerotech_pos) self.__cfg.state_busy = False - except Exception: + except Exception as e: + logger.exception(f"Failed to save abr_meas_pos: {e}") self.__cfg.state_busy = False raise @@ -3231,7 +3232,7 @@ class AareDAQ: exp_shutter_open = self.__devs.exp_shutter.state() pss_prohibited = self.__devs.pss.is_prohibited() pss_alarm = self.__devs.pss.alarm_active() - flux = self.__devs.full_flux + flux = self.__devs.flux samcam_settings = self.__devs.samcam_settings bl = self.__bl transmission = self.__devs.transmission -- 2.54.0 From 6a5dead55f91cfabb01efa6465ce9d9a2ebd4650 Mon Sep 17 00:00:00 2001 From: appleb_m Date: Wed, 8 Jul 2026 17:22:50 +0200 Subject: [PATCH 5/6] feat: added flux macro to devices for x10sa --- src/aare/daq/devices.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/aare/daq/devices.py b/src/aare/daq/devices.py index a70374b7..be06454c 100644 --- a/src/aare/daq/devices.py +++ b/src/aare/daq/devices.py @@ -197,6 +197,8 @@ class BeamlineDevices: @property def flux(self) -> float: # TODO FLUX + if self._beamline == MXBeamline.X10SA: + return self.bec_worker.get_flux_x10sa() return self.transmission * self.full_flux @property -- 2.54.0 From dd265f15738e20b6cbfda8f6239e4e942daead46 Mon Sep 17 00:00:00 2001 From: David Perl Date: Thu, 9 Jul 2026 10:25:03 +0200 Subject: [PATCH 6/6] fix: update aarlc dep --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 00bb0bdc..c687a8b8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,7 +28,7 @@ dependencies = [ "bec_lib>=3.130.3", "bec-ipython-client>=3.130.3", "aarescan-client==1.0.0rc5", - "aarelcinfer-client==0.1.1a6", + "aarelcinfer-client==0.1.1a8", "matplotlib>=3.10.3", "httpx>=0.28.1", ] -- 2.54.0