Hi all,
Our team has used PROS successfully for several seasons. This is our first year with the V5 Brain driving brushed DC motors through the VEX Motor Controller 55 (270-8996, MC55), the standard control system in this year’s BEST Robotics kit. We’d like to stay on PROS, but we can’t get the MC55 to respond, and we’re trying to work out whether that’s our setup or a gap in support.
Setup
-
V5 Brain, VEXos 1.1.4
-
PROS kernel 4.2.1, CLI 3.5.2, VS Code extension 2.1.0
-
MC55 on Smart Port 1, driving a BEST large brushed motor
-
The same MC55, motor, and port work in VEXcode V5 with the motor55 class
What we tried
pros::Motor left(1);
std::int32_t r = left.move_voltage(6000);
printf(“ret=%ld errno=%d plugged=%d\n”, (long)r, errno, (int)pros::Device::get_plugged_type(1));
Result: the motor doesn’t move. move_voltage() returns PROS_ERR (INT32_MAX), errno = ENODEV, and get_plugged_type(1) returns 255. Note, if we scan all the ports, it’s only the MC55’s coming back 255, and it’s all 4 in the kit.
What we think is happening (please correct us):
-
vdml_motors.c claims the port with claim_port_i(port, E_DEVICE_MOTOR), so ENODEV suggests the port isn’t validating as a motor?
-
motor_type_e_t lists only E_MOTOR_TYPE_V5 = 0 and E_MOTOR_TYPE_EXP = 1. VEXcode’s getMotorType() documents a third sub-type, 2 = Motor Controller 55. So we suspect PROS 4’s motor path doesn’t know about the MC55 yet?
-
VEXcode’s Blocks voltage command for the MC55 is limited to ±8 V, and the C++ motor55 constructor takes a maximum drive voltage. We understand the firmware update, but we don’t know if this is some sort of lock or other problem.
Questions
-
Is the MC55 supported in PROS 4, officially or unofficially? We suspect not, but any workaround would be very welcome.
-
Could registry_bind_port() (apix.h), or any other sanctioned path, let us send voltage commands to the MC55’s port? Or would that be unsafe or unsupported? BEST rules forbid hardware modification, so the fix has to be in software.
-
Is MC55 support on the PROS roadmap? Every BEST team now uses this controller, so we doubt we’re the only ones asking. We’re glad to test builds or help with a PR.
Thanks so much!