Files
wifi-densepose/rust-port/wifi-densepose-rs/crates/wifi-densepose-hardware/Cargo.toml
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

36 lines
928 B
TOML

[package]
name = "wifi-densepose-hardware"
version.workspace = true
edition.workspace = true
description = "Hardware interface abstractions for WiFi CSI sensors (ESP32, Intel 5300, Atheros)"
license = "MIT OR Apache-2.0"
repository = "https://github.com/ruvnet/wifi-densepose"
[features]
default = ["std"]
std = []
# Enable ESP32 serial parsing (no actual ESP-IDF dependency; parses streamed bytes)
esp32 = []
# Enable Intel 5300 CSI Tool log parsing
intel5300 = []
# Enable Linux WiFi interface for commodity sensing (ADR-013)
linux-wifi = []
[dependencies]
# CLI argument parsing (for bin/aggregator)
clap = { version = "4.4", features = ["derive"] }
# Byte parsing
byteorder = "1.5"
# Time
chrono = { version = "0.4", features = ["serde"] }
# Error handling
thiserror = "1.0"
# Logging
tracing = "0.1"
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
[dev-dependencies]
approx = "0.5"