1c6c1952e8
Regressions fixed (aa916de simplification):
- firmware/platformio.ini: restore esp32s3_waveshare (pioarduino platform,
lib_deps: ArduinoJson/ESP32_Display_Panel/ESP32-audioI2S/IO_Expander,
BOARD_HAS_PSRAM, I2S pins), restore esp32s3_qemu (extends waveshare +
QEMU_BUILD), fix default_envs=esp32s3_waveshare, keep build_dir=/tmp/kl_pio_build
- .github/workflows/ci.yml: restore firmware-native (112 Unity tests),
firmware-build (esp32s3_waveshare artifact), firmware-sim (Wokwi gated),
hardware-export (KiCad ERC + SVG/PDF/netlist + KiBot + compliance)
- .gitignore: add .kibot-venv/ and .pio-venv/ (prevent committing venvs)
Dataset (HuggingFace clemsail/kill-life-embedded-qa v2):
- generate_hf_dataset.py: rag_query timeout 30s->120s (LLM takes ~45s),
rag_search timeout 15s->30s; resolves intermittent server-busy failures
- 30 entries (10+10+5+5) -- 100% coverage vs 21/40 previously
Firmware tests (112/112):
- 4 suites: test_basic (39), test_modules (32), test_radio_state (26),
test_wifi_state (15); test_logic.cpp now a stub (content moved to test_basic)
Hardware:
- esp32_minimal.kicad_pcb, esp32s3_enclosure.FCStd/.step, gen_pcb.py,
gen_enclosure.py, REGISTRY.md, ERC reports for all design blocks
MCP tools:
- apify_mcp.py: +5 Kill_LIFE tools (fetch_espressif_docs, fetch_kicad_library_info,
fetch_platformio_registry, ingest_to_rag, get_runtime_info)
- mcp_runtime_status.py: fix classify_overall -- accept_degraded respected for
failed checks, task annotations, optional_degraded logic cleaned up
- deploy/cad/docker-compose.yml: path mascarade->mascarade-main
Specs & docs:
- docs/plans/TODO_2026-03-26.md, TODO_2026-03-27.md
- ai-agentic-embedded-base/specs: arch, tasks, intake, spec updates
- docs/playbooks/kicad_happy_hw_bom_forge.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
81 lines
2.3 KiB
INI
81 lines
2.3 KiB
INI
[platformio]
|
|
default_envs = esp32s3_waveshare
|
|
build_dir = /tmp/kl_pio_build
|
|
|
|
[env]
|
|
monitor_speed = 115200
|
|
test_framework = unity
|
|
|
|
[env:esp32s3_waveshare]
|
|
platform = https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip
|
|
board = esp32-s3-devkitc-1
|
|
framework = arduino
|
|
board_build.arduino.memory_type = qio_opi
|
|
board_upload.flash_size = 16MB
|
|
board_build.partitions = default_16MB.csv
|
|
build_flags =
|
|
-D BOARD_HAS_PSRAM
|
|
-D ARDUINO_USB_CDC_ON_BOOT=1
|
|
; ESP32_Display_Panel board selection
|
|
-D BOARD_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85
|
|
-D LV_CONF_SKIP=1
|
|
; Fix CORE_DEBUG_LEVEL for ESP32-audioI2S on Arduino 3.x
|
|
-D CORE_DEBUG_LEVEL=0
|
|
; Audio I2S config
|
|
-D CONFIG_I2S_BCK_PIN=48
|
|
-D CONFIG_I2S_WS_PIN=38
|
|
-D CONFIG_I2S_DOUT_PIN=47
|
|
lib_deps =
|
|
bblanchon/ArduinoJson@^7
|
|
https://github.com/esp-arduino-libs/esp-lib-utils.git#v0.2.0
|
|
https://github.com/esp-arduino-libs/ESP32_IO_Expander.git#v1.1.0
|
|
https://github.com/esp-arduino-libs/ESP32_Display_Panel.git#v1.0.4
|
|
https://github.com/schreibfaul1/ESP32-audioI2S
|
|
|
|
[env:esp32s3_qemu]
|
|
; Same as waveshare but without PSRAM (QEMU doesn't emulate octal PSRAM)
|
|
; Usage: pio run -e esp32s3_qemu && bash tools/qemu_boot.sh
|
|
; Debug: bash tools/qemu_boot.sh --gdb
|
|
extends = env:esp32s3_waveshare
|
|
build_flags =
|
|
-D ARDUINO_USB_CDC_ON_BOOT=1
|
|
-D BOARD_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85
|
|
-D LV_CONF_SKIP=1
|
|
-D CORE_DEBUG_LEVEL=3
|
|
-D CONFIG_I2S_BCK_PIN=48
|
|
-D CONFIG_I2S_WS_PIN=38
|
|
-D CONFIG_I2S_DOUT_PIN=47
|
|
; QEMU: no PSRAM, enable verbose logging
|
|
-D QEMU_BUILD=1
|
|
debug_tool = custom
|
|
debug_server =
|
|
tools/sim/qemu-system-xtensa
|
|
-nographic
|
|
-machine esp32s3
|
|
-drive file=/tmp/kill_life_qemu_flash.bin,if=mtd,format=raw
|
|
-L tools/sim
|
|
-s -S
|
|
debug_port = localhost:1234
|
|
|
|
[env:esp32s3_arduino]
|
|
; Generic Arduino ESP32-S3 template (no hardware-specific libs)
|
|
platform = espressif32
|
|
board = esp32-s3-devkitc-1
|
|
framework = arduino
|
|
build_flags = -D TEMPLATE_BUILD=1
|
|
lib_deps =
|
|
bblanchon/ArduinoJson@^7
|
|
|
|
[env:esp32_arduino]
|
|
; Generic Arduino ESP32 template
|
|
platform = espressif32
|
|
board = esp32dev
|
|
framework = arduino
|
|
build_flags = -D TEMPLATE_BUILD=1
|
|
|
|
[env:native]
|
|
platform = native
|
|
build_flags = -D UNIT_TEST=1
|
|
; Exclude Arduino-dependent src files — tests are self-contained
|
|
build_src_filter = -<*> +<native_stub.cpp>
|