Crate arfur

source ·
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!

Modules