V5 Clawbot drive code

There was some discussion in a topic at the end of last year about the internal drive program that the V5 uses.

The code we use inside the V5 brain for the drive program is not available as it’s written using a lower level API that we don’t really support publicly and also uses some private methods to allow the configuration data to be passed to it. However, it’s not a very complicated piece of code so I have written a simplified VEXcode version that could be used when needing to modify it as requested in that previous topic.

The code is in a github repo, there are multiple versions of the project but (other than the blocks version) they are all essentially the same.

Projects are available for either VEXcode V5 or VEXcode Pro V5. There are versions that use graphical configuration and also expert (ie. text) configuration. For VEXcode V5, projects are provided in blocks, C++ and Python.

Only a single controller is implemented (built in drive supports a partner controller).

The blocks version only controls six motors, the others can access all 10 motors in the same way as the built in drive code.

The code is expected to be used on a V5 clawbot, but could easily be adapted for other use.

The code displays some motor related variables on the V5 brain’s screen, just delete that functionality if you don’t need/want it, the display code runs in a separate thread.