- State machine: 7-state lifecycle (BOOT→WIFI→DISCOVERY→CONNECTED, degraded modes WIFI_LOST/MOTHERSHIP_UNAVAILABLE/CAPTIVE_PORTAL) - WiFi: STA connection with exponential backoff, mDNS discovery with cached IP fallback, captive portal AP for provisioning - WebSocket: bidirectional comms, binary CSI frames (24B header + I/Q), JSON hello/health/ble/ota_status upstream, role/config/ota/reboot downstream, OTA task with progress reporting - CSI: promiscuous mode capture, queue-based processing, passive BSSID filter, on-device variance tracking (Welford's) for motion hints - BLE: passive scanning on Core 0, 60-device cache, 5s reporting - NVS: 15-key schema with versioning, role/rate persistence Complete: ESP32 firmware skeleton, passive radar, BLE scanning Remaining: Dashboard skeleton, Docker packaging (Phase 1 items 5-6) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
304 B
304 B
| 1 | # Name | Type | SubType | Offset | Size | Flags |
|---|---|---|---|---|---|---|
| 2 | nvs | data | nvs | 0x9000 | 0x6000 | |
| 3 | phy_init | data | phy | 0xf000 | 0x1000 | |
| 4 | factory | app | factory | 0x10000 | 0x200000 | |
| 5 | ota_0 | app | ota_0 | 0x210000 | 0x200000 | |
| 6 | ota_1 | app | ota_1 | 0x410000 | 0x200000 | |
| 7 | ota_data | data | ota | 0x610000 | 0x2000 |