StuyLib is an FRC library / toolkit which includes many different utilities for programming. It includes things like a Gamepad Library, a Limelight Library, a Digitial Filter / Streams Library, and many other utilities relating to math and programming.
- IStreams / IStreamFilters:
- Limelight + Encoder Fusion / Drive Filters:
- Clean & Concise Code / Smart Network Library:
- Usage of Encoders / Limelight + Encoder Fusion:
Step 0. This is done by default for robot projects, but if your doing a local project you must remember to include this at the top
plugins {
id "java"
// You can use different versions of GradleRIO between your robot
// code and Stuylib as long as the updates don't break anything
id "edu.wpi.first.GradleRIO" version "2020.2.2"
}
Step 1. Add the JitPack repository to your build.gradle
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
- Step 2. Add the dependency to
build.gradle
dependencies {
// check tag above for most recent version
compile 'com.github.StuyPulse:StuyLib:VERSION'
}
If you want the NetworkTable classes to work on something other than the robot, then you need to include other dependencies.
If you are using network tables anywhere else than the robot, ie. on a laptop, you will need to include the jar files in the ./lib
folder. For example, when using NetKeyboard, you need to run a program to send the keyboard input, here is the program. This program uses these jar files to send network table data to the robot. It is otherwise pretty rare that you would need to use these
When contributing code, as always, make a branch and a pull request.
All code MUST be commented, and no single class should be too complicated.
At the top of each class, give a brief description of the class, along with an author tag which contains an email just in case anybody has any questions on how to use it.