]> git.earman.xyz Git - sensor-watch.git/commitdiff
faces/clock: indicate low power only when needed
authorMatheus Afonso Martins Moreira <matheus.a.m.moreira@gmail.com>
Sun, 25 Feb 2024 17:14:26 +0000 (14:14 -0300)
committerMatheus Afonso Martins Moreira <matheus.a.m.moreira@gmail.com>
Sun, 25 Feb 2024 18:24:15 +0000 (15:24 -0300)
There is no need to set the indicator on every clock tick.
Indicate only when the battery is checked.

movement/watch_faces/clock/clock_face.c

index 8a39656965a96d8d4941cfce357592abc9b2a0b8..27d9acc013059dcd7b309a2cdd74aa7e5dc18c74 100644 (file)
@@ -73,6 +73,11 @@ static void clock_indicate_pm(movement_settings_t *settings, watch_date_time dat
     clock_indicate(WATCH_INDICATOR_PM, clock_is_pm(date_time));
 }
 
+static void clock_indicate_low_available_power(clock_state_t *clock) {
+    // Set the LAP indicator if battery power is low
+    clock_indicate(WATCH_INDICATOR_LAP, clock->battery_low);
+}
+
 static watch_date_time clock_24h_to_12h(watch_date_time date_time) {
     date_time.unit.hour %= 12;
 
@@ -94,11 +99,8 @@ static void clock_check_battery_periodically(clock_state_t *clock, watch_date_ti
     watch_disable_adc();
 
     clock->battery_low = voltage < CLOCK_FACE_LOW_BATTERY_VOLTAGE_THRESHOLD;
-}
 
-static void clock_indicate_low_available_power(clock_state_t *clock) {
-    // Set the LAP indicator if battery power is low
-    clock_indicate(WATCH_INDICATOR_LAP, clock->battery_low);
+    clock_indicate_low_available_power(clock);
 }
 
 static void clock_toggle_time_signal(clock_state_t *clock) {
@@ -237,7 +239,6 @@ bool clock_face_loop(movement_event_t event, movement_settings_t *settings, void
             clock_display_clock(settings, state, current);
 
             clock_check_battery_periodically(state, current);
-            clock_indicate_low_available_power(state);
 
             state->date_time.previous = current;