crosspad_build
Builds CrossPad for PC, ESP32-S3, or STM32G0 platforms, handling toolchain setup, build commands, and error/warning parsing per platform.
Instructions
[PC | ESP | STM HW] Build CrossPad for the given platform.
• platform='pc' → CMake + Ninja host simulator. PREFER THIS over cmake --build build (picks right MSVC env on Windows, parses errors/warnings, streams progress).
• platform='idf' → idf.py build for ESP32-S3 firmware. PREFER THIS over raw idf.py build (sources IDF env, auto-fullcleans when new apps detected, parses errors/warnings).
• platform='stm' → CMake + Ninja + arm-none-eabi for STM32G0 firmware (CrossPad r20). Uses CMakePresets (Debug/Release); output is build//CrossPad_STM32_r20.elf.
Mode×platform compatibility:
• incremental → all (default)
• clean → all (wipes build dir, then builds)
• reconfigure → PC & STM (re-runs cmake without wiping cache)
• fullclean → IDF only (runs idf.py fullclean, then builds)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Build mode. Compatibility: incremental & clean = all platforms; reconfigure = PC & STM; fullclean = IDF only. Pick incremental for normal iteration; clean if you suspect stale artifacts; fullclean (IDF) after adding new apps; reconfigure (PC/STM) after editing CMakeLists/presets. | incremental |
| platform | Yes | Target platform: 'pc' = host simulator, 'idf' = ESP32-S3 firmware, 'stm' = STM32G0 firmware (CrossPad r20). | |
| build_type | No | CMake build type — PC & STM (ignored for IDF; ESP32 build type comes from sdkconfig). STM maps to the Debug/Release preset (RelWithDebInfo→Release). Only honored on mode=clean|reconfigure (incremental keeps existing cache). | Debug |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tail | No | ||
| error | No | ||
| errors | No | ||
| success | Yes | ||
| warnings | No | ||
| output_path | No | ||
| warnings_count | No | ||
| duration_seconds | No | ||
| auto_reconfigured | No |