FRC5190 / FalconLibrary

Feature-rich Kotlin JVM based robotics library, primarily for use in the FIRST Robotics Competition.
Mozilla Public License 2.0
26 stars 12 forks source link

FalconLibrary

Build Status

Overview

Feature-rich Kotlin JVM based robotics library, primarily for use in the FIRST Robotics Competition. FalconLibrary is the backend for all Team 5190 robots.

Note: Due to the usage of inline classes, the units code does NOT work in Java.

core: Platform-agnostic mathematics and units code

wpi: Code specific to the RoboRIO and FIRST Robotics Competition

vendorXXX: RoboRIO vendor extensions

Using FalconLibrary in your project

Make sure you can retrieve dependencies from JitPack. Add this to your build.gradle:

repositories {
    maven { url 'https://jitpack.io' }
}

Under the dependencies section of your build.gradle, add the specific submodules that you want in your project. All of the submodules are presented below.

compile 'org.ghrobotics.FalconLibrary:core:2020.2.2'
compile 'org.ghrobotics.FalconLibrary:wpi:2020.2.2'
compile 'org.ghrobotics.FalconLibrary:vendorCTRE:2020.2.2'
compile 'org.ghrobotics.FalconLibrary:vendorNAVX:2020.2.2'
compile 'org.ghrobotics.FalconLibrary:vendorREV:2020.2.2'

Alternatively, you can include all submodules at once:

compile 'org.ghrobotics:FalconLibrary:2020.2.2'

Note that you must include the vendordeps JSON file in your own robot project to correctly use the vendorXXX modules.

Contributing

You are always welcome to submit a PR if you think that you can contribute something to this library. Remember that this is a FRC-game-agnostic library, so please don't ask for season-specific code to be merged.