Rebuild firmware scaffold for ESP32-C6/ESP-IDF, replacing NCS/Zephyr

The product pivoted away from a Matter-first nRF54L15 device to an
ESP32-C6/ESP-IDF/C++17 platform where behaviour is defined by a
Blockly-generated Lua program instead of custom firmware (see the
updated kvida meta-repo vision). Removes the west/NCS/Zephyr scaffold
and replaces it with:

- A pinned ESP-IDF v6.0.2 Docker build environment (Espressif's
  official image already bundles the toolchain, unlike NCS/west).
- A layered component structure (drivers -> sensors -> profiles ->
  lua_runtime -> transport) matching the new architecture principles,
  with per-component READMEs describing responsibilities.
- An A/B OTA + LittleFS partition table and a minimal main.cpp.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Ronny Eia
2026-07-08 19:54:25 +02:00
parent 13406a24a3
commit 524714148b
33 changed files with 133 additions and 132 deletions

12
partitions.csv Normal file
View File

@@ -0,0 +1,12 @@
# ESP-IDF partition table: A/B OTA app slots + LittleFS storage.
#
# Sized for a 4MB flash module (TODO: adjust once real flash size and
# firmware image size are known).
#
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x6000,
otadata, data, ota, 0xf000, 0x2000,
phy_init, data, phy, 0x11000, 0x1000,
ota_0, app, ota_0, 0x20000, 0x180000,
ota_1, app, ota_1, 0x1A0000, 0x180000,
storage, data, littlefs, 0x320000, 0xE0000,
1 # ESP-IDF partition table: A/B OTA app slots + LittleFS storage.
2 #
3 # Sized for a 4MB flash module (TODO: adjust once real flash size and
4 # firmware image size are known).
5 #
6 # Name, Type, SubType, Offset, Size, Flags
7 nvs, data, nvs, 0x9000, 0x6000,
8 otadata, data, ota, 0xf000, 0x2000,
9 phy_init, data, phy, 0x11000, 0x1000,
10 ota_0, app, ota_0, 0x20000, 0x180000,
11 ota_1, app, ota_1, 0x1A0000, 0x180000,
12 storage, data, littlefs, 0x320000, 0xE0000,