Currently, the library contains 7 sub-packages:
commands: Command framework abstractionscontrollers: Feedback controllershardware: Wrappers and abstractions for common FRC hardwaremath: Filters, utility operationsmodels: System models and kinematicstelemetry: Loggingtrajectory: Trajectory generation, motion profilesutil: Utilities
Artifacts are published through JitPack, so installation is easy.
- Add the JitPack repository:
repositories {
maven { url 'https://jitpack.io' }
}- Add the dependency:
- For stable releases:
dependencies { ... implementation 'com.github.Team997Coders:spartanLib2:1.3.1' }- For developement versions:
dependencies { ... implementation 'com.github.Team997Coders:spartanLib2:dev-SNAPSHOT' }
If you're a member of the Team997Coders org, you can simply create a branch inside this repo and make a pull request to dev when you're finished. Currently, 1 review is required and checks must pass to merge to dev. No direct commits to main are allowed.
For people outside of the org, follow the same steps, except with your own fork. We'll accept any useful PRs!
There aren't stringent criteria for merging, but your code should, at the minimum, be:
- Well-documented (javadoc, variable/method names, source comments explaining complex logic)
- Robustly-tested (not much hardware can be tested without the NI/WPILib HAL, but those should be benchtop tested, and everything else should have tests for many cases written)
In order to keep this library from going the way of the dinosaurs (and spartanLib1...), it can't stay static, not useful to anyone. If there's some bit of code you just need to make your life in FRC programming easier, put it in. If there's something in here not being useful, consider removing it.
Ask for admin rights from your software mentor so that you can play a large role in future development. If you have issues getting this role, please reach out to the original author(s).
Licensed under the GNU GPLv3.
