HyperloopUPV STM32 firmware template based on CMake + VSCode, using deps/ST-LIB.
./hyper init
./hyper doctor
./hyper build main --preset simulator
./hyper stlib build --preset simulator --run-testsThe repo includes a local helper CLI at ./hyper for the common hardware flow:
./hyper examples list
./hyper build adc --test 1
./hyper run adc --test 1 --uart
./hyper uart
./hyper doctorIt wraps the existing repo scripts instead of replacing them, and also exposes a small ST-LIB namespace:
./hyper stlib build --preset simulator --run-tests
./hyper stlib sim-testsUseful defaults can be pinned with environment variables:
HYPER_DEFAULT_PRESETHYPER_FLASH_METHODHYPER_UART_PORTHYPER_UART_BAUDHYPER_UART_TOOL
Note
To connect through UART (./hyper uart), it's recommended to install tio with your package manager.
- Template setup:
docs/template-project/setup.md - Build and debug:
docs/template-project/build-debug.md - Testing and quality:
docs/template-project/testing.md - Per-example guides:
docs/examples/README.md - TCP/IP hardware stress example:
docs/template-project/example-tcpip.md - ST-LIB docs (inside this repository):
deps/ST-LIB/docs/setup.md
simulator: fast local development and tests.nucleo-*/board-*: hardware builds.
./hyper build main --preset simulator
./hyper build main --preset nucleo-debug
./hyper build main --preset board-debuglaunch.json and tasks.json include debug flows for:
- OpenOCD
- ST-LINK
- simulator tests
Detailed guide:
Packet code generation uses BOARD_NAME (a key from JSON_ADE).
Example:
./hyper build main --preset board-debug --board-name TESTGenerated packet headers such as Core/Inc/Communications/Packets/DataPackets.hpp and Core/Inc/Communications/Packets/OrderPackets.hpp are build outputs derived from the active JSON_ADE schema. They are intentionally gitignored and should not be edited or committed.