From 935ce270d9d2aaaf047aaae80408ab71f5f597bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20SAILLANT?= <108685187+electron-rare@users.noreply.github.com> Date: Sat, 21 Feb 2026 03:07:59 +0100 Subject: [PATCH] add esp32 audio dev zeroclaw hardware evidence reports --- docs/rapport_hw.json | 71 ++++++++++++++++++++++++++++++ docs/rapport_tests_fonctionnels.md | 31 +++++++++++++ docs/zeroclaw_orchestration.md | 23 ++++++++++ 3 files changed, 125 insertions(+) create mode 100644 docs/rapport_hw.json diff --git a/docs/rapport_hw.json b/docs/rapport_hw.json new file mode 100644 index 0000000..7b9f6a3 --- /dev/null +++ b/docs/rapport_hw.json @@ -0,0 +1,71 @@ +{ + "timestamp_utc": "2026-02-21T03:15:00Z", + "scope": "esp32_audio_dev_a252_only", + "overall_passed": true, + "bench_context": { + "active_env": "esp32dev", + "flash_port": "/dev/cu.SLAB_USBtoUART", + "s3_present": false + }, + "results": [ + { + "name": "ZeroClaw preflight", + "passed": true, + "details": { + "command": "python3 scripts/zeroclaw_hw_preflight.py --require-port --zeroclaw-bin /Users/cils/Documents/Lelectron_rare/Kill_LIFE/zeroclaw/target/release/zeroclaw", + "ports_seen": [ + "/dev/tty.SLAB_USBtoUART", + "/dev/tty.usbserial-0001", + "/dev/tty.usbmodem5AB90753301" + ] + } + }, + { + "name": "esp32dev build", + "passed": true, + "details": { + "command": "pio run -e esp32dev" + } + }, + { + "name": "esp32dev upload", + "passed": true, + "details": { + "command": "pio run -e esp32dev -t upload --upload-port /dev/cu.SLAB_USBtoUART" + } + }, + { + "name": "serial smoke", + "passed": true, + "details": { + "ping": "PONG", + "status_keys": [ + "board_profile", + "telephony", + "hook", + "full_duplex", + "audio_drop_frames" + ], + "status_snapshot": { + "board_profile": "ESP32_A252", + "full_duplex": true, + "audio_drop_frames": 0 + } + } + }, + { + "name": "startup stability", + "passed": true, + "details": { + "fixed_issue": "lwIP Invalid mbox reboot loop", + "evidence": [ + "[RTC_BL_PHONE] AP ready: ssid=RTC_BL_PHONE ip=192.168.4.1", + "[WebServerManager] HTTP server started" + ] + } + } + ], + "notes": [ + "Run execute on ESP32 audio dev only; S3 validation skipped for this bench." + ] +} diff --git a/docs/rapport_tests_fonctionnels.md b/docs/rapport_tests_fonctionnels.md index a12e69e..96afb04 100644 --- a/docs/rapport_tests_fonctionnels.md +++ b/docs/rapport_tests_fonctionnels.md @@ -45,3 +45,34 @@ Tous les modules ont été testés individuellement et en intégration. Les rés Tous les modules sont validés, robustes et intégrés. La traçabilité, la sécurité et la documentation sont assurées. Prêt pour la phase suivante ou la livraison. **Version :** 2026-02-17 + +--- + +## Campagne terrain ZeroClaw — 2026-02-21 (ESP32 audio dev) + +Contexte: + +- Cible active: `esp32dev` (ESP32 audio dev) +- Port flash: `/dev/cu.SLAB_USBtoUART` +- Scope: terminal build/flash/smoke, sans carte S3 sur ce bench + +Resultats: + +- Preflight ZeroClaw USB: OK +- Build `pio run -e esp32dev`: OK +- Upload `pio run -e esp32dev -t upload --upload-port /dev/cu.SLAB_USBtoUART`: OK +- Smoke serie: + - `PING` => `PONG` (OK) + - `STATUS` => JSON complet (OK) + +Incident corrige pendant la campagne: + +- Reboot loop `lwIP Invalid mbox` au demarrage web. +- Cause: `AsyncWebServer::begin()` lance avant init reseau. +- Correctif applique: + - init Wi-Fi AP (`RTC_BL_PHONE`) avant `g_web.begin()` + - correction payload `STATUS` (`doc.as()` au lieu de `doc.to()`) + +Verdict campagne 2026-02-21: + +- PASS pour le flux `esp32dev` en terminal. diff --git a/docs/zeroclaw_orchestration.md b/docs/zeroclaw_orchestration.md index ce90e23..cfa93b0 100644 --- a/docs/zeroclaw_orchestration.md +++ b/docs/zeroclaw_orchestration.md @@ -45,3 +45,26 @@ Si credentials manquants, choisir un provider: 3. Patch minimal RTC. 4. Tests locaux ciblés. 5. PR dédiée RTC avec logs/artefacts. + +## 4) Run local ESP32 audio dev (A252 only) + +Contexte bench actuel: carte `esp32dev` (audio dev), sans cible S3 connectee. + +Commande de reference: + +```bash +cd /Users/cils/Documents/Lelectron_rare/RTC_BL_PHONE +python3 scripts/zeroclaw_hw_preflight.py --require-port --zeroclaw-bin /Users/cils/Documents/Lelectron_rare/Kill_LIFE/zeroclaw/target/release/zeroclaw +pio run -e esp32dev +pio run -e esp32dev -t upload --upload-port /dev/cu.SLAB_USBtoUART +``` + +Smoke terminal attendu: + +- `PING` => `PONG` +- `STATUS` => JSON avec `board_profile`, `telephony`, `hook`, `full_duplex`, metriques audio. + +Note technique: + +- Sur `esp32dev`, il faut initialiser le stack reseau avant `AsyncWebServer::begin()` + pour eviter le crash `lwIP Invalid mbox`.