From 0e98eefced2cb67c1c1efc45ddf24663a0682688 Mon Sep 17 00:00:00 2001 From: chuan Date: Thu, 4 Dec 2025 18:36:59 +0800 Subject: [PATCH] 1 --- src/navigate/model/devices/camera/andor.py | 23 ++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/navigate/model/devices/camera/andor.py b/src/navigate/model/devices/camera/andor.py index 3311052..183472c 100644 --- a/src/navigate/model/devices/camera/andor.py +++ b/src/navigate/model/devices/camera/andor.py @@ -87,13 +87,16 @@ class AndorCamera(CameraBase): self.camera = AndorSDK3Camera(idx=self.camera_index) self.camera.open() - # Get device info - device_info = self.camera.get_device_info() - logger.info(f"Connected to Andor camera: {device_info.camera_model}") - logger.info(f"Serial number: {device_info.serial_number}") - - #: str: serial number - self.serial_number = device_info.serial_number + # Get device info - handle attributes that may not be supported + try: + camera_model = self.camera.get_attribute_value("CameraModel", error_on_missing=False, default="Unknown") + serial_number = self.camera.get_attribute_value("SerialNumber", error_on_missing=False, default="Unknown") + logger.info(f"Connected to Andor camera: {camera_model}") + logger.info(f"Serial number: {serial_number}") + self.serial_number = str(serial_number) + except Exception as e: + logger.warning(f"Could not read all device info: {e}") + self.serial_number = "andor_camera" #: bool: Whether the camera is currently acquiring self.is_acquiring = False @@ -166,7 +169,11 @@ class AndorCamera(CameraBase): logger.info(f"Exposure Time: {self.camera_exposure_time}s") logger.info(f"Binning: {self.x_binning}x{self.y_binning}") logger.info(f"ROI Center: ({self.center_x}, {self.center_y})") - logger.info(f"Trigger Mode: {self.camera.get_trigger_mode()}") + try: + trigger_mode = self.camera.get_trigger_mode() + logger.info(f"Trigger Mode: {trigger_mode}") + except Exception: + logger.info("Trigger Mode: Unknown") def close_camera(self) -> None: """Close AndorCamera Camera"""