From 3d9dff6a6e34e6bded0a8f5d5f4f7a66375e0afd Mon Sep 17 00:00:00 2001 From: wakonig_k Date: Fri, 8 May 2026 08:54:55 +0200 Subject: [PATCH] fix(sim positioner): do not emit values within tolerance limit --- ophyd_devices/sim/sim_positioner.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ophyd_devices/sim/sim_positioner.py b/ophyd_devices/sim/sim_positioner.py index 63e4a38..174c541 100644 --- a/ophyd_devices/sim/sim_positioner.py +++ b/ophyd_devices/sim/sim_positioner.py @@ -146,8 +146,12 @@ class SimPositioner(Device, PositionerBase): def _update_state(self, val): """Update the state of the simulated device.""" old_readback = self._get_sim_state(self.readback.name) + self._set_sim_state(self.readback.name, val) + if np.isclose(old_readback, val, atol=self.tolerance.get()): + return + # Run subscription on "readback" self._run_subs( sub_type=self.SUB_READBACK,