If you end up reading this thread following the link @nuttle posted in your Swerve Encoders - Technical / Technical Discussion - Chief Delphi thread, you might want to look at the following GitHub repositories:
- A sandbox project for an FRC swerve drivetrain that uses MK4i Swerve Modules, derived from the REV MAXSwerve template. Despite the misleading repo name, this project assumes a drivetrain composed of four MK4i Swerve Modules, each configured with two SPARKS MAX, a NEO as the driving motor, a NEO as the turning motor, and a Thrifty encoder as the absolute turning encoder (connected to analog ports of the Rio, only used for seeding the relative encoders of the turn controllers). The code reflects the input from multiple people that have posted in this thread, and whom I would like to thank again for their support.
- Java Code for CHARGED UP written off-season to experiment with swerve drive and hopefully compete with new robot in Fall 2023. As of today (7-SEP-2023), it’s just a cleaned up-version of the repo listed above (using our team’s coding guidelines). I think that the code is easier to read than the one in the other repo and would start with that unless you want to compare code to the original REV MAXSwerve template in which case you should primarily look at the other repo.