]> git.earman.xyz Git - sensor-watch.git/commitdiff
isolating this bit of complexity in movement function; Add ifdefs in clock faces...
authorDavid Volovskiy <devolov@gmail.com>
Wed, 10 Jul 2024 11:22:55 +0000 (07:22 -0400)
committerDavid Volovskiy <devolov@gmail.com>
Wed, 10 Jul 2024 11:22:55 +0000 (07:22 -0400)
movement/movement.c
movement/watch_faces/clock/clock_face.c
movement/watch_faces/clock/simple_clock_face.c

index 2ca2eb98879fb99e65a714e940c24ebdedff497c..7363a8b932cbb2bf184d71e520cc7ba90d40fc2c 100644 (file)
@@ -328,6 +328,14 @@ static void end_buzzing_and_disable_buzzer(void) {
     watch_disable_buzzer();
 }
 
+static void set_initial_clock_mode(void) {
+#ifdef CLOCK_FACE_24H_ONLY
+    movement_state.settings.bit.clock_mode_24h = true;
+#else
+    movement_state.settings.bit.clock_mode_24h = MOVEMENT_DEFAULT_24H_MODE;
+#endif
+}
+
 void movement_play_signal(void) {
     void *maybe_disable_buzzer = end_buzzing_and_disable_buzzer;
     if (watch_is_buzzer_or_led_enabled()) {
@@ -376,12 +384,7 @@ void app_init(void) {
 #endif
 
     memset(&movement_state, 0, sizeof(movement_state));
-
-#ifdef CLOCK_FACE_24H_ONLY
-    movement_state.settings.bit.clock_mode_24h = true;
-#else
-    movement_state.settings.bit.clock_mode_24h = MOVEMENT_DEFAULT_24H_MODE;
-#endif
+    set_initial_clock_mode();
     movement_state.settings.bit.led_red_color = MOVEMENT_DEFAULT_RED_COLOR;
     movement_state.settings.bit.led_green_color = MOVEMENT_DEFAULT_GREEN_COLOR;
     movement_state.settings.bit.button_should_sound = MOVEMENT_DEFAULT_BUTTON_SOUND;
index 0e3a59599b43e163ac3a9e1352d23d8e44ce2ad3..8b294c40c806b4d31db81bfff80700274c3d9b77 100644 (file)
@@ -53,7 +53,11 @@ typedef struct {
 } clock_state_t;
 
 static bool clock_is_in_24h_mode(movement_settings_t *settings) {
+#ifdef CLOCK_FACE_24H_ONLY
+    return true;
+#else
     return settings->bit.clock_mode_24h;
+#endif
 }
 
 static void clock_indicate(WatchIndicatorSegment indicator, bool on) {
index fbc2c4b3ea71aefb8b32615b8c413e1cd2c8a0f5..ac4ec2ee5f9dc1088ec41d5b0270d11153ff052c 100644 (file)
@@ -51,7 +51,11 @@ void simple_clock_face_activate(movement_settings_t *settings, void *context) {
 
     if (watch_tick_animation_is_running()) watch_stop_tick_animation();
 
+#ifdef CLOCK_FACE_24H_ONLY
+    watch_set_indicator(WATCH_INDICATOR_24H);
+#else
     if (settings->bit.clock_mode_24h) watch_set_indicator(WATCH_INDICATOR_24H);
+#endif
 
     // handle chime indicator
     if (state->signal_enabled) watch_set_indicator(WATCH_INDICATOR_BELL);
@@ -106,6 +110,7 @@ bool simple_clock_face_loop(movement_event_t event, movement_settings_t *setting
                 sprintf(buf, "%02d%02d", date_time.unit.minute, date_time.unit.second);
             } else {
                 // other stuff changed; let's do it all.
+#ifndef CLOCK_FACE_24H_ONLY
                 if (!settings->bit.clock_mode_24h) {
                     // if we are in 12 hour mode, do some cleanup.
                     if (date_time.unit.hour < 12) {
@@ -116,6 +121,7 @@ bool simple_clock_face_loop(movement_event_t event, movement_settings_t *setting
                     date_time.unit.hour %= 12;
                     if (date_time.unit.hour == 0) date_time.unit.hour = 12;
                 }
+#endif
                 pos = 0;
                 if (event.event_type == EVENT_LOW_ENERGY_UPDATE) {
                     if (!watch_tick_animation_is_running()) watch_start_tick_animation(500);