ruv
e9bb4faf53
feat: ADR-039 edge intelligence — on-device CSI processing pipeline
...
Implements a dual-core edge processing system for ESP32-S3:
- Lock-free SPSC ring buffer (Core 0 produces, Core 1 consumes)
- Tier 1: phase unwrap, Welford stats, top-K subcarrier selection, delta compression
- Tier 2: presence/motion detection, vital signs (breathing/heart rate via biquad IIR), fall detection
- Vitals UDP packet (magic 0xC5110002, 32 bytes, sent at 1 Hz)
- NVS/Kconfig configurable (edge_tier, thresholds, intervals)
- Backward compatible: tier=0 (default) is a no-op
- GitHub Actions firmware CI: build, binary size gate, credential scan, flash image verification
- Binary: 777 KB (24% free in 1 MB partition)
Co-Authored-By: claude-flow <ruv@ruv.net >
2026-03-02 19:55:35 -05:00
ruv
7872987ee6
fix(docker): Update Dockerfile paths from src/ to v1/src/
...
The source code was moved to v1/src/ but the Dockerfile still
referenced src/ directly, causing build failures. Updated all
COPY paths, uvicorn module paths, test paths, and bandit scan
paths. Also added missing v1/__init__.py for Python module
resolution.
Fixes #33
Co-Authored-By: claude-flow <ruv@ruv.net >
2026-02-28 13:38:21 -05:00
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