diff --git a/tests/sinqMotor/turboPmac/common.py b/tests/sinqMotor/turboPmac/common.py index 801a0e5..4695d29 100644 --- a/tests/sinqMotor/turboPmac/common.py +++ b/tests/sinqMotor/turboPmac/common.py @@ -1,10 +1,22 @@ import time import pytest + def stop_reset_enable_move_sequence(motor, target): motor.write_field('stop', 1) motor.write_field('reseterrorpv', 1) + + # Wait until the motor is disabled. + now = time.time() + max_enable_time = 10 + while motor.read_field('enable_rbv') == 1: + # Wait a maximum of max_enable_time seconds until enabling + if time.time() > now + max_enable_time: + pytest.fail( + f'Motor {motor.pv} could not be stopped and resetted in {max_enable_time} seconds') + time.sleep(0.1) + motor.write_field('enable', 1) # Wait until the motor is enabled. @@ -13,9 +25,10 @@ def stop_reset_enable_move_sequence(motor, target): while motor.read_field('enable_rbv') == 0: # Wait a maximum of max_enable_time seconds until enabling if time.time() > now + max_enable_time: - pytest.fail(f'Motor {self.pv} could not be enabled in {max_enable_time} seconds') + pytest.fail( + f'Motor {motor.pv} could not be enabled in {max_enable_time} seconds') time.sleep(0.1) motor.move_and_wait(target) assert motor.at_target(target) - assert not motor.has_error() \ No newline at end of file + assert not motor.has_error()