diff --git a/src/aare/daq/daq.py b/src/aare/daq/daq.py index 428f1aa4..476fca10 100644 --- a/src/aare/daq/daq.py +++ b/src/aare/daq/daq.py @@ -3099,9 +3099,9 @@ class AareDAQ: sample = self._cfg.current_sample try: self._devs.tell.get_state() - tell_connected, tell_error = True, None + tell_connected, tell_error = True, None except TellCommunicationError as e: - tell_connected, tell_error = False, f"TELL unavailable: {e}" + tell_connected, tell_error = False, f"TELL unavailable: {e}" return sample, tell_connected, tell_error def _aerotech_status(self) -> tuple[bool, str | None]: diff --git a/src/aare/daq/operations/mounting/service.py b/src/aare/daq/operations/mounting/service.py index 0ff37778..b97ec726 100644 --- a/src/aare/daq/operations/mounting/service.py +++ b/src/aare/daq/operations/mounting/service.py @@ -152,6 +152,9 @@ class MountingService: self.ctx.deps.devs.tell.set_in_mount_position(True) def _unmount_current_sample(self, timeout: float = 60.0): + # Timeout here is reduced from the default 360s because an error should be caught by + # the retry handler later. If errors from this function are not propagated correctly + # (e.g. through _handle_operation_error) it may cause weird problems that appear as timeouts! self._prepare_mount_hardware() previous_sample = self.ctx.deps.cfg.current_sample if previous_sample is not None: