diff --git a/ophyd_devices/sim/sim_camera.py b/ophyd_devices/sim/sim_camera.py index 22a5a6d..f682983 100644 --- a/ophyd_devices/sim/sim_camera.py +++ b/ophyd_devices/sim/sim_camera.py @@ -9,7 +9,6 @@ from ophyd_devices.interfaces.base_classes.psi_detector_base import ( PSIDetectorBase, ) from ophyd_devices.sim.sim_data import SimulatedDataCamera -from ophyd_devices.sim.sim_exception import DeviceStop from ophyd_devices.sim.sim_signals import ReadOnlySignal, SetableSignal from ophyd_devices.sim.sim_utils import H5Writer @@ -32,11 +31,9 @@ class SimCameraSetup(CustomDetectorMixin): data = self.parent.image.get() self.parent._run_subs(sub_type=self.parent.SUB_MONITOR, value=data) if self.parent.stopped: - raise DeviceStop + break if self.parent.write_to_disk.get(): self.parent.h5_writer.receive_data(data) - except DeviceStop: - pass finally: self.parent.stopped = False diff --git a/ophyd_devices/sim/sim_exception.py b/ophyd_devices/sim/sim_exception.py deleted file mode 100644 index dbf04ab..0000000 --- a/ophyd_devices/sim/sim_exception.py +++ /dev/null @@ -1,2 +0,0 @@ -class DeviceStop(Exception): - pass diff --git a/ophyd_devices/sim/sim_positioner.py b/ophyd_devices/sim/sim_positioner.py index eb2f03c..32c3ac4 100644 --- a/ophyd_devices/sim/sim_positioner.py +++ b/ophyd_devices/sim/sim_positioner.py @@ -9,7 +9,6 @@ from ophyd.utils import LimitError from typeguard import typechecked from ophyd_devices.sim.sim_data import SimulatedPositioner -from ophyd_devices.sim.sim_exception import DeviceStop from ophyd_devices.sim.sim_signals import ReadOnlySignal, SetableSignal from ophyd_devices.sim.sim_test_devices import DummyController from ophyd_devices.sim.sim_utils import LinearTrajectory, stop_trajectory @@ -143,8 +142,6 @@ class SimPositioner(Device, PositionerBase): def _update_state(self, val): """Update the state of the simulated device.""" - if self._stopped: - raise DeviceStop old_readback = self._get_sim_state(self.readback.name) self._set_sim_state(self.readback.name, val) @@ -160,22 +157,19 @@ class SimPositioner(Device, PositionerBase): """Move the simulated device and finish the motion.""" success = True + target = stop_pos + self.tolerance.get() * np.random.uniform(-1, 1) + + updates = np.ceil(np.abs(target - start_pos) / self.velocity.get() * self.update_frequency) + try: - target = stop_pos + self.tolerance.get() * np.random.uniform(-1, 1) - - updates = np.ceil( - np.abs(target - start_pos) / self.velocity.get() * self.update_frequency - ) - for ii in np.linspace(start_pos, target, int(updates)): ttime.sleep(1 / self.update_frequency) self._update_state(ii) if self._stopped: + success = False break else: self._update_state(target) - except DeviceStop: - success = False finally: self._done_moving(success=success) self._set_sim_state(self.motor_is_moving.name, 0) @@ -238,6 +232,7 @@ class SimLinearTrajectoryPositioner(SimPositioner): ttime.sleep(1 / self.update_frequency) self._update_state(traj.position()) if self._stopped: + success = False break if self._stopped: # simulate deceleration @@ -246,8 +241,6 @@ class SimLinearTrajectoryPositioner(SimPositioner): ttime.sleep(1 / self.update_frequency) self._update_state(traj.position()) self._update_state(traj.position()) - except DeviceStop: - success = False finally: self._set_sim_state(self.motor_is_moving.name, 0) self._done_moving(success=success) diff --git a/ophyd_devices/sim/sim_waveform.py b/ophyd_devices/sim/sim_waveform.py index baa9a77..a859e50 100644 --- a/ophyd_devices/sim/sim_waveform.py +++ b/ophyd_devices/sim/sim_waveform.py @@ -7,7 +7,6 @@ from ophyd import Component as Cpt from ophyd import Device, DeviceStatus, Kind from ophyd_devices.sim.sim_data import SimulatedDataWaveform -from ophyd_devices.sim.sim_exception import DeviceStop from ophyd_devices.sim.sim_signals import ReadOnlySignal, SetableSignal from ophyd_devices.utils.bec_scaninfo_mixin import BecScaninfoMixin @@ -95,9 +94,7 @@ class SimWaveform(Device): for _ in range(self.burst.get()): self._run_subs(sub_type=self.SUB_MONITOR, value=self.waveform.get()) if self._stopped: - raise DeviceStop - except DeviceStop: - pass + break finally: self._stopped = False self._done_acquiring()