From f57400feb938d5c0cd3ea25a0a1f2cbc79723520 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Thu, 27 Nov 2025 07:49:29 +0100 Subject: [PATCH] frappy_psi.picontrol: stop when switching to manual mode Change-Id: I3ffb9a109fb3b04fbca06f5a72acbfbd19525aae --- frappy_psi/picontrol.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/frappy_psi/picontrol.py b/frappy_psi/picontrol.py index d1b14f89..f7877068 100644 --- a/frappy_psi/picontrol.py +++ b/frappy_psi/picontrol.py @@ -61,7 +61,7 @@ example cfg: import time import math import numpy as np -from frappy.core import Readable, Writable, Parameter, Attached, IDLE, Property +from frappy.core import Readable, Writable, Parameter, Attached, IDLE, WARN, Property from frappy.lib import clamp, merge_status from frappy.datatypes import LimitsType, EnumType, FloatRange from frappy.errors import SECoPError @@ -296,6 +296,13 @@ class PI(HasConvergence, PImixin): super().write_target(target) self.convergence_start() + def deactivate_control(self, source=None): + super().deactivate_control(source) + if self.isBusy(): + self.convergence_state.stop_status = ( + WARN, f'switched to manual mode by {source or self.name}') + self.convergence_state.start(self.convergence_interrupt) + # unchecked! class PI2(PI):