Files
wifi-densepose/firmware/esp32-csi-node/main/Kconfig.projbuild
rUv 92a5182dc3 feat(adr-018): ESP32-S3 firmware, Rust aggregator, and live CSI pipeline
Complete end-to-end WiFi CSI capture pipeline verified on real hardware:

- ESP32-S3 firmware: WiFi STA + promiscuous mode CSI collection,
  ADR-018 binary serialization, UDP streaming at ~20 Hz
- Rust aggregator CLI binary (clap): receives UDP frames, parses with
  Esp32CsiParser, prints per-frame summary (node, seq, rssi, amp)
- UDP aggregator module with per-node sequence tracking and drop detection
- CsiFrame bridge to detection pipeline (amplitude/phase/SNR conversion)
- Python ESP32 binary parser with UDP reader
- Presence detection confirmed: motion score 10/10 from live CSI variance

Hardware verified: ESP32-S3-DevKitC-1 (CP2102, MAC 3C:0F:02:EC:C2:28),
Docker ESP-IDF v5.2 build, esptool 5.1.0 flash, 20 Rust + 6 Python tests pass.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-28 13:22:04 -05:00

43 lines
1012 B
Plaintext

menu "CSI Node Configuration"
config CSI_NODE_ID
int "Node ID (0-255)"
default 1
range 0 255
help
Unique identifier for this ESP32 CSI node.
config CSI_TARGET_IP
string "Aggregator IP address"
default "192.168.1.100"
help
IP address of the UDP aggregator host.
config CSI_TARGET_PORT
int "Aggregator UDP port"
default 5005
range 1024 65535
help
UDP port the aggregator listens on.
config CSI_WIFI_SSID
string "WiFi SSID"
default "wifi-densepose"
help
SSID of the WiFi network to connect to.
config CSI_WIFI_PASSWORD
string "WiFi Password"
default ""
help
Password for the WiFi network. Leave empty for open networks.
config CSI_WIFI_CHANNEL
int "WiFi Channel (1-13)"
default 6
range 1 13
help
WiFi channel to listen on for CSI data.
endmenu