wifi-densepose/firmware/esp32-csi-node/test
rUv 7831f29436
fix(firmware): phantom LD2410 detection + ENOMEM backoff (#1135) (#1159)
Bug #2 (root cause): LD2410 probe-detection matched only the 4-byte head
0xF4F3F2F1, so a floating UART at 256000 baud could phantom-detect a sensor
and spawn a UART task. Now requires a full validated report frame (head +
sane length + tail 0xF8F7F6F5), extracted to mmwave_detect.h and shared with
a host unit test (test_mmwave_detect.c, 8 vectors) so firmware and test can't
diverge. Matches the validate-before-trust approach used for MR60 in #1107.

Bug #1: sendto ENOMEM used a fixed 100 ms backoff too short to drain sustained
lwIP/WiFi buffer pressure, so a node could stay stuck. Now exponential
(100->200->...->2000 ms per consecutive ENOMEM, reset on first successful
send). Removing the phantom LD2410 task (bug #2) also removes the extra load
that tipped the reporter's tier-2 node into the stuck state.

Validated on ESP32-S3 QFN56 rev v0.2 (the reporter's silicon): tier-2 streams
~100 frames/s with no stuck ENOMEM and correctly reports no mmWave (no
phantom). LD2410 predicate truth table proven (head-without-tail REJECTED).
Could not reproduce the reporter's environment-specific floating-pin noise, so
the deterministic proof is the host unit test.
2026-06-22 12:31:21 -04:00
..
corpus feat: QEMU ESP32-S3 testing platform + swarm configurator (ADR-061/062) (#260) 2026-03-14 13:39:51 -04:00
stubs fix(firmware): C6 IDF v5.5 guard + HE-LTF host ingest + WITNESS-LOG-110 B1 resolution (#1005) (#1011) 2026-06-11 11:00:37 -04:00
Makefile fix(firmware): phantom LD2410 detection + ENOMEM backoff (#1135) (#1159) 2026-06-22 12:31:21 -04:00
capture-3board-experiment.py ADR-110: ESP32-C6 firmware extension (#764) 2026-05-23 15:34:48 -04:00
fuzz_csi_serialize.c ADR-110: ESP32-C6 firmware extension (#764) 2026-05-23 15:34:48 -04:00
fuzz_edge_enqueue.c feat: QEMU ESP32-S3 testing platform + swarm configurator (ADR-061/062) (#260) 2026-03-14 13:39:51 -04:00
fuzz_nvs_config.c feat: QEMU ESP32-S3 testing platform + swarm configurator (ADR-061/062) (#260) 2026-03-14 13:39:51 -04:00
test_adr110_encoding.c ADR-110: ESP32-C6 firmware extension (#764) 2026-05-23 15:34:48 -04:00
test_mmwave_detect.c fix(firmware): phantom LD2410 detection + ENOMEM backoff (#1135) (#1159) 2026-06-22 12:31:21 -04:00
test_vitals_count_presence.c fix: ESP32 vitals over-count + presence flicker (#998/#996) + Observatory per-person position/motion (#1050) (#1060) 2026-06-14 00:31:30 -04:00