Expand description
§vexide
Open-source Rust runtime for VEX V5 robots. vexide provides a no_std Rust runtime,
async executor, device API, and more for the VEX V5 brain!
vexide is the successor to pros-rs which are a set of unmaintained API using bindings over PROS.
§Getting Started
If you’re just getting started, we recommend going through our docs, which provide step-by-step instructions for setting up a development environment with vexide-template.
§Project Structure
The vexide runtime is split into 7 subcrates. The one you’re looking at right now re-exports each of these crates into a single package. You can view the respective docs for each of them below:
vexide-coreprovides lowlevel core functionality for programs, such as allocators, synchronization primitives, serial printing, I/O and timers.vexide-devicescontains all device-related bindings for things like motors and sensors.vexide-asyncimplements our cooperative async runtime as well as several important async futures.vexide-startupcontains bare-metal startup code required to get freestanding user programs running on the Brain.vexide-paniccontains our panic handler.vexide-graphicsimplements graphics drivers for some popular embedded Rust graphics libraries like [Slint] and [embedded-graphics].vexide-macrocontains the source code for the#[vexide::main]proc-macro.
§Usage
In order to get a program running, use the #[vexide::main] attribute on your main function.
use vexide::prelude::*;
#[vexide::main]
async fn main() {
println!("Hello, world!");
}Check out our docs for more in-depth usage guides.
Re-exports§
pub use vexide_async as async_runtime;pub use vexide_core as core;pub use vexide_devices as devices;pub use vexide_macro as macro;pub use vexide_panic as panic;pub use vexide_startup as startup;
Modules§
- Commonly used features of vexide. This module is meant to be glob imported.
Attribute Macros§
- Marks a function as the entrypoint for a vexide program. When the program is started, the
mainfunction will be called with a single argument of typePeripheralswhich allows access to device peripherals like motors, sensors, and the display.