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

View File

@@ -3,23 +3,25 @@ services:
build:
context: .
dockerfile: docker/Dockerfile
working_dir: /workspace
working_dir: /project
environment:
- IDF_TARGET=esp32c6
volumes:
# West workspace topdir: holds .west/, and the NCS/Zephyr module
# tree fetched by `west update` (nrf/, zephyr/, modules/, ...).
- ncs-workspace:/workspace
# This repo, bind-mounted as the manifest project inside the
# workspace (matches `self.path: kvida-os` in west.yml).
- .:/workspace/kvida-os
# Project source, bind-mounted.
- .:/project
# Build output and IDF Component Registry cache, kept in named
# volumes so they survive across container runs without polluting
# the bind-mounted source tree.
- build-cache:/project/build
- managed-components-cache:/project/managed_components
tty: true
# USB/J-Link access (for `west flash`) is expected to be handled via
# usbipd-win forwarding the probe into WSL2. If `west flash` needs to
# run inside this container rather than on the WSL2 host, uncomment
# and adjust one of the following once the forwarded device node is
# known:
# USB access (for `idf.py flash`/`monitor`) is expected to be handled
# via usbipd-win forwarding the board's serial port into WSL2. If
# flashing needs to run inside this container rather than on the WSL2
# host, uncomment and adjust once the forwarded device node is known:
# devices:
# - "/dev/bus/usb:/dev/bus/usb"
# privileged: true
# - "/dev/ttyUSB0:/dev/ttyUSB0"
volumes:
ncs-workspace:
build-cache:
managed-components-cache: