Crates.io | vex-sdk |
lib.rs | vex-sdk |
version | 0.27.1 |
created_at | 2024-03-26 17:00:50.21916+00 |
updated_at | 2025-08-29 05:24:54.827894+00 |
description | FFI bindings to VEXos system APIs. |
homepage | |
repository | https://github.com/vexide/vex-sdk/ |
max_upload_size | |
id | 1186724 |
size | 53,874 |
This crate contains raw C-level bindings to VEX's system APIs.
You can use this crate by adding it to your project's Cargo.toml with cargo add vex-sdk
.
[!NOTE] If you are using a higher-level library such as vexide, this is likely already handled for you!
vex-sdk
provides declarations for functions included in VEX's platform SDKs, but doesn't link to any runtime library itself. Your project will need an implementation of these functions to compile properly.
One option is to depend on vex-sdk-jumptable
, an open-source reimplementation of VEX's runtime library, then bring it into scope in your project:
// Bring runtime library into scope
use vex_sdk_jumptable as _;
fn main() { /* ... */ }
Alternatively, you may wish to provide your own SDK or link to an official SDK distributed by VEX. To do this, use a build script to add the SDK into your link search path, then link to libv5rt.a
or the equivalent for your platform. The vex-sdk-build
crate provides functionality to do all of this for you automatically (including downloading SDKs from VEX's servers).