Move test_configure_motors_all_ids_1

This commit is contained in:
Simon Alibert
2025-03-15 22:19:50 +01:00
parent 7a7af82e35
commit f6a2396484
3 changed files with 48 additions and 36 deletions

View File

@@ -21,4 +21,27 @@ def test_abc_implementation():
from lerobot.common.motors.dynamixel import DynamixelMotorsBus
# Instantiation should raise an error if the class doesn't implements abstract methods/properties
DynamixelMotorsBus(port="/dev/dummy-port", motors={"dummy", (1, "xl330-m077")})
DynamixelMotorsBus(port="/dev/dummy-port", motors={"dummy": (1, "xl330-m077")})
def test_configure_motors_all_ids_1():
from lerobot.common.motors.dynamixel import DynamixelMotorsBus
# see X_SERIES_BAUDRATE_TABLE
smaller_baudrate = 9_600
smaller_baudrate_value = 0
# This test expect the configuration was already correct.
motors_bus = DynamixelMotorsBus(port="/dev/dummy-port", motors={"dummy": (1, "xl330-m077")})
motors_bus.connect()
motors_bus.write("Baud_Rate", [smaller_baudrate_value] * len(motors_bus))
motors_bus.set_baudrate(smaller_baudrate)
motors_bus.write("ID", [1] * len(motors_bus))
del motors_bus
# Test configure
motors_bus = DynamixelMotorsBus(port="/dev/dummy-port", motors={"dummy": (1, "xl330-m077")})
motors_bus.connect()
assert motors_bus.are_motors_configured()
del motors_bus

View File

@@ -21,4 +21,27 @@ def test_abc_implementation():
from lerobot.common.motors.feetech import FeetechMotorsBus
# Instantiation should raise an error if the class doesn't implements abstract methods/properties
FeetechMotorsBus(port="/dev/dummy-port", motors={"dummy", (1, "sts3215")})
FeetechMotorsBus(port="/dev/dummy-port", motors={"dummy": (1, "sts3215")})
def test_configure_motors_all_ids_1():
from lerobot.common.motors.feetech import FeetechMotorsBus
# see SCS_SERIES_BAUDRATE_TABLE
smaller_baudrate = 19_200
smaller_baudrate_value = 7
# This test expect the configuration was already correct.
motors_bus = FeetechMotorsBus(port="/dev/dummy-port", motors={"dummy": (1, "sts3215")})
motors_bus.connect()
motors_bus.write("Baud_Rate", [smaller_baudrate_value] * len(motors_bus))
motors_bus.set_baudrate(smaller_baudrate)
motors_bus.write("ID", [1] * len(motors_bus))
del motors_bus
# Test configure
motors_bus = FeetechMotorsBus(port="/dev/dummy-port", motors={"dummy": (1, "sts3215")})
motors_bus.connect()
assert motors_bus.are_motors_configured()
del motors_bus

View File

@@ -59,40 +59,6 @@ def test_find_port(request, motor_type, mock):
find_port()
@pytest.mark.parametrize("motor_type, mock", TEST_MOTOR_TYPES)
@require_motor
def test_configure_motors_all_ids_1(request, motor_type, mock):
if mock:
request.getfixturevalue("patch_builtins_input")
if motor_type == "dynamixel":
# see X_SERIES_BAUDRATE_TABLE
smaller_baudrate = 9_600
smaller_baudrate_value = 0
elif motor_type == "feetech":
# see SCS_SERIES_BAUDRATE_TABLE
smaller_baudrate = 19_200
smaller_baudrate_value = 7
else:
raise ValueError(motor_type)
input("Are you sure you want to re-configure the motors? Press enter to continue...")
# This test expect the configuration was already correct.
motors_bus = make_motors_bus(motor_type, mock=mock)
motors_bus.connect()
motors_bus.write("Baud_Rate", [smaller_baudrate_value] * len(motors_bus.motors))
motors_bus.set_bus_baudrate(smaller_baudrate)
motors_bus.write("ID", [1] * len(motors_bus.motors))
del motors_bus
# Test configure
motors_bus = make_motors_bus(motor_type, mock=mock)
motors_bus.connect()
assert motors_bus.are_motors_configured()
del motors_bus
@pytest.mark.parametrize("motor_type, mock", TEST_MOTOR_TYPES)
@require_motor
def test_motors_bus(request, motor_type, mock):