6 Motor Arcade Drive

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?

That should work for all 6, but make sure you reverse the motors if needed depending on your gearing, or the motors will fight against each other. Here’s my current 6 motor code, yours should probably be somewhat similar:

Wouldn’t the division be by 126 or 1.26 to properly set the values of the controller into velocity?

No, the outputs of the joysticks are 100 to -100, it may have been changed from 126 if it used to be that.

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!