mirror of
https://github.com/ruvnet/RuView
synced 2026-07-24 17:43:20 +00:00
4643fcf88e
In multi-AP environments, CSI frames from different access points get mixed together, corrupting the sensing signal. Add transmitter MAC filtering so only frames from a specified AP are processed. Implementation: - csi_collector: filter in wifi_csi_callback by comparing info->mac against configured MAC; log transmitter MAC in periodic debug output - csi_collector_set_filter_mac(): runtime API to enable/disable filter - Kconfig: CSI_FILTER_MAC option (format "AA:BB:CC:DD:EE:FF") - NVS: "filter_mac" 6-byte blob overrides Kconfig at runtime - nvs_config: parse Kconfig MAC string at boot, load NVS override - main: apply filter from config after csi_collector_init() When no filter is configured (default), behavior is unchanged — all transmitter MACs are accepted for backward compatibility. Fixes #98 Co-Authored-By: claude-flow <ruv@ruv.net>
57 lines
1.5 KiB
Plaintext
57 lines
1.5 KiB
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.
|
|
|
|
config CSI_FILTER_MAC
|
|
string "CSI source MAC filter (AA:BB:CC:DD:EE:FF or empty)"
|
|
default ""
|
|
help
|
|
When set to a valid MAC address (e.g. "AA:BB:CC:DD:EE:FF"),
|
|
only CSI frames from that transmitter are processed. All
|
|
other frames are silently dropped. This prevents signal
|
|
mixing in multi-AP environments.
|
|
|
|
Leave empty to accept CSI from all transmitters.
|
|
|
|
Can be overridden at runtime via NVS key "filter_mac"
|
|
(6-byte blob) without reflashing.
|
|
|
|
endmenu
|