Crates.io | cargo-v5 |
lib.rs | cargo-v5 |
version | 0.8.2 |
source | src |
created_at | 2024-07-11 22:10:26.497496 |
updated_at | 2024-11-03 22:51:33.668705 |
description | A cargo subcommand for managing V5 Brain Rust projects |
homepage | |
repository | https://github.com/vexide/cargo-pros |
max_upload_size | |
id | 1300075 |
size | 146,850 |
Build, upload, run, and simulate Rust projects written for VEX!
cargo-v5 is a command line tool that simplifies working with VEX projects written in Rust (with a focus on the vexide runtime).
cargo-v5 comes with 2 optional features that enable extra functionality:
field-control
: Adds a field control tui accesible through cargo v5 field-control
or cargo v5 fc
.fetch-template
: With this feature enabled, cargo v5 new
will attempt to fetch the most recent upstream version of vexide-template instead of a built-in one. The command will always fall back to the built-in template.If you wish to enable both, you can simply enable the full
feature.
cargo install cargo-v5 --features "full"
cargo install cargo-v5 --features "field-control"
cargo install cargo-v5
Build a vexide project for the V5's platform target:
cargo v5 build --release
Upload a vexide project over USB (you may be prompted to provide a slot number):
cargo v5 upload
View serial output from the current user program:
cargo v5 terminal
Upload behavior can be configured through either your Cargo.toml
file or by providing arguments to cargo-v5
.
cargo-v5
will attempt to find Cargo.toml
files with the following structure for providing defaults to some upload options.
[package.metadata.v5]
slot = 1
icon = "cool-x"
compress = true
package.metadata.v5.slot
(integer): Set the default program slot to upload to.package.metadata.v5.icon
(string) (default "question-mark"
): Set the default program icon. (see cargo v5 upload -h
for a list of icon strings)package.metadata.v5.compress
(boolean) (default true
): Configure if program binaries should be gzipped before uploading. It is strongly recommended to keep this at default (true
), as disabling compression will greatly increase upload times.cargo-v5
will also use your project's package.name
and package.description
fields for program name/description if nothing is explicitly provided.
For a full list of arguments, check
cargo v5 help