mirror of
https://github.com/ruvnet/RuView.git
synced 2026-10-18 21:00:22 -05:00
Esp32CsiParser capped n_subcarriers at 256. Real ESP32-S3 nodes on firmware 0.8.12 send 1-antenna frames with 306 subcarriers (612 I/Q bytes), so the parser dropped about a third of live frames. Pointcloud started hitting that cap once it switched to this parser. The bound now comes from the firmware: frames are serialized into CSI_MAX_FRAME_SIZE = 20 + 4 * 256 * 2 bytes, so a frame carries at most 1024 I/Q pairs across all antennas. The check is n_antennas * n_subcarriers <= 1024. HT/legacy bandwidth no longer maps subcarrier counts above 128 to 80 or 160 MHz. ESP32 radios use 20/40 MHz channels, and the larger counts (192, 306) come from merged LLTF/HT-LTF buffers, so anything above 64 is reported as 40 MHz. The pointcloud UDP receive buffer grows from 2048 to 4096 bytes so the largest legal frame (2068 bytes) is not truncated. Refs #1348 Co-Authored-By: claude-flow <ruv@ruv.net>