This repo contains the source code for the CU Boulder Robotics Teams' microcontroller firmware. It runs on a PJRC Teensy 4.1 and interfaces with any device running hive
.
You can find up-to-date documentation at cu-robotics.github.io/firmware, compiled on merges to main
.
You can find our documentation guidelines at docs/README, and how to access your documentation before being merged to main.
To begin, clone the repository:
git clone [email protected]:CU-Robotics/firmware.git
Then, install dependencies:
githooks
provide branch protection locally. Set the .githook/ directory with:
git config --local core.hooksPath .githooks
Install the required tools
make install
Now, navigate to the main directory, and run:
make
This will build the current firmware. To upload, run:
make upload
There are a few other nice helper functions within the makefile. This will list them:
make help
This repo follows the CU Robotics code standard:
- Branches are categorized into three groups:
production
,feature
, andpatch
. - Only authorized members can merge to
production
branches, such asmain
. All merges must go through a review and merge request. Direct pushes toproduction
branches are strictly forbidden. feature
branches are namedfeature-[featurename]
and contain major new features that require unit and integration testing.patch
branches are namedpatch-[patchname]
and contain bugfixes and/or minor adjustments. Unit and integration testing is a soft requirement.- All software is required to pass formatting and build tests before being merged into a
production
branch. - Other branch-based style questions are answered in the style guide.
This repository uses the MIT License, which covers the code and tools written for our robot firmware. See separate copyright/licensing information for the external libraries used in the repo (in the libaries/ and teensy4/ directories).