libgrapplefrc is the RoboRIO library for Grapple devices.
If you wish to use libgrapplefrc, use "Manage Vendor Libraries" in VSCode to install from URL https://storage.googleapis.com/grapple-frc-maven/libgrapplefrc2025.json.
This project is modelled off WPILib's vendor template, with some key differences. The project is split into three components:
grapplefrcdriver: The Rust low-level library that contains all the primary communications code. This also includes JNI and C bindings for the companion libraries below.libgrapplefrccpp: The FRC C++ bindings for Grapple devices, interfacing withgrapplefrcdriver.libgrapplefrcjava: The FRC Java bindings for Grapple devices, interfacing withgrapplefrcdriver.
After installing the appropriate toolchains (rustup target add arm-unknown-linux-gnueabi, ./gradlew installRoboRioToolchain), follow the below steps:
./gradlew updateRustLibs -PreleaseMode- Dumps WPI libs so the Rust library can access them. This only has to be done once per version, just make suregrapplefrcdriver/buildlibsis empty first.cd grapplefrcdriver && python build.py linuxathena- Build the Rust library for thelinuxathenatarget. Replacelinuxathenawith another valid platform if required../gradlew build -PreleaseMode- Build the vendor library.
For publishing, this is achieved in the GitHub workflows / actions file.