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,