No description
Implements a complete CSI simulator CLI that connects to the mothership as virtual nodes and streams synthetic CSI frames for automated integration testing without ESP32 hardware. CLI Implementation (mothership/cmd/sim/): - main.go: CLI entry point with all required flags (--mothership, --nodes, --walkers, --rate, --duration, --seed, --space, --ble, --verify, --noise-sigma, --wall, --output-csv) - generator.go: synthetic CSI frame generation with proper binary format - walker.go: random walk and path-following simulation - verify.go: blob count verification with exit code reporting Features: - Virtual nodes connect via WebSocket with hello/health/BLE messages - Synthetic CSI frames match Phase 1 protocol (24-byte header + I/Q payload) - Configurable noise sigma for I/Q generation - Wall definitions affecting path loss model - CSV ground truth output for offline analysis - Seed-based reproducibility for testing - Verification mode for CI smoke testing Physics Model (mothership/internal/simulator/): - propagation.go: two-ray model (direct + reflection) with wall attenuation - physics.go: path loss, RSSI computation, Fresnel zone calculations - Reusable package shared with pre-deployment simulator Tests: - Binary header format validation (magic, version, fields in correct positions) - RSSI range validation for given distances - I/Q clamping to int8 range [-127, 127] - Hello message format validation - Verification mode blob detection - Seed reproducibility for identical walker paths - CSV output format validation - Wall parsing validation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .beads | ||
| .github/workflows | ||
| .marathon | ||
| dashboard | ||
| docs | ||
| firmware | ||
| mothership | ||
| tests/e2e | ||
| .dockerignore | ||
| .gitignore | ||
| .needle-predispatch-sha | ||
| .needle.yaml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| PROGRESS.md | ||
| VERSION | ||