]> git.earman.xyz Git - sensor-watch.git/commitdiff
refactor movement's alarm_enabled bit to a function call
authorjoeycastillo <joeycastillo@utexas.edu>
Sun, 29 Sep 2024 12:16:53 +0000 (08:16 -0400)
committerjoeycastillo <joeycastillo@utexas.edu>
Sun, 29 Sep 2024 12:16:53 +0000 (08:16 -0400)
movement.c
movement.h
movement/watch_faces/clock/clock_face.c
movement/watch_faces/clock/close_enough_clock_face.c
movement/watch_faces/clock/minute_repeater_decimal_face.c
movement/watch_faces/clock/repetition_minute_face.c
movement/watch_faces/clock/simple_clock_bin_led_face.c
movement/watch_faces/clock/weeknumber_clock_face.c
movement/watch_faces/complication/alarm_face.c
watch-faces/clock/simple_clock_face.c

index 3321005e83fd0ae7e3f88fc59236b44650a89e2d..390edc3be4dcd1cbd87e661a222c70379c4440f6 100644 (file)
@@ -353,6 +353,14 @@ void movement_set_use_imperial_units(bool value) {
     movement_state.settings.bit.use_imperial_units = value;
 }
 
+bool movement_alarm_enabled(void) {
+    return movement_state.settings.bit.alarm_enabled;
+}
+
+void movement_set_alarm_enabled(bool value) {
+    movement_state.settings.bit.alarm_enabled = value;
+}
+
 void app_init(void) {
     _watch_init();
 
index d5b183ec8e2f5496ca9fb12476b525350e809749..494a88ce931347c598858d6da0b07c6358045cbf 100644 (file)
@@ -333,3 +333,9 @@ void movement_set_clock_mode_24h(movement_clock_mode_t value);
 
 bool movement_use_imperial_units(void);
 void movement_set_use_imperial_units(bool value);
+
+/// TODO: For #SecondMovement: Should we have a counter that watch faces increment when they enable an alarm, and decrement when they disable it?
+/// Or should there be a watch face function where watch faces can tell us if they have an alarm enabled?
+/// Worth considering a better way to handle this.
+bool movement_alarm_enabled(void);
+void movement_set_alarm_enabled(bool value);
index 64a2bcd88fc9ac1b2b79aaedecdd6fd5782c17b6..e2f492b14244c309a42d916a9440ab21c02c266b 100644 (file)
@@ -69,7 +69,7 @@ static void clock_indicate(watch_indicator_t indicator, bool on) {
 }
 
 static void clock_indicate_alarm(movement_settings_t *settings) {
-    clock_indicate(WATCH_INDICATOR_SIGNAL, settings->bit.alarm_enabled);
+    clock_indicate(WATCH_INDICATOR_SIGNAL, movement_alarm_enabled());
 }
 
 static void clock_indicate_time_signal(clock_state_t *clock) {
index 0ca4b8092d6d7d7e5afacdfa7f2bd2b570ef167a..8aaf955aef933b43a5c8d574a43aa6846d6825cd 100644 (file)
@@ -82,7 +82,7 @@ void close_enough_clock_face_activate(movement_settings_t *settings, void *conte
     }
 
     // show alarm indicator if there is an active alarm
-    _update_alarm_indicator(settings->bit.alarm_enabled, state);
+    _update_alarm_indicator(movement_alarm_enabled(), state);
 
     // this ensures that none of the five_minute_periods will match, so we always rerender when the face activates
     state->prev_five_minute_period = -1;
@@ -214,8 +214,8 @@ bool close_enough_clock_face_loop(movement_event_t event, movement_settings_t *s
             state->prev_five_minute_period = five_minute_period;
 
             // handle alarm indicator
-            if (state->alarm_enabled != settings->bit.alarm_enabled) {
-                _update_alarm_indicator(settings->bit.alarm_enabled, state);
+            if (state->alarm_enabled != movement_alarm_enabled()) {
+                _update_alarm_indicator(movement_alarm_enabled(), state);
             }
 
             break;
index 8a745e3e214499ad515ab7ca0cb3cac4991d8260..4cf09e433ae3f0f96a8c9ae86aaf10531f8e6342 100644 (file)
@@ -90,7 +90,7 @@ void minute_repeater_decimal_face_activate(movement_settings_t *settings, void *
     else watch_clear_indicator(WATCH_INDICATOR_BELL);
 
     // show alarm indicator if there is an active alarm
-    _update_alarm_indicator(settings->bit.alarm_enabled, state);
+    _update_alarm_indicator(movement_alarm_enabled(), state);
 
     watch_set_colon();
 
@@ -158,7 +158,7 @@ bool minute_repeater_decimal_face_loop(movement_event_t event, movement_settings
             }
             watch_display_string(buf, pos);
             // handle alarm indicator
-            if (state->alarm_enabled != settings->bit.alarm_enabled) _update_alarm_indicator(settings->bit.alarm_enabled, state);
+            if (state->alarm_enabled != movement_alarm_enabled()) _update_alarm_indicator(movement_alarm_enabled(), state);
             break;
         case EVENT_ALARM_LONG_PRESS:
             state->signal_enabled = !state->signal_enabled;
index 27c2346c95fcb11e66127a3934f4eb5af6a84ae0..59110e614fa5aa8a1157c2cfedc67be0ebb093ce 100644 (file)
@@ -75,7 +75,7 @@ void repetition_minute_face_activate(movement_settings_t *settings, void *contex
     else watch_clear_indicator(WATCH_INDICATOR_BELL);
 
     // show alarm indicator if there is an active alarm
-    _update_alarm_indicator(settings->bit.alarm_enabled, state);
+    _update_alarm_indicator(movement_alarm_enabled(), state);
 
     watch_set_colon();
 
@@ -143,7 +143,7 @@ bool repetition_minute_face_loop(movement_event_t event, movement_settings_t *se
             }
             watch_display_string(buf, pos);
             // handle alarm indicator
-            if (state->alarm_enabled != settings->bit.alarm_enabled) _update_alarm_indicator(settings->bit.alarm_enabled, state);
+            if (state->alarm_enabled != movement_alarm_enabled()) _update_alarm_indicator(movement_alarm_enabled(), state);
             break;
         case EVENT_ALARM_LONG_PRESS:
             state->signal_enabled = !state->signal_enabled;
index 263efedbcf11ae9b54dcf8a94e6a0d232d5d43b8..4b2bea89a08fb05c15ab2a118c6eaa367e43b24e 100644 (file)
@@ -67,7 +67,7 @@ void simple_clock_bin_led_face_activate(movement_settings_t *settings, void *con
     else watch_clear_indicator(WATCH_INDICATOR_BELL);
 
     // show alarm indicator if there is an active alarm
-    _update_alarm_indicator(settings->bit.alarm_enabled, state);
+    _update_alarm_indicator(movement_alarm_enabled(), state);
 
     watch_set_colon();
 
@@ -169,7 +169,7 @@ bool simple_clock_bin_led_face_loop(movement_event_t event, movement_settings_t
                 }
                 watch_display_string(buf, pos);
                 // handle alarm indicator
-                if (state->alarm_enabled != settings->bit.alarm_enabled) _update_alarm_indicator(settings->bit.alarm_enabled, state);
+                if (state->alarm_enabled != movement_alarm_enabled()) _update_alarm_indicator(movement_alarm_enabled(), state);
             }
             break;
         case EVENT_ALARM_LONG_PRESS:
index 9941858ca265de7137697c25b6e3e3214dcd32f9..3eb3e5b6c8bda15c6a17ddd30c4c64cac768078b 100644 (file)
@@ -57,7 +57,7 @@ void weeknumber_clock_face_activate(movement_settings_t *settings, void *context
     else watch_clear_indicator(WATCH_INDICATOR_BELL);
 
     // show alarm indicator if there is an active alarm
-    _update_alarm_indicator(settings->bit.alarm_enabled, state);
+    _update_alarm_indicator(movement_alarm_enabled(), state);
 
     watch_set_colon();
 
@@ -120,7 +120,7 @@ bool weeknumber_clock_face_loop(movement_event_t event, movement_settings_t *set
             }
             watch_display_string(buf, pos);
             // handle alarm indicator
-            if (state->alarm_enabled != settings->bit.alarm_enabled) _update_alarm_indicator(settings->bit.alarm_enabled, state);
+            if (state->alarm_enabled != movement_alarm_enabled()) _update_alarm_indicator(movement_alarm_enabled(), state);
             break;
         case EVENT_ALARM_LONG_PRESS:
             state->signal_enabled = !state->signal_enabled;
index a123f0e07a8a76f850ba53af09255fbf51b9b9c8..54b01c31285da5413b3c3f3f0de6360a373836f5 100644 (file)
@@ -169,7 +169,7 @@ static void _alarm_update_alarm_enabled(movement_settings_t *settings, alarm_sta
             }
         }
     }
-    settings->bit.alarm_enabled = active_alarms;
+    movement_set_alarm_enabled(active_alarms);
 }
 
 static void _alarm_play_short_beep(uint8_t pitch_idx) {
index d3c2786850cfca258d94b135259c4bf71f1ad02a..7723d8be0536ff01d98d6c0711eabf0b6bcdb9c3 100644 (file)
@@ -58,7 +58,7 @@ void simple_clock_face_activate(movement_settings_t *settings, void *context) {
     else watch_clear_indicator(WATCH_INDICATOR_BELL);
 
     // show alarm indicator if there is an active alarm
-    _update_alarm_indicator(settings->bit.alarm_enabled, state);
+    _update_alarm_indicator(movement_alarm_enabled(), state);
 
     watch_set_colon();
 
@@ -130,7 +130,7 @@ bool simple_clock_face_loop(movement_event_t event, movement_settings_t *setting
             }
 
             // handle alarm indicator
-            if (state->alarm_enabled != settings->bit.alarm_enabled) _update_alarm_indicator(settings->bit.alarm_enabled, state);
+            if (state->alarm_enabled != movement_alarm_enabled()) _update_alarm_indicator(movement_alarm_enabled(), state);
             break;
         case EVENT_ALARM_LONG_PRESS:
             state->signal_enabled = !state->signal_enabled;