I’ve been working on this project for a while, and I think I’m finally ready to release it.
I’ve created a C++ library that contains several utilities for V5 programming that works in either PROS or VEXcode (and theoretically bV5 or anything else someone manages to get working with a little bit of effort).
The only difference between using this in VEXcode and PROS is a flag set in a header file to tell it which environment it is in, and where to include dependencies from.
The primary features of my library are addressable LED control, easy flywheel velocity estimation, a flywheel speed controller template, and a couple of generic math/system utilities.
Documentation and installation instructions can be found at https://sylvie.fyi/sylib/docs .
One thing to note is that while my source code is all public, PROS users will (mostly) not be able to compile it themselves because to do so requires some files that I am not allowed to republish. The PROS template included in the releases page on the repository contains everything pre-compiled. If anyone would like to contribute to this project and needs to know more about this, please DM me on the forum (I keep Discord DMs off).
I have given this some pretty thorough testing, including using it on my competition robot at my last event. I am sure that there are some bugs I haven’t caught somewhere, and if anyone stumbles across one please let me know and I’ll do my best to address it.
I plan to add additional things to this library over the course of the season. The current things I am looking into are some more control modes for the addressable LEDs, as well as some motion profiling utilities (though I’m not sure how much of that I’m going to want to make public).
I’d like to thank several people for their help on this project. This would not have been possible without the support of (in no particular order)
- Leo Riesenbach
- James Pearman
- Griffin Tabor
- Nick Mertin
- Andrew Strauss
- Lachlan Davidson
- Jamie Maki-Fern
- and a few others that have asked not to be named
I hope this is able to be helpful to any team that needs it! If anyone has any questions or comments please let me know and I will do my best to answer them.