diff --git a/qcodes/instrument_drivers/oxford/mercuryiPS.py b/qcodes/instrument_drivers/oxford/mercuryiPS.py index c86cc4b0951a..c311bb7bef87 100644 --- a/qcodes/instrument_drivers/oxford/mercuryiPS.py +++ b/qcodes/instrument_drivers/oxford/mercuryiPS.py @@ -207,8 +207,12 @@ def _ramp_to_setpoint(self, ax, cmd, setpoint): self._set_fld(ax, cmd, setpoint) self.rtos() if self.hold_after_set(): - while not all(['HOLD' == getattr(self, a.lower() + '_ACTN')() for a in ax]): - time.sleep(0.1) + try: + while not all(['HOLD' == getattr(self, a.lower() + '_ACTN')() for a in ax]): + time.sleep(0.1) + except KeyboardInterrupt: + self.hold() + raise KeyboardInterrupt def _ramp_to_setpoint_and_wait(self, ax, cmd, setpoint): error = 0.2e-3