HYper Dynamic Rocketry Avionics
uORocketry's next-generation avionics system
If you are in a DevContainer skip to step 5.
cargo install cargo-make
cargo install probe-rs --features cli
sudo pacman -S arm-none-eabi-gcc
brew install arm-none-eabi-gcc
cargo build
cargo build --release
cargo make test-host
cargo make test-device
cargo run --bin main
For more detailed instructions on flashing, debugging, and more, please see the wiki.
ctrl
+ shift
+ p
, and search for Dev Containers: Open Folder in Container
After plugging in J-Link, it will likely show up as unknown.
If using WSL or Docker with a WSL backend (you probably are), you need to tell Windows to share J-Link with WSL.
sudo apt install linux-tools-generic
usbipd list
usbipd bind --busid <busid>
usbipd attach --wsl --busid <busid>
Run cargo doc --open
to build and open the documentation. Most documentation for this repo is contained in the common-arm
crate.
Documentation is also automatically built and deployed to https://hydra-docs.uorocketry.ca/common_arm
The project is structured in a way to allow reuse of the code across various boards and other projects.
boards
: Folder containing each individual board's binary crates. Any code in those crates should only contain logic specific to the board.debug
: Useful files for debugging, such as GDB and OpenOCD configuration.examples
: Example projects that can be used to quickly start a new board. Simply copy and paste one of those creates to the boards
folder, and rename as needed.libraries
:
common-arm
: Common code that depends on embedded-specific logic or crates.This project is licensed under GPLv3-only.
We please ask for any derivatives of this work to be kept open-source, even if such derivative is only for internal use.