Expand description
Arfur is a set of bindings and a framework that builds on top of the WPILib suite, enabling Rust-based robot programs in FRC.
use arfur::prelude::*;
fn main() -> Result<()> {
let robot: Robot = RobotBuilder::default().initialize()?;
// Having a `Robot` type is proof that the HAL has been initialized. We
// can use to construct all kinds of handles!
Ok(())
}
Features
- Rust bindings to WPILib: use WPILib’s official C++ implementation.
- Type safety at its finest: strong typing ensures that undefined behaviour cannot happen.
- An efficient robot: Stay at C++’s speed, but implicitly use memory-safe concepts as much as possible.
- A powerful ecosystem: hook into Rust’s ecosystem for logging, mathematical computations, and more.
Getting started
For now, sift through the crate’s examples and documentation. There’s much more to come!