diff --git a/esp32/uwb_tag/src/main.cpp b/esp32/uwb_tag/src/main.cpp index b5c613f..c6ac4c0 100644 --- a/esp32/uwb_tag/src/main.cpp +++ b/esp32/uwb_tag/src/main.cpp @@ -321,7 +321,7 @@ static uint32_t g_pimu_last_rx_ms = 0; #define BLE_PIMU_UUID "12345678-1234-5678-1234-56789abcdef4" #define CFG_NVS_NS "uwb_cfg" -#define CFG_DEFAULT_SLEEP_S 30 +#define CFG_DEFAULT_SLEEP_S 3600 /* 1 hour display timeout default */ #define CFG_DEFAULT_BRIGHTNESS 200 #define CFG_DEFAULT_CHANNEL 5 #define CFG_DEFAULT_RANGING_MS 100 @@ -675,7 +675,7 @@ static void estop_check(void) { /* ── Power Management ────────────────────────────────────────────── */ -#define PM_DW1000_SLEEP_MS (300UL * 1000) +#define PM_DW1000_SLEEP_MS (3600UL * 1000) /* 1 hour idle before DW1000 sleep */ #define PM_DW1000_WAKE_PERIOD_MS (30UL * 1000) #define PM_DW1000_WAKE_WINDOW_MS 5000 #define PM_DEEP_SLEEP_HOLD_MS 3000 @@ -779,7 +779,12 @@ static void pm_update(void) { } } - /* GPIO0 hold 3s → deep sleep */ + /* + * GPIO0 deep sleep DISABLED — pin floats LOW on this board + * (no external pull-up), causing immediate sleep on boot. + * Deep sleep can be re-enabled once a 10kΩ pull-up is soldered. + */ + #if 0 if (digitalRead(PIN_ESTOP) == LOW) { if (g_btn_held_ms == 0) { g_btn_held_ms = now; @@ -796,6 +801,7 @@ static void pm_update(void) { } g_btn_held_ms = 0; } + #endif } /* ── OLED display (5 Hz) ────────────────────────────────────────── */