fix(epics-motor-user-vme): remove high/low limit check in wait_for_connection as it's not reliable. Tested at cSAXS

This commit is contained in:
2025-12-09 09:47:21 +01:00
committed by Christian Appel
parent da154a05cf
commit b2d885c6a6
2 changed files with 0 additions and 13 deletions

View File

@@ -232,13 +232,6 @@ class EpicsUserMotorVME(PSIDeviceBase, EpicsMotor):
""" """
if self._ioc_enable.get(use_monitor=False) != "Enable": if self._ioc_enable.get(use_monitor=False) != "Enable":
self._ioc_enable.put("Enable") self._ioc_enable.put("Enable")
hl_switch = self.high_limit_switch.get(use_monitor=False)
ll_switch = self.low_limit_switch.get(use_monitor=False)
if hl_switch == 1 and ll_switch == 1:
raise RuntimeError(
f"Both limit switches are active for device {self.name}."
f"This often indicates that the motor is disconnected! Please double-check your hardware!"
)
return super().wait_for_connection(all_signals, timeout) return super().wait_for_connection(all_signals, timeout)
def on_connected(self): def on_connected(self):

View File

@@ -177,12 +177,6 @@ def test_epics_vme_user_motor(motor: EpicsUserMotorVME):
motor.wait_for_connection(all_signals=True) motor.wait_for_connection(all_signals=True)
assert motor._ioc_enable.get() == "Enable" assert motor._ioc_enable.get() == "Enable"
# If high limit and low limit are both active, should raise error
motor.high_limit_switch._read_pv.mock_data = 1
motor.low_limit_switch._read_pv.mock_data = 1
with pytest.raises(RuntimeError):
motor.wait_for_connection(all_signals=True)
# Test subscription on _ioc_enable_changes # Test subscription on _ioc_enable_changes
motor.device_manager = mock.MagicMock() motor.device_manager = mock.MagicMock()
device_mock = mock.MagicMock() device_mock = mock.MagicMock()