Dependencies:
- CMake 3.20+
- ST Cube IDE
- Ninja
- gcovr
Using CMake presets:
# All tests are run from test directory
cd test
# Run unit tests
cmake --preset test
cmake --build --preset test
ctest --preset test
# Run unit tests with coverage
cmake --preset coverage
cmake --build --preset coverage
ctest --preset coverage
# Coverage report
gcovr --config gcovr.cfg
# Configure Debug
cmake --preset debug
# Build Debug
cmake --build --preset debug
# Configure Release
cmake --preset release
# Build Release
cmake --build --preset releaseOr using manual CMake commands:
# Use ST's autogenerated toolchain file
cmake -S . -B build-debug \
-DCMAKE_TOOLCHAIN_FILE=bsp/STM32F723-DISCO-BSP/cmake/gcc-arm-none-eabi.cmake \
-DCMAKE_BUILD_TYPE=Debug
# Build
cmake --build build-debug
# Or using Ninja/Make directly
cd build-debug && ninjaDependencies:
- ST CLI Programmer
./tools/program.sh --program ./build-debug/SensorsConverge2026.elf- Add a new column to translations.
- Run build to generate new translations
make debug release