From 0487c5d3e232a150984917da56c434ff499dd3a0 Mon Sep 17 00:00:00 2001 From: wyzula-jan Date: Thu, 1 Oct 2026 13:21:10 +0200 Subject: [PATCH] fix(positioner_box): move via scans.mv instead of deprecated Positioner.move --- .../positioner_box/positioner_box.py | 10 ++++---- .../positioner_box_2d/positioner_box_2d.py | 20 ++++++++-------- tests/unit_tests/test_positioner_box.py | 12 +++++----- tests/unit_tests/test_positioner_box_2d.py | 24 +++++++------------ 4 files changed, 29 insertions(+), 37 deletions(-) diff --git a/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.py b/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.py index 41e6ae62..2384dd0a 100644 --- a/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.py +++ b/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.py @@ -223,20 +223,20 @@ class PositionerBox(PositionerBoxBase): """Tweak motor right""" setpoint = self._get_setpoint() if setpoint is None: - self.dev[self.device].move(self.step_size, relative=True) + self.scans.mv(self.dev[self.device], self.step_size, relative=True) return target = setpoint + self.step_size - self.dev[self.device].move(target, relative=False) + self.scans.mv(self.dev[self.device], target, relative=False) @SafeSlot() def on_tweak_left(self): """Tweak motor left""" setpoint = self._get_setpoint() if setpoint is None: - self.dev[self.device].move(-self.step_size, relative=True) + self.scans.mv(self.dev[self.device], -self.step_size, relative=True) return target = setpoint - self.step_size - self.dev[self.device].move(target, relative=False) + self.scans.mv(self.dev[self.device], target, relative=False) def _get_setpoint(self) -> float | None: """Get the setpoint of the motor""" @@ -255,7 +255,7 @@ class PositionerBox(PositionerBoxBase): """Change the setpoint for the motor""" self.ui.setpoint.clearFocus() setpoint = self.ui.setpoint.text() - self.dev[self.device].move(float(setpoint), relative=False) + self.scans.mv(self.dev[self.device], float(setpoint), relative=False) self.ui.tweak_left.setToolTip(f"Tweak left by {self.step_size}") self.ui.tweak_right.setToolTip(f"Tweak right by {self.step_size}") diff --git a/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box_2d.py b/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box_2d.py index 24cc1d68..5aa01b57 100644 --- a/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box_2d.py +++ b/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_2d/positioner_box_2d.py @@ -474,56 +474,56 @@ class PositionerBox2D(PositionerBoxBase): @SafeSlot() def on_tweak_inc_hor(self): """Tweak device a up""" - self.dev[self.device_hor].move(self.step_size_hor / 10, relative=True) + self.scans.mv(self.dev[self.device_hor], self.step_size_hor / 10, relative=True) @SafeSlot() def on_tweak_dec_hor(self): """Tweak device a down""" - self.dev[self.device_hor].move(-self.step_size_hor / 10, relative=True) + self.scans.mv(self.dev[self.device_hor], -self.step_size_hor / 10, relative=True) @SafeSlot() def on_step_inc_hor(self): """Tweak device a up""" - self.dev[self.device_hor].move(self.step_size_hor, relative=True) + self.scans.mv(self.dev[self.device_hor], self.step_size_hor, relative=True) @SafeSlot() def on_step_dec_hor(self): """Tweak device a down""" - self.dev[self.device_hor].move(-self.step_size_hor, relative=True) + self.scans.mv(self.dev[self.device_hor], -self.step_size_hor, relative=True) @SafeSlot() def on_tweak_inc_ver(self): """Tweak device a up""" - self.dev[self.device_ver].move(self.step_size_ver / 10, relative=True) + self.scans.mv(self.dev[self.device_ver], self.step_size_ver / 10, relative=True) @SafeSlot() def on_tweak_dec_ver(self): """Tweak device b down""" - self.dev[self.device_ver].move(-self.step_size_ver / 10, relative=True) + self.scans.mv(self.dev[self.device_ver], -self.step_size_ver / 10, relative=True) @SafeSlot() def on_step_inc_ver(self): """Tweak device b up""" - self.dev[self.device_ver].move(self.step_size_ver, relative=True) + self.scans.mv(self.dev[self.device_ver], self.step_size_ver, relative=True) @SafeSlot() def on_step_dec_ver(self): """Tweak device a down""" - self.dev[self.device_ver].move(-self.step_size_ver, relative=True) + self.scans.mv(self.dev[self.device_ver], -self.step_size_ver, relative=True) @SafeSlot() def on_setpoint_change_hor(self): """Change the setpoint for device a""" self.ui.setpoint_hor.clearFocus() setpoint = self.ui.setpoint_hor.text() - self.dev[self.device_hor].move(float(setpoint), relative=False) + self.scans.mv(self.dev[self.device_hor], float(setpoint), relative=False) @SafeSlot() def on_setpoint_change_ver(self): """Change the setpoint for device b""" self.ui.setpoint_ver.clearFocus() setpoint = self.ui.setpoint_ver.text() - self.dev[self.device_ver].move(float(setpoint), relative=False) + self.scans.mv(self.dev[self.device_ver], float(setpoint), relative=False) if __name__ == "__main__": # pragma: no cover diff --git a/tests/unit_tests/test_positioner_box.py b/tests/unit_tests/test_positioner_box.py index 5f6db081..2f759ad5 100644 --- a/tests/unit_tests/test_positioner_box.py +++ b/tests/unit_tests/test_positioner_box.py @@ -91,26 +91,26 @@ def test_positioner_box_on_stop(positioner_box): def test_positioner_box_setpoint_change(positioner_box): """Test positioner box setpoint change""" - with mock.patch.object(positioner_box.dev["samx"], "move") as mock_move: + with mock.patch.object(positioner_box.scans, "mv") as mock_mv: positioner_box.ui.setpoint.setText("100") positioner_box.on_setpoint_change() - mock_move.assert_called_once_with(100, relative=False) + mock_mv.assert_called_once_with(positioner_box.dev["samx"], 100, relative=False) def test_positioner_box_on_tweak_right(positioner_box): """Test tweak right button""" - with mock.patch.object(positioner_box.dev["samx"], "move") as mock_move: + with mock.patch.object(positioner_box.scans, "mv") as mock_mv: positioner_box.ui.step_size.setValue(0.1) positioner_box.on_tweak_right() - mock_move.assert_called_once_with(0.1, relative=True) + mock_mv.assert_called_once_with(positioner_box.dev["samx"], 0.1, relative=True) def test_positioner_box_on_tweak_left(positioner_box): """Test tweak left button""" - with mock.patch.object(positioner_box.dev["samx"], "move") as mock_move: + with mock.patch.object(positioner_box.scans, "mv") as mock_mv: positioner_box.ui.step_size.setValue(0.1) positioner_box.on_tweak_left() - mock_move.assert_called_once_with(-0.1, relative=True) + mock_mv.assert_called_once_with(positioner_box.dev["samx"], -0.1, relative=True) def test_positioner_box_setpoint_out_of_range(positioner_box): diff --git a/tests/unit_tests/test_positioner_box_2d.py b/tests/unit_tests/test_positioner_box_2d.py index cde9d1b4..43ea5def 100644 --- a/tests/unit_tests/test_positioner_box_2d.py +++ b/tests/unit_tests/test_positioner_box_2d.py @@ -50,34 +50,26 @@ def test_positioner_box_2d(positioner_box_2d): def test_positioner_box_move_hor_does_not_affect_ver(positioner_box_2d): """Test that moving one positioner doesn't affect the other""" - with ( - mock.patch.object(positioner_box_2d.dev["samx"], "move") as mock_move_hor, - mock.patch.object(positioner_box_2d.dev["samy"], "move") as mock_move_ver, - ): + with mock.patch.object(positioner_box_2d.scans, "mv") as mock_mv: positioner_box_2d.ui.step_size_hor.setValue(0.1) positioner_box_2d.on_tweak_inc_hor() - mock_move_hor.assert_called_once_with(0.01, relative=True) - mock_move_ver.assert_not_called() - with ( - mock.patch.object(positioner_box_2d.dev["samx"], "move") as mock_move_hor, - mock.patch.object(positioner_box_2d.dev["samy"], "move") as mock_move_ver, - ): + mock_mv.assert_called_once_with(positioner_box_2d.dev["samx"], 0.01, relative=True) + with mock.patch.object(positioner_box_2d.scans, "mv") as mock_mv: positioner_box_2d.ui.step_size_ver.setValue(0.1) positioner_box_2d.on_step_dec_ver() - mock_move_ver.assert_called_once_with(-0.1, relative=True) - mock_move_hor.assert_not_called() + mock_mv.assert_called_once_with(positioner_box_2d.dev["samy"], -0.1, relative=True) def test_positioner_box_setpoint_changes(positioner_box_2d: PositionerBox2D): """Test positioner box setpoint change""" - with mock.patch.object(positioner_box_2d.dev["samx"], "move") as mock_move: + with mock.patch.object(positioner_box_2d.scans, "mv") as mock_mv: positioner_box_2d.ui.setpoint_hor.setText("100") positioner_box_2d.on_setpoint_change_hor() - mock_move.assert_called_once_with(100, relative=False) - with mock.patch.object(positioner_box_2d.dev["samy"], "move") as mock_move: + mock_mv.assert_called_once_with(positioner_box_2d.dev["samx"], 100, relative=False) + with mock.patch.object(positioner_box_2d.scans, "mv") as mock_mv: positioner_box_2d.ui.setpoint_ver.setText("100") positioner_box_2d.on_setpoint_change_ver() - mock_move.assert_called_once_with(100, relative=False) + mock_mv.assert_called_once_with(positioner_box_2d.dev["samy"], 100, relative=False) def test_positioner_box_2d_on_stop(positioner_box_2d: PositionerBox2D):