This is the unified firmware repository for the A-Team.
Follow the first time setup guide.
If you are not a member of the A-Team, you will not have access to the private repository that store our Wifi credentials.
Please set export NO_ATEAM_WIFI_CREDENTIALS=true in your shell, so the build system will load dummy credentials. You can
set them in ateam-credentials/src/public_credentials/wifi.rs.
Begin by entering the Nix environment nix develop. If you use a shell other than bash, you can try nix develop -c $SHELL
to stay in your preferred shell.
WSL users should launch VS Code from the nix environment in the Ubuntu shell.
A top level Makefile is provided for all targets. Targets in the form <module>--<binary>--<action>.
The primary command make control-board--control--run will build all robot firmware, flash hardware, and run the image.
| Module | Description |
|---|---|
| common | common libraries shared across modules |
| software-communication | packet defintitions used for communication with software and between hardware modules |
| motor-controller | firmware binaries for stspin32 motor controllers (wheels, dribbler, tests) |
| kicker-board | fimrware binaries for the kicker board |
| control-board | firwmare binaries for the control board |
| Binaries | Description |
|---|---|
| Varied. | See README.md files in subfolders or use tab complete suggestion. |
| Actions | Descrption |
|---|---|
<module>--all |
Builds all binaries for the module |
<module>--<binary> |
Builds the binary for the module |
<module>--<binary>--run |
Flashes the binary to the hardware target, runs the binary, print messages appear in the shell |
<module>--<binary>--debug |
Flashes the binary to the hardware target, attaches gdb, halts the processor at reset_vector |