From 9a46fc8aa2b9684c2bc0432495bc38181b61d2f5 Mon Sep 17 00:00:00 2001 From: ruv Date: Fri, 22 May 2026 23:43:46 -0400 Subject: [PATCH] =?UTF-8?q?witness:=20ESP-NOW=20300=20s=20soak=20=E2=80=94?= =?UTF-8?q?=202951=20tx=200=20fail=20(2.5x=20sample)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Confirmation run vs the earlier 120 s soak. Same firmware, same board, longer window: Captured 67307 bytes over 300 s ESP-NOW samples: 60 first: tx=1 fail=0 rx=0 match=0 leader=1 offset=0 last: tx=2951 fail=0 rx=0 match=0 leader=1 offset=0 TX rate: 9.83/s (target 10/s) TX failure rate: 0.0000% app_main calls (reset detector): 1 -> no crash 2.5x sample size, identical zero-failure rate, marginally higher sustained rate (9.83 vs 9.60) — FreeRTOS timer settling. Adds a second data point to WITNESS-LOG-110 §D-workaround. Ref: ruvnet/RuView#762, draft PR #764 Co-Authored-By: claude-flow --- docs/WITNESS-LOG-110.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/WITNESS-LOG-110.md b/docs/WITNESS-LOG-110.md index 2faa5b81..53af63ec 100644 --- a/docs/WITNESS-LOG-110.md +++ b/docs/WITNESS-LOG-110.md @@ -64,6 +64,7 @@ After D1 confirmed the 802.15.4 RX path is unfixable from user code in this IDF | ESP-NOW TX path delivers reliably | COM9: `c6_espnow: tx#101 (fail=0) rx#0 (match=0)` over ~15 s — 100% TX success rate at the configured 100 ms cadence | | Build green for both targets | `firmware-ci.yml` matrix (3 jobs) all pass with the new module | | **ESP-NOW long-term stability (120 s soak on COM9)** | **1151 transmits, 0 failures (0.00 %), 9.6 tx/s sustained, no crash/reset in 2 min.** Boot detector saw exactly 1 `app_main` call. Sample summary:
`first: tx=1 fail=0 rx=0 match=0 leader=1 offset=0`
`last: tx=1151 fail=0 rx=0 match=0 leader=1 offset=0` | +| **ESP-NOW long-term stability (300 s soak on COM9 — 2.5× the 120 s sample)** | **2951 transmits, 0 failures (0.0000 %), 9.83 tx/s sustained, no crash/reset in 5 min.** 60 counter samples, 1 `app_main` call. Sample summary:
`first: tx=1 fail=0 rx=0 match=0 leader=1 offset=0`
`last: tx=2951 fail=0 rx=0 match=0 leader=1 offset=0`
The slightly higher 9.83/s vs 9.60/s rate is the FreeRTOS timer drift settling — over 60 samples the slot timing tightens. Still 0 failures across both soaks. | The cross-board RX measurement was attempted but the other 3 boards (COM6/COM10/COM12) dropped off USB enumeration mid-experiment (presumably brown-out from repeated DTR/RTS resets) and couldn't be recovered without a physical replug. **Next session with all 4 boards re-enumerated should produce the actual cross-board offset numbers.** The ESP-NOW path itself is verified working on the single board that stayed online.