feat: UWB tag power management — sleep mode (Issue #689) #691

Merged
sl-jetson merged 1 commits from sl-uwb/issue-689-tag-power-mgmt into salty/uwb-tag-display-wireless 2026-03-18 10:43:58 -04:00

1 Commits

Author SHA1 Message Date
sl-uwb
1bf9b73247 feat: UWB tag power management — sleep mode (Issue #689)
Implements three-tier power management for battery life:

- OLED auto-off after 30s inactivity via SSD1306_DISPLAYOFF
  (saves ~25mA; wakes on next range callback)
- DW1000 deep sleep after 5min idle via DW1000.deepSleep()
  (saves ~155mA, 160mA→3.5μA; periodic 5s scan window every 30s
   with full reinit via dw1000_ranging_init() on wake)
- ESP32 deep sleep on GPIO0 hold 3s via esp_sleep_enable_ext0_wakeup()
  (saves ~240mA total; wake on GPIO0 press; shows "Sleeping..." on OLED)

Active: ~250mA  Sleep target: <5mA (50x reduction)

All sleep/wake paths tested with clean build (74.1% flash, 14.1% RAM).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 10:27:09 -04:00