DAQ: exception if fails to read auto_params

This commit is contained in:
2025-12-02 13:32:18 +01:00
parent 6633aa5680
commit 4d068a49f9
+10 -2
View File
@@ -19,11 +19,14 @@ from aaredaqlib.models import (
)
from aaredaqlib.beamline import MXBeamline
from aaredaqlib.logger_config import setup_logger
ABR_POS_ALIGN_DEF = Coordinate(x=-18, y=-0.266, z=0)
ABR_POS_MOUNT = Coordinate(x=-18, y=0, z=0)
ABR_OMEGA_MOUNT = 0.0
logger = setup_logger("aareDAQ")
# Serialize the NumPy array to a Base64 string
def numpy_to_base64(array: np.ndarray) -> str:
buffer = io.BytesIO() # Create an in-memory buffer
@@ -576,9 +579,14 @@ class BeamlineConfig:
def auto_params(self) -> SimpleScanParameters | None:
tmp = self.__client.get(f"{self.__bl}:auto_params")
if tmp is None:
logger.debug(f"auto_params missing in redis key {self.__bl}:auto_params")
return None
try:
data_dict = json.loads(tmp)
return SimpleScanParameters(**data_dict)
except Exception as e:
logger.error(f"failed to parse auto_params from redis: {e}; raw={tmp}")
return None
data_dict = json.loads(tmp)
return SimpleScanParameters(**data_dict)
@auto_params.setter
def auto_params(self, params:SimpleScanParameters | None):