]> git.earman.xyz Git - sensor-watch.git/commitdiff
on second thought: keep BOD33 disabled in sleep mode
authorJoey Castillo <joeycastillo@utexas.edu>
Sun, 13 Feb 2022 21:04:21 +0000 (16:04 -0500)
committerJoey Castillo <joeycastillo@utexas.edu>
Sun, 13 Feb 2022 21:04:21 +0000 (16:04 -0500)
watch-library/hardware/watch/watch_deepsleep.c

index 3238a9536ae50974a32bd3235bf4788e5cdc78d6..e3f654f216cc5c41d067674fd678927c81785761 100644 (file)
@@ -155,10 +155,8 @@ void watch_enter_sleep_mode(void) {
     // disable tick interrupt
     watch_rtc_disable_all_periodic_callbacks();
 
-    // set brownout detector to check voltage once an hour (64 minutes).
-    // in sleep, we're not worried about the LED causing a voltage drop and a brownout.
-    // changes to voltage will take place slowly over months, not quickly over seconds.
-    SUPC->BOD33.bit.PSEL = 0xF;
+    // disable brownout detector interrupt, which could inadvertently wake us up.
+    SUPC->INTENCLR.bit.BOD33DET = 1;
 
     // disable all pins
     _watch_disable_all_pins_except_rtc();
@@ -166,8 +164,8 @@ void watch_enter_sleep_mode(void) {
     // enter standby (4); we basically hang out here until an interrupt wakes us.
     sleep(4);
 
-    // and we awake! speed the brownout detector back up to 1 check per second.
-    SUPC->BOD33.bit.PSEL = 0x9;
+    // and we awake! re-enable the brownout detector
+    SUPC->INTENSET.bit.BOD33DET = 1;
 
     // call app_setup so the app can re-enable everything we disabled.
     app_setup();