diff --git a/src/aare/daq/devices.py b/src/aare/daq/devices.py index 7a2416ab..29017def 100644 --- a/src/aare/daq/devices.py +++ b/src/aare/daq/devices.py @@ -27,6 +27,8 @@ from aare.devices.tell_client import make_tell_client logger = setup_logger("aareDAQ") +CHI_ZERO_TOLERANCE_DEG = 1e-3 + class BeamlineDevices: def __init__(self, beamline: MXBeamline, dispatch: BeamlineDispatch): @@ -346,6 +348,10 @@ class BeamlineDevices: return self._smargon.readback def set_smargon_pos(self, pos: SmargonCoordinate, /, wait: bool = True): + # TELL air blower must be off before chi leaves zero + if pos.chi_deg is not None and abs(pos.chi_deg) > CHI_ZERO_TOLERANCE_DEG: + logger.info(f"Switching TELL blower off before moving chi to {pos.chi_deg:.3f} deg") + self.tell.blower_off() self._smargon.target = pos @smargon_pos.setter