From 8eff1f763804776702f75a6b753256c0b2da1e3a Mon Sep 17 00:00:00 2001 From: Klaus Wakonig Date: Mon, 18 Jul 2022 23:13:12 +0200 Subject: [PATCH] fixed bug fixed again (overwritten by import) --- ophyd_devices/sim/sim.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ophyd_devices/sim/sim.py b/ophyd_devices/sim/sim.py index 5497c1f..6519c38 100644 --- a/ophyd_devices/sim/sim.py +++ b/ophyd_devices/sim/sim.py @@ -322,6 +322,7 @@ class SynAxisOPAAS(Device, PositionerBase): raise LimitError(f"position={pos} not within limits {self.limits}") def set(self, value): + self._stopped = False self.check_value(value) old_setpoint = self.sim_state["setpoint"] self.sim_state["is_moving"] = 1 @@ -371,7 +372,7 @@ class SynAxisOPAAS(Device, PositionerBase): updates = np.ceil( np.abs(old_setpoint - move_val) / self.speed * self.update_frequency ) - for ii in np.linspace(old_setpoint, move_val - 5, int(updates)): + for ii in np.linspace(old_setpoint, move_val, int(updates)): ttime.sleep(1 / self.update_frequency) update_state(ii) update_state(move_val) @@ -384,8 +385,9 @@ class SynAxisOPAAS(Device, PositionerBase): timestamp=self.sim_state["is_moving_ts"], ) except DeviceStop: - self._stopped = False success = False + finally: + self._stopped = False self._done_moving(success=success) st.set_finished()