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:
31
README.md
31
README.md
@@ -1,36 +1,37 @@
|
||||
# kvida-os
|
||||
|
||||
Fastvare for Kvida — en universell, batteridrevet Matter-node (Nordic nRF54L15) fra Xylon.
|
||||
Fastvare for Kvida — en konfigurerbar automasjonsplattform (ESP32-C6) fra Xylon.
|
||||
|
||||
Visjon og arkitektur er beskrevet i meta-repoet [`kvida`](../kvida/AGENTS.md). Dette repoet inneholder kun fastvaren, bygget på Nordic nRF Connect SDK (Zephyr).
|
||||
Visjon og arkitektur er beskrevet i meta-repoet [`kvida`](../kvida/AGENTS.md). Dette repoet inneholder kun fastvaren, bygget på ESP-IDF (C++17).
|
||||
|
||||
## Forutsetninger
|
||||
|
||||
- Docker
|
||||
- WSL2
|
||||
- `usbipd-win` (for å videresende J-Link/SWD-probe fra Windows til WSL2 ved flashing)
|
||||
- `usbipd-win` (for å videresende ESP32-C6 sin USB-seriellport fra Windows til WSL2 ved flashing)
|
||||
|
||||
## Board
|
||||
## Arkitektur
|
||||
|
||||
Bygget er foreløpig satt opp mot Nordic sitt offisielle utviklingskort (`nrf54l15dk/nrf54l15/cpuapp`) som plassholder. Kvida sin egen hardware trenger et custom board-oppsett under `boards/` når skjema/pinout er klart — ikke gjort ennå.
|
||||
Lagdelt: `drivers` -> `sensors` -> `profiles` -> `lua_runtime` -> `transport`, se komponent-READMEene under `components/` og `AGENTS.md` for detaljer. Bruker konfigurerer enheten visuelt (Blockly -> Lua), ikke ved å skrive/kompilere fastvare.
|
||||
|
||||
## Quickstart
|
||||
|
||||
Containeren kjører med arbeidsmappe `/workspace` (west-workspacets topdir), hvor dette repoet er mountet inn som undermappen `kvida-os/`. NCS/Zephyr-modulene havner som søsken av repoet (`/workspace/nrf`, `/workspace/zephyr`, ...) i et eget navngitt Docker-volum.
|
||||
|
||||
```sh
|
||||
# Bygg toolchain-imaget
|
||||
# Bygg toolchain-imaget (Espressif sitt offisielle ESP-IDF v6.0.2-image)
|
||||
docker compose build
|
||||
|
||||
# Hent NCS/Zephyr-moduler (kjøres én gang, lagres i det navngitte volumet)
|
||||
docker compose run --rm build west init -l kvida-os
|
||||
docker compose run --rm build west update
|
||||
# Velg target (kjøres én gang; genererer sdkconfig)
|
||||
docker compose run --rm build idf.py set-target esp32c6
|
||||
|
||||
# Bygg fastvaren
|
||||
docker compose run --rm build west build -b nrf54l15dk/nrf54l15/cpuapp kvida-os/app
|
||||
docker compose run --rm build idf.py build
|
||||
|
||||
# Flash (krever J-Link-probe videresendt via usbipd-win til WSL2)
|
||||
docker compose run --rm build west flash
|
||||
# Flash + monitor (krever seriellport videresendt via usbipd-win til WSL2)
|
||||
docker compose run --rm build idf.py -p <PORT> flash monitor
|
||||
```
|
||||
|
||||
`west.yml` er pinnet til NCS `v3.4.0`.
|
||||
Prosjektet er pinnet til ESP-IDF `v6.0.2` (se `docker/Dockerfile`).
|
||||
|
||||
## Status
|
||||
|
||||
`main/` bygger og logger oppstart. `components/*` inneholder foreløpig bare README-er som beskriver ansvar per lag — ingen reell logikk ennå. `partitions.csv` har et A/B OTA + LittleFS-oppsett med plassholder-størrelser (4MB flash) som bør justeres når ekte flash-størrelse/image-størrelse er kjent.
|
||||
|
||||
Reference in New Issue
Block a user