Added reset to test procedure
This commit is contained in:
@@ -2,13 +2,12 @@
|
||||
|
||||
from tests.move import *
|
||||
from tests.sinqMotor.limits import *
|
||||
from tests.sinqMotor.masterMacs.common import *
|
||||
from tests.sinqMotor.turboPmac.reset import reset
|
||||
from tests.sinqMotor.masterMacs.reset import reset
|
||||
|
||||
|
||||
def test_stop_reset_enable_move_sequence(motor):
|
||||
stop_reset_enable_move_sequence(motor, 4)
|
||||
stop_reset_enable_move_sequence(motor, 2)
|
||||
def test_reset(motor):
|
||||
reset(motor, 4)
|
||||
reset(motor, 2)
|
||||
|
||||
|
||||
def test_move_to_low_limit_switch(motor):
|
||||
|
||||
15
tests/sinqMotor/masterMacs/reset.py
Executable file
15
tests/sinqMotor/masterMacs/reset.py
Executable file
@@ -0,0 +1,15 @@
|
||||
def reset(motor, target):
|
||||
"""
|
||||
Reset the motor for the next test. This means the following things:
|
||||
1) Stopping the motor
|
||||
2) Resetting all errors
|
||||
3) Enabling the motor
|
||||
4) Moving to zero
|
||||
"""
|
||||
|
||||
motor.write_field('stop', 1)
|
||||
motor.write_field('reseterrorpv', 1)
|
||||
motor.write_field('enable', 1)
|
||||
motor.move_and_wait(target)
|
||||
assert motor.at_target(target)
|
||||
assert not motor.has_error()
|
||||
@@ -1,8 +0,0 @@
|
||||
def stop_reset_enable_move_sequence(motor, target):
|
||||
|
||||
motor.write_field('stop', 1)
|
||||
motor.write_field('reseterrorpv', 1)
|
||||
motor.write_field('enable', 1)
|
||||
motor.move_and_wait(target)
|
||||
assert motor.at_target(target)
|
||||
assert not motor.has_error()
|
||||
@@ -2,28 +2,32 @@
|
||||
|
||||
from tests.move import *
|
||||
from tests.sinqMotor.limits import *
|
||||
from tests.sinqMotor.turboPmac.common import *
|
||||
from tests.sinqMotor.turboPmac.reset import reset
|
||||
|
||||
|
||||
def test_stop_reset_enable_move_sequence(motor):
|
||||
stop_reset_enable_move_sequence(motor, 5)
|
||||
stop_reset_enable_move_sequence(motor, 0)
|
||||
reset(motor, 5)
|
||||
reset(motor, 0)
|
||||
|
||||
|
||||
def test_move_to_low_limit_switch(motor):
|
||||
reset(motor, -30)
|
||||
move_to_low_limit_switch(motor)
|
||||
|
||||
|
||||
def test_move_to_high_limit_switch(motor):
|
||||
reset(motor, -30)
|
||||
move_to_high_limit_switch(motor)
|
||||
|
||||
|
||||
def test_move_while_move(motor):
|
||||
reset(motor, -30)
|
||||
move_while_move(motor, -60, -20)
|
||||
|
||||
|
||||
def test_stop(motor):
|
||||
reset(motor, -30)
|
||||
stop(motor, -60)
|
||||
|
||||
#def test_reread_limits_from_hw(motor):
|
||||
# def test_reread_limits_from_hw(motor):
|
||||
# reread_limits_from_hw(motor)
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
import time
|
||||
import pytest
|
||||
|
||||
|
||||
def reset(motor, initpos=0):
|
||||
def reset(motor, target):
|
||||
"""
|
||||
Reset the motor for the next test. This means the following things:
|
||||
1) Stopping the motor
|
||||
@@ -12,23 +8,8 @@ def reset(motor, initpos=0):
|
||||
"""
|
||||
|
||||
motor.write_field('stop', 1)
|
||||
|
||||
# Reset any errors
|
||||
motor.write_field('reseterrorpv', 1)
|
||||
|
||||
time.sleep(2*motor.idlepoll)
|
||||
|
||||
if motor.read_field('enable_rbv') == 0:
|
||||
motor.write_field('enable', 1)
|
||||
|
||||
# Wait until the motor is enabled.
|
||||
now = time.time()
|
||||
max_enable_time = 10
|
||||
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 {motor.pv} could not be enabled in {max_enable_time} seconds')
|
||||
time.sleep(0.1)
|
||||
|
||||
motor.move_and_wait(initpos)
|
||||
motor.write_field('enable', 1)
|
||||
motor.move_and_wait(target)
|
||||
assert motor.at_target(target)
|
||||
assert not motor.has_error()
|
||||
|
||||
Reference in New Issue
Block a user