From 0bec3c22c444c7482c5d3e29a4e418fb2e2eaeb7 Mon Sep 17 00:00:00 2001 From: joeycastillo Date: Sun, 29 Sep 2024 08:09:11 -0400 Subject: [PATCH] refactor movement's unit preference to a function call --- movement.c | 8 ++++++++ movement.h | 3 +++ .../complication/kitchen_conversions_face.c | 8 ++++---- .../watch_faces/sensor/alarm_thermometer_face.c | 14 +++++++------- movement/watch_faces/sensor/minmax_face.c | 8 ++++---- .../watch_faces/sensor/thermistor_logging_face.c | 6 +++--- .../watch_faces/sensor/thermistor_readout_face.c | 8 ++++---- .../watch_faces/sensor/thermistor_testing_face.c | 6 +++--- 8 files changed, 36 insertions(+), 25 deletions(-) diff --git a/movement.c b/movement.c index 34452237..3321005e 100644 --- a/movement.c +++ b/movement.c @@ -345,6 +345,14 @@ void movement_set_clock_mode_24h(movement_clock_mode_t value) { movement_state.settings.bit.clock_mode_24h = (value == MOVEMENT_CLOCK_MODE_24H); } +bool movement_use_imperial_units(void) { + return movement_state.settings.bit.use_imperial_units; +} + +void movement_set_use_imperial_units(bool value) { + movement_state.settings.bit.use_imperial_units = value; +} + void app_init(void) { _watch_init(); diff --git a/movement.h b/movement.h index a071f94e..d5b183ec 100644 --- a/movement.h +++ b/movement.h @@ -330,3 +330,6 @@ void movement_set_button_should_sound(bool value); movement_clock_mode_t movement_clock_mode_24h(void); 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); diff --git a/movement/watch_faces/complication/kitchen_conversions_face.c b/movement/watch_faces/complication/kitchen_conversions_face.c index 9d1a92dd..9d71165a 100644 --- a/movement/watch_faces/complication/kitchen_conversions_face.c +++ b/movement/watch_faces/complication/kitchen_conversions_face.c @@ -84,9 +84,9 @@ static void reset_state(kitchen_conversions_state_t *state, movement_settings_t state->pg = measurement; state->measurement_i = 0; state->from_i = 0; - state->from_is_us = settings->bit.use_imperial_units; // If uses imperial, most likely to be US + state->from_is_us = movement_use_imperial_units(); // If uses imperial, most likely to be US state->to_i = 0; - state->to_is_us = settings->bit.use_imperial_units; + state->to_is_us = movement_use_imperial_units(); state->selection_value = 0; state->selection_index = 0; state->light_held = false; @@ -395,12 +395,12 @@ bool kitchen_conversions_face_loop(movement_event_t event, movement_settings_t * case from: state->from_i = 0; - state->from_is_us = settings->bit.use_imperial_units; + state->from_is_us = movement_use_imperial_units(); break; case to: state->to_i = 0; - state->to_is_us = settings->bit.use_imperial_units; + state->to_is_us = movement_use_imperial_units(); break; case input: diff --git a/movement/watch_faces/sensor/alarm_thermometer_face.c b/movement/watch_faces/sensor/alarm_thermometer_face.c index 5184df99..e4827e3d 100644 --- a/movement/watch_faces/sensor/alarm_thermometer_face.c +++ b/movement/watch_faces/sensor/alarm_thermometer_face.c @@ -70,19 +70,19 @@ bool alarm_thermometer_face_loop(movement_event_t event, movement_settings_t *se switch (event.event_type) { case EVENT_ACTIVATE: - _alarm_thermometer_face_update(settings->bit.use_imperial_units); + _alarm_thermometer_face_update(movement_use_imperial_units()); break; case EVENT_TICK: if (watch_rtc_get_date_time().unit.second % 5 == 0) { switch (state->mode) { case MODE_NORMAL: - _alarm_thermometer_face_update(settings->bit.use_imperial_units); + _alarm_thermometer_face_update(movement_use_imperial_units()); break; case MODE_ALARM: for (size_t i = LAST_SIZE - 1; i > 0; i--) { state->last[i] = state->last[i - 1]; } - state->last[0] = roundf(_alarm_thermometer_face_update(settings->bit.use_imperial_units) * 10.0f); + state->last[0] = roundf(_alarm_thermometer_face_update(movement_use_imperial_units()) * 10.0f); bool constant = true; for (size_t i = 1; i < LAST_SIZE; i++) { if (state->last[i - 1] != state->last[i]) { @@ -116,7 +116,7 @@ bool alarm_thermometer_face_loop(movement_event_t event, movement_settings_t *se case MODE_ALARM: state->mode = MODE_NORMAL; watch_clear_indicator(WATCH_INDICATOR_BELL); - _alarm_thermometer_face_update(settings->bit.use_imperial_units); + _alarm_thermometer_face_update(movement_use_imperial_units()); break; } if (movement_button_should_sound()) { @@ -125,8 +125,8 @@ bool alarm_thermometer_face_loop(movement_event_t event, movement_settings_t *se break; case EVENT_ALARM_LONG_PRESS: if (state->mode != MODE_FREEZE) { - settings->bit.use_imperial_units = !settings->bit.use_imperial_units; - _alarm_thermometer_face_update(settings->bit.use_imperial_units); + movement_set_use_imperial_units(!movement_use_imperial_units()); + _alarm_thermometer_face_update(movement_use_imperial_units()); } break; case EVENT_LOW_ENERGY_UPDATE: @@ -137,7 +137,7 @@ bool alarm_thermometer_face_loop(movement_event_t event, movement_settings_t *se watch_start_tick_animation(1000); } if (watch_rtc_get_date_time().unit.minute % 5 == 0) { - _alarm_thermometer_face_update(settings->bit.use_imperial_units); + _alarm_thermometer_face_update(movement_use_imperial_units()); watch_display_string(" ", 8); } break; diff --git a/movement/watch_faces/sensor/minmax_face.c b/movement/watch_faces/sensor/minmax_face.c index 82f3b7ee..f35760c6 100644 --- a/movement/watch_faces/sensor/minmax_face.c +++ b/movement/watch_faces/sensor/minmax_face.c @@ -107,13 +107,13 @@ bool minmax_face_loop(movement_event_t event, movement_settings_t *settings, voi switch (event.event_type) { case EVENT_ACTIVATE: temp_c = _get_displayed_temperature_c(state); - _minmax_face_update_display(temp_c, settings->bit.use_imperial_units); + _minmax_face_update_display(temp_c, movement_use_imperial_units()); break; case EVENT_LIGHT_LONG_PRESS: - settings->bit.use_imperial_units = !settings->bit.use_imperial_units; + movement_set_use_imperial_units(!movement_use_imperial_units()); temp_c = _get_displayed_temperature_c(state); - _minmax_face_update_display(temp_c, settings->bit.use_imperial_units); + _minmax_face_update_display(temp_c, movement_use_imperial_units()); break; case EVENT_ALARM_BUTTON_UP: @@ -124,7 +124,7 @@ bool minmax_face_loop(movement_event_t event, movement_settings_t *settings, voi watch_display_string("MX", 0); } temp_c = _get_displayed_temperature_c(state); - _minmax_face_update_display(temp_c, settings->bit.use_imperial_units); + _minmax_face_update_display(temp_c, movement_use_imperial_units()); break; case EVENT_TIMEOUT: diff --git a/movement/watch_faces/sensor/thermistor_logging_face.c b/movement/watch_faces/sensor/thermistor_logging_face.c index 63db33ce..7c8d5b98 100644 --- a/movement/watch_faces/sensor/thermistor_logging_face.c +++ b/movement/watch_faces/sensor/thermistor_logging_face.c @@ -100,18 +100,18 @@ bool thermistor_logging_face_loop(movement_event_t event, movement_settings_t *s break; case EVENT_LIGHT_BUTTON_DOWN: logger_state->ts_ticks = 2; - _thermistor_logging_face_update_display(logger_state, settings->bit.use_imperial_units, movement_clock_mode_24h()); + _thermistor_logging_face_update_display(logger_state, movement_use_imperial_units(), movement_clock_mode_24h()); break; case EVENT_ALARM_BUTTON_DOWN: logger_state->display_index = (logger_state->display_index + 1) % THERMISTOR_LOGGING_NUM_DATA_POINTS; logger_state->ts_ticks = 0; // fall through case EVENT_ACTIVATE: - _thermistor_logging_face_update_display(logger_state, settings->bit.use_imperial_units, movement_clock_mode_24h()); + _thermistor_logging_face_update_display(logger_state, movement_use_imperial_units(), movement_clock_mode_24h()); break; case EVENT_TICK: if (logger_state->ts_ticks && --logger_state->ts_ticks == 0) { - _thermistor_logging_face_update_display(logger_state, settings->bit.use_imperial_units, movement_clock_mode_24h()); + _thermistor_logging_face_update_display(logger_state, movement_use_imperial_units(), movement_clock_mode_24h()); } break; case EVENT_BACKGROUND_TASK: diff --git a/movement/watch_faces/sensor/thermistor_readout_face.c b/movement/watch_faces/sensor/thermistor_readout_face.c index 2b8ea18d..74b3ef75 100644 --- a/movement/watch_faces/sensor/thermistor_readout_face.c +++ b/movement/watch_faces/sensor/thermistor_readout_face.c @@ -58,8 +58,8 @@ bool thermistor_readout_face_loop(movement_event_t event, movement_settings_t *s watch_date_time date_time = watch_rtc_get_date_time(); switch (event.event_type) { case EVENT_ALARM_BUTTON_DOWN: - settings->bit.use_imperial_units = !settings->bit.use_imperial_units; - _thermistor_readout_face_update_display(settings->bit.use_imperial_units); + movement_set_use_imperial_units(!movement_use_imperial_units()); + _thermistor_readout_face_update_display(movement_use_imperial_units()); break; case EVENT_ACTIVATE: // force a measurement to be taken immediately. @@ -72,7 +72,7 @@ bool thermistor_readout_face_loop(movement_event_t event, movement_settings_t *s // In reality the measurement takes a fraction of a second, but this is just to show something is happening. watch_set_indicator(WATCH_INDICATOR_SIGNAL); } else if (date_time.unit.second % 5 == 0) { - _thermistor_readout_face_update_display(settings->bit.use_imperial_units); + _thermistor_readout_face_update_display(movement_use_imperial_units()); watch_clear_indicator(WATCH_INDICATOR_SIGNAL); } break; @@ -85,7 +85,7 @@ bool thermistor_readout_face_loop(movement_event_t event, movement_settings_t *s // update every 5 minutes if (date_time.unit.minute % 5 == 0) { watch_clear_indicator(WATCH_INDICATOR_SIGNAL); - _thermistor_readout_face_update_display(settings->bit.use_imperial_units); + _thermistor_readout_face_update_display(movement_use_imperial_units()); watch_display_string(" ", 8); } break; diff --git a/movement/watch_faces/sensor/thermistor_testing_face.c b/movement/watch_faces/sensor/thermistor_testing_face.c index 10addc04..ca6cebf1 100644 --- a/movement/watch_faces/sensor/thermistor_testing_face.c +++ b/movement/watch_faces/sensor/thermistor_testing_face.c @@ -60,12 +60,12 @@ bool thermistor_testing_face_loop(movement_event_t event, movement_settings_t *s (void) context; switch (event.event_type) { case EVENT_ALARM_BUTTON_DOWN: - settings->bit.use_imperial_units = !settings->bit.use_imperial_units; - _thermistor_testing_face_update_display(settings->bit.use_imperial_units); + movement_set_use_imperial_units(!movement_use_imperial_units()); + _thermistor_testing_face_update_display(movement_use_imperial_units()); break; case EVENT_ACTIVATE: case EVENT_TICK: - _thermistor_testing_face_update_display(settings->bit.use_imperial_units); + _thermistor_testing_face_update_display(movement_use_imperial_units()); break; default: movement_default_loop_handler(event, settings);