mirror of
https://github.com/Colorado-School-of-Mines-Robotics-Club/VEX-Override.git
synced 2026-09-19 00:48:07 -06:00
VURC team ORDGR's code for the 26-27 VEX Override game
- C++ 56.6%
- C 41%
- Rust 1.8%
- Makefile 0.3%
- Linker Script 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .gram | ||
| .vscode | ||
| .zed | ||
| brain | ||
| pcb | ||
| pico | ||
| rplidar | ||
| swerve_c++ | ||
| .editorconfig | ||
| .envrc | ||
| .gitattributes | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
| rust-toolchain.toml | ||
| rustfmt.toml | ||
VEX Override
This is the codebase for VURC team ORDGR's 26-27 Override season.
Development environment setup
A nix flake is provided with a devShell output providing all the necessary
tools plus some extra. If you have nix installed, you can use that. If you
don't, all the necessary tools are listed below:
rustup- Follow the instructions at https://www.rust-lang.org/tools/install
- This project requires nightly and has a
rust-toolchain.tomldefining the specific toolchain version.
cargo-v5- Used for building and uploading to the brain
- Can be installed with cargo:
cargo install cargo-v5
picotool- Used for uploading code to the Pico microcontroller over BOOTSEL mode
- If using a probe tool, this isn't strictly necessary
- Can be downloaded from the official Pico SDK at
https://github.com/raspberrypi/pico-sdk-tools/releases - Example:
picotool load -u -v -x -t elf <executable>
probe-rs- Used for uploading code and debugging the Pico microcontroller with a probe tool
- If no probe tool is available, use BOOTSEL mode and
picotoolinstead - Can be installed with cargo:
cargo install probe-rs
Project layout
Important
Due to limitations in how cargo handles multi-target projects, you must actively be in the
brain/orpico/folder to build or upload code: runcd brainorcd picobefore using any cargo commands.
| Folder | Description |
|---|---|
brain/bots |
Top-level code running on our bots' v5 brains, setting up subsystems and declaring autonomous routes |
brain/common |
Bot-agnostic v5 brain code such as shared subsystems or display logic |
brain/coprocessor |
Brain-side logic for communicating with the Pico microcontroller |
pico/ |
The code running on the Raspberry Pi Pico 2 microcontroller we use on our bots |
rplidar/ |
Rust code implementing the prococol for RPLIDAR S & C series devices, may be factored out into a seperate crate at some point |
swerve_c++/ |
Prototype C++ (PROS) code used for initially testing the swerve bot |
pcb/ |
The kicad files (schematics, layouts, etc) for the custom PCB connected to our Picos and v5 brains |