diff --git a/src/dodal/devices/detector/detector.py b/src/dodal/devices/detector/detector.py index 49020d2a53..d1789dffb9 100644 --- a/src/dodal/devices/detector/detector.py +++ b/src/dodal/devices/detector/detector.py @@ -54,9 +54,8 @@ class Config: DetectorSizeConstants: lambda d: d.det_type_string, } - @root_validator( - pre=True, skip_on_failure=True - ) # should be replaced with model_validator once move to pydantic 2 is complete + # should be replaced with model_validator once move to pydantic 2 is complete + @root_validator(pre=True) def create_beamxy_and_runnumber(cls, values: dict[str, Any]) -> dict[str, Any]: values["beam_xy_converter"] = DetectorDistanceToBeamXYConverter( values["det_dist_to_beam_converter_path"] diff --git a/src/dodal/devices/eiger.py b/src/dodal/devices/eiger.py index c7fa01a717..bcc11c0e1f 100644 --- a/src/dodal/devices/eiger.py +++ b/src/dodal/devices/eiger.py @@ -39,6 +39,8 @@ def set(self, value, *, timeout=None, settle_time=None, **kwargs): STALE_PARAMS_TIMEOUT = 60 GENERAL_STATUS_TIMEOUT = 10 + # Long timeout for meta file to compensate for filesystem issues + META_FILE_READY_TIMEOUT = 30 ALL_FRAMES_TIMEOUT = 120 ARMING_TIMEOUT = 60 @@ -305,7 +307,7 @@ def _wait_for_odin_status(self) -> StatusBase: ) LOGGER.info("Eiger staging: awaiting odin metadata") status &= await_value( - self.odin.meta.ready, 1, timeout=self.GENERAL_STATUS_TIMEOUT + self.odin.meta.ready, 1, timeout=self.META_FILE_READY_TIMEOUT ) return status