diff options
-rw-r--r-- | make.mk | 6 | ||||
-rw-r--r-- | movement/watch_faces/clock/clock_face.c | 13 |
2 files changed, 17 insertions, 2 deletions
@@ -229,3 +229,9 @@ endif ifeq ($(BOARD), OSO-FEAL-A1-00) CFLAGS += -DCRYSTALLESS endif + +# Build options to customize movement and faces + +ifdef CLOCK_FACE_24H_ONLY +CFLAGS += -DCLOCK_FACE_24H_ONLY +endif diff --git a/movement/watch_faces/clock/clock_face.c b/movement/watch_faces/clock/clock_face.c index 6d40fe15..eab5cd8d 100644 --- a/movement/watch_faces/clock/clock_face.c +++ b/movement/watch_faces/clock/clock_face.c @@ -42,6 +42,10 @@ #define CLOCK_FACE_LOW_BATTERY_VOLTAGE_THRESHOLD 2200 #endif +#ifndef CLOCK_FACE_24H_ONLY +#define CLOCK_FACE_24H_ONLY 0 +#endif + typedef struct { struct { watch_date_time previous; @@ -52,6 +56,11 @@ typedef struct { bool battery_low; } clock_state_t; +static bool clock_is_in_24h_mode(movement_settings_t *settings) { + if (CLOCK_FACE_24H_ONLY) { return true; } + return settings->bit.clock_mode_24h; +} + static void clock_indicate(WatchIndicatorSegment indicator, bool on) { if (on) { watch_set_indicator(indicator); @@ -69,7 +78,7 @@ static void clock_indicate_time_signal(clock_state_t *clock) { } static void clock_indicate_24h(movement_settings_t *settings) { - clock_indicate(WATCH_INDICATOR_24H, settings->bit.clock_mode_24h); + clock_indicate(WATCH_INDICATOR_24H, clock_is_in_24h_mode(settings)); } static bool clock_is_pm(watch_date_time date_time) { @@ -167,7 +176,7 @@ static bool clock_display_some(watch_date_time current, watch_date_time previous static void clock_display_clock(movement_settings_t *settings, clock_state_t *clock, watch_date_time current) { if (!clock_display_some(current, clock->date_time.previous)) { - if (!settings->bit.clock_mode_24h) { + if (!clock_is_in_24h_mode(settings)) { // if we are in 12 hour mode, do some cleanup. clock_indicate_pm(settings, current); current = clock_24h_to_12h(current); |