A monorepo of all firmware projects, shared libraries, code generation, and off-car tooling for PER FSAE EV.
firmware/- Embedded firmware, including its CAN library and shared C codedaqapp/- Desktop DAQ applicationdocs/- Shared documentation
Most recent doxygen deployment (master branch): https://purdueelectricracing.github.io/monorepo/
To compile software for the PER vehicle, make sure your system is set up by following the steps in setup.md if you haven’t already.
Note
setup.md is here!
build_all.py is the repository-level build entry point. It runs the complete
firmware, DAQ app, and host-test workflows in order.
From the repository root, build all projects and run tests with:
python3 build_all.pyEach component also has a fixed build command. To build and package all firmware boards:
python3 firmware/build_firmware.pyTo run static analysis over all firmware boards:
python3 firmware/check_firmware.pyTo build DaqApp:
cargo build --manifest-path daqapp/Cargo.tomlTo run host tests and generate an HTML coverage report:
python3 tests/build_tests.pyIn VS Code, go to View → Run and Debug, select the appropriate MCU target from the dropdown, then press the green
Once everything is set up, open the repository with code ..
You can then build all projects by pressing:
Ctrl + Shift + B on Windows/Linux
Cmd + Shift + B on macOS
This triggers the default build task configured in .vscode/tasks.json,
which runs the monorepo build process automatically.