Repository navigation
Firmware Host Syntax Check
Snapshot of
tools/fw_syntax_check/README.mdat commit707b4a0, preserved before the docs were compacted. History only: the current specs are in the repository.
Compiles the firmware .cpp files with the host g++ (-std=gnu++17 -fsyntax-only -Wall -Wextra) against
stub headers, so that syntax and type errors show up without PlatformIO (seconds instead of a 4 min build).
python3 tools/fw_syntax_check/check.py # all of firmware/src, exit code 1 on errors
python3 tools/fw_syntax_check/check.py firmware/src/Block/LEDBlock/LEDBlock.cpp # single files
python3 tools/fw_syntax_check/check.py -j 8 -v # 8 parallel jobs, list OK files tooNeeds only g++ (13 tested) and Python 3.
-
stubs/holds Arduino core (Arduino.h,WString.h,Print.h,HWCDC.h), ESP-IDF 4.4 (esp_*.h,freertos/), classic BLE (BLEDevice.hand aliases),SPIFFS.h/FS.h,Preferences.h,WiFi.handAdafruit_NeoPixel.h. -
stubs/ArduinoJson.his the real single-header release 7.4.2 (MIT, from the GitHub release), the version thatfirmware/platformio.iniresolves^7.4.2to. Update it together withlib_deps. - Files that mention
REACTPOD_BLE_ESPNOW_TESTare checked a second time with that flag (envBleEspNowTest). - A missing name or signature in a stub is a stub gap: fix the stub, not the firmware. Add only what the firmware uses.
Limits: names and signatures only, no linking, no runtime behaviour. The host is 64-bit (int64_t is long, uint32_t is
unsigned int), so -Wformat warnings about %lld / %lu can differ from the RISC-V build. sdkconfig macros and
Arduino core version differences (espressif32@6.10.0) are not modelled; the real build stays the final check.
For users and coaches
Repository and workflow
Firmware
- Firmware Overview
- Firmware Architecture
- Firmware Link Protocol
- Firmware Config API
- Firmware Programs
- Firmware Testing
- Firmware Timing
- Firmware Host Syntax Check
Config App
Community platform (on hold)
Decisions (ADRs)
- Decisions
- ADR 0001 Repo Layout and Workflow
- ADR 0002 Versions and Firmware Delivery
- ADR 0003 Community Platform
- ADR 0004 Platform Architecture
- ADR 0005 Live Results over BLE
- ADR 0006 No OTA
- ADR 0007 Platform on Hold
Archive