spaxel/firmware/main
jedarden d2e5b4d4a0 feat: implement passive radar auto-detection of router AP
Automatically detect the home router as a passive radar TX source,
eliminating need for a dedicated active TX node.

Firmware changes:
- During hello message, include ap_bssid and ap_channel from esp_wifi_sta_get_ap_info()

Mothership changes:
- On hello: extract ap_bssid; if >=80% of nodes report same BSSID create virtual node entry with virtual=1
- OUI lookup: embedded IEEE OUI registry as Go map compiled via go:embed; display router brand
- Detect AP BSSID change (router reboot/replacement) and emit system alert
- SQLite nodes table: add virtual BOOL, node_type TEXT, ap_bssid TEXT, ap_channel INT columns

Dashboard changes:
- Show "I detected your router (ASUS). Place it on the floor plan..." notification
- Render virtual AP nodes with distinct router icon in 3D view
- Drag-to-place virtual node (distinct router icon) in 3D editor

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 14:03:03 -04:00
..
ble.c feat(firmware): ESP32-S3 firmware skeleton with CSI/BLE/WebSocket 2026-03-26 07:20:55 -04:00
ble.h feat(firmware): ESP32-S3 firmware skeleton with CSI/BLE/WebSocket 2026-03-26 07:20:55 -04:00
CMakeLists.txt feat(firmware): OTA SHA-256 verification and captive portal URL decoding 2026-03-28 19:56:11 -04:00
csi.c feat(protocol): full bidirectional node protocol over WebSocket 2026-03-26 23:14:19 -04:00
csi.h feat(firmware): ESP32-S3 firmware skeleton with CSI/BLE/WebSocket 2026-03-26 07:20:55 -04:00
main.c feat(dashboard): per-link motion presence indicator with amplitude time series 2026-03-26 22:55:33 -04:00
provision.c feat(dashboard): per-link motion presence indicator with amplitude time series 2026-03-26 22:55:33 -04:00
provision.h feat(dashboard): per-link motion presence indicator with amplitude time series 2026-03-26 22:55:33 -04:00
spaxel.h feat(firmware): ESP32-S3 firmware skeleton with CSI/BLE/WebSocket 2026-03-26 07:20:55 -04:00
version.h.in feat(firmware): OTA SHA-256 verification and captive portal URL decoding 2026-03-28 19:56:11 -04:00
websocket.c feat: implement passive radar auto-detection of router AP 2026-04-06 14:03:03 -04:00
websocket.h feat(protocol): full bidirectional node protocol over WebSocket 2026-03-26 23:14:19 -04:00
wifi.c feat: implement passive radar auto-detection of router AP 2026-04-06 14:03:03 -04:00
wifi.h feat: implement passive radar auto-detection of router AP 2026-04-06 14:03:03 -04:00