Beginner mistake with drivetrain setup

Late one night last week, we finally got our practice bot with a working drivetrain. I threw on a simple teleop drive command (we’re using C++ with robot builder) using ArcadeDrive. It didn’t drive correctly, so I thought the motors were wired backward from WPILib convention. After setting the left motors to inverted, ArcadeDrive worked great.

Later we started autonomous programming and nothing worked right.

It turns out that I originally had the magnitude + direction sticks switched for ArcadeDrive. The motors are wired correctly–WPILib convention must be that both left and right side motors are wired the same way.

Switching the sticks and removing the inverted motors made ArcadeDrive work properly and also all the other driving modes.

If any other beginners are scratching their heads over why the drivetrain doesn’t do what it should, I hope this helps!