From dbc1221087d5ee3afad64158b17c5b7e904b5db9 Mon Sep 17 00:00:00 2001 From: wyzula-jan Date: Wed, 20 May 2026 17:12:09 +0200 Subject: [PATCH] wip various fixes for csaxs testing --- csaxs_bec/bec_widgets/widgets/xray_eye/x_ray_eye.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/csaxs_bec/bec_widgets/widgets/xray_eye/x_ray_eye.py b/csaxs_bec/bec_widgets/widgets/xray_eye/x_ray_eye.py index f5fd0af..65e4758 100644 --- a/csaxs_bec/bec_widgets/widgets/xray_eye/x_ray_eye.py +++ b/csaxs_bec/bec_widgets/widgets/xray_eye/x_ray_eye.py @@ -418,6 +418,8 @@ class XRayEye(BECWidget, QWidget): @SafeSlot(bool) @rpc_timeout(20) def on_live_view_enabled(self, enabled: bool): + if getattr(self, "_destroyed", False): + return logger.info(f"Live view is enabled: {enabled}") self.live_preview_toggle.blockSignals(True) if enabled: @@ -440,6 +442,8 @@ class XRayEye(BECWidget, QWidget): @SafeSlot(dict, dict) def getting_camera_status(self, data, meta): + if getattr(self, "_destroyed", False): + return print(f"msg:{data}") live_mode_enabled = data.get("signals").get(f"{CAMERA[0]}_live_mode_enabled").get("value") self.camera_running_toggle.blockSignals(True) @@ -459,6 +463,8 @@ class XRayEye(BECWidget, QWidget): @SafeSlot(dict, dict) def getting_shutter_status(self, data, meta): + if getattr(self, "_destroyed", False): + return shutter_open = bool(data.get("signals").get("fsh_shutter").get("value")) self.shutter_toggle.blockSignals(True) self.shutter_toggle.checked = shutter_open @@ -561,6 +567,7 @@ class XRayEye(BECWidget, QWidget): def cleanup(self): """Cleanup connections on widget close -> disconnect slots and stop live mode of camera.""" + # self.on_live_view_enabled(False) #TODO test later if self._connected_motor is not None: self.bec_dispatcher.disconnect_slot( self.on_tomo_angle_readback, MessageEndpoints.device_readback(self._connected_motor) @@ -573,7 +580,10 @@ class XRayEye(BECWidget, QWidget): self.getting_camera_status, MessageEndpoints.device_read_configuration(CAMERA[0]) ) - getattr(self.dev, CAMERA[0]).stop_live_mode() + # try: + # getattr(self.dev, CAMERA[0]).stop_live_mode() + # except Exception as exc: + # logger.warning(f"Failed to stop {CAMERA[0]} live mode during cleanup: {exc}") super().cleanup()