I’ve been looking to try and switch to a 6 motor drivetrain, and the configuration posts have been helpful, but I don’t know how to make it into an arcade drive. My current drive code goes like
LeftBack.spin(fwd, (Controller1.Axis3.value() + Controller1.Axis1.value()), velocityUnits::pct);
for each motor with the right side having a minus instead of a plus. Does this translate into 6 motors at all, or do I have to make a new way to code it?
Wouldn’t the division be by 126 or 1.26 to properly set the values of the controller into velocity?
I’m not in pro though, could be different between different coding platforms
Using value will return -127 to 127 and position will return -100 to 100.
I see. Thanks for that. I’ll be sure to fix that tomorrow because I’ve been using value for all my drive codes.
The whole point of position() returning values in the range +/- 100 was so it could be directly used in APIs that take percentage as a parameter. We kept value() (which existed before the position() function was added) returning +/-127 as that was the traditional range for a VEX controller axis to return.
and for those interested, this is all position() does.
int32_t
controller::axis::position( percentUnits units ) const {
int32_t percent = value() * 100 / 127;
return( percent );
}
I’m so honored to get a reply from the legendary jpearman!

