This is a robot template designed with the IO architecture and use by other teams in mind. It was created out of a desire to overhaul the old template, Phil, which was oriented towards StuyLib and Commands v2, while Zixi is intended to be used with AdvantageKit and Commands v3.
- Click
Use this templatein GitHub and create your new repository using theZixitemplate. - Ensure that the
vendordeps&build.gradle's plugin versions are up-to-date in your new repository. - Change the project name in
build.gradle's file header to match your project. - Happy coding! 😀
Zixi utilizes a Kotlin gradle script, chosen for its modernity and relation to Java. We configured Gradle such that Google Java format using AOSP runs every build, keeping our code cleanly formatted. It also utilizes gversion to insert commit metadata into robot logs, helping link match logs to the code version running on the robot. Finally, we use JUnit testing to prevent most crashes before they reach the robot.
Due to the vast amount of custom utilities provided in this template, Javadoc is available here. These utilities can be found in the com.stuypulse.robot.util package, primarily including TalonFX extensions for easier logging through AdvantageKit and logically coupled simulations.
Do not use the automatic import project tool. Instead,
- Change the 'frcYear' to the current year in
settings.gradle. - Check that the
GradleRIOversion is up to date in./build.gradle. - Update all dependencies using WPILib VSCode's action bar
Vendor Dependenciesmenu.
If you have any ideas for improvement, questions, or problems experienced, create an issue! Contributions via fork & pull request are also welcome.