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%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-17 20:42:52 -06:00
.gram wip stuff 2026-08-30 19:53:43 -06:00
.vscode 9/13 changes, started on swerve 2026-09-13 19:14:45 -06:00
.zed Update dependencies 2026-08-10 02:30:20 -06:00
brain Get swerve drive actually working 2026-09-17 20:42:52 -06:00
pcb PCB 2026-09-10 21:44:38 -06:00
pico LIDAR tested & fixed, and now more robust 2026-09-16 15:08:00 -06:00
rplidar LIDAR tested & fixed, and now more robust 2026-09-16 15:08:00 -06:00
swerve_c++ Reorganize folders, update readme 2026-09-15 23:53:22 -06:00
.editorconfig Init with embassy-rp pico code & last season's brain-side copro code 2026-05-03 16:54:04 -06:00
.envrc Init with embassy-rp pico code & last season's brain-side copro code 2026-05-03 16:54:04 -06:00
.gitattributes Rename folder with spaces in it 2026-08-10 02:50:23 -06:00
.gitignore Init with embassy-rp pico code & last season's brain-side copro code 2026-05-03 16:54:04 -06:00
flake.lock Update dependencies 2026-08-10 02:30:20 -06:00
flake.nix Refactor out lidar, make gui visualization for lidar, improve otos units stuff 2026-08-25 17:33:32 -06:00
README.md Reorganize folders, update readme 2026-09-15 23:53:22 -06:00
rust-toolchain.toml Init with embassy-rp pico code & last season's brain-side copro code 2026-05-03 16:54:04 -06:00
rustfmt.toml Init with embassy-rp pico code & last season's brain-side copro code 2026-05-03 16:54:04 -06:00

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:

  1. rustup
  2. cargo-v5
    • Used for building and uploading to the brain
    • Can be installed with cargo: cargo install cargo-v5
  3. 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>
  4. 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 picotool instead
    • 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/ or pico/ folder to build or upload code: run cd brain or cd pico before 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