refactor movement's unit preference to a function call

This commit is contained in:
joeycastillo 2024-09-29 08:09:11 -04:00
parent c5e5bc1200
commit 0bec3c22c4
8 changed files with 36 additions and 25 deletions

View File

@ -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); 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) { void app_init(void) {
_watch_init(); _watch_init();

View File

@ -330,3 +330,6 @@ void movement_set_button_should_sound(bool value);
movement_clock_mode_t movement_clock_mode_24h(void); movement_clock_mode_t movement_clock_mode_24h(void);
void movement_set_clock_mode_24h(movement_clock_mode_t value); 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);

View File

@ -84,9 +84,9 @@ static void reset_state(kitchen_conversions_state_t *state, movement_settings_t
state->pg = measurement; state->pg = measurement;
state->measurement_i = 0; state->measurement_i = 0;
state->from_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_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_value = 0;
state->selection_index = 0; state->selection_index = 0;
state->light_held = false; state->light_held = false;
@ -395,12 +395,12 @@ bool kitchen_conversions_face_loop(movement_event_t event, movement_settings_t *
case from: case from:
state->from_i = 0; state->from_i = 0;
state->from_is_us = settings->bit.use_imperial_units; state->from_is_us = movement_use_imperial_units();
break; break;
case to: case to:
state->to_i = 0; state->to_i = 0;
state->to_is_us = settings->bit.use_imperial_units; state->to_is_us = movement_use_imperial_units();
break; break;
case input: case input:

View File

@ -70,19 +70,19 @@ bool alarm_thermometer_face_loop(movement_event_t event, movement_settings_t *se
switch (event.event_type) { switch (event.event_type) {
case EVENT_ACTIVATE: case EVENT_ACTIVATE:
_alarm_thermometer_face_update(settings->bit.use_imperial_units); _alarm_thermometer_face_update(movement_use_imperial_units());
break; break;
case EVENT_TICK: case EVENT_TICK:
if (watch_rtc_get_date_time().unit.second % 5 == 0) { if (watch_rtc_get_date_time().unit.second % 5 == 0) {
switch (state->mode) { switch (state->mode) {
case MODE_NORMAL: case MODE_NORMAL:
_alarm_thermometer_face_update(settings->bit.use_imperial_units); _alarm_thermometer_face_update(movement_use_imperial_units());
break; break;
case MODE_ALARM: case MODE_ALARM:
for (size_t i = LAST_SIZE - 1; i > 0; i--) { for (size_t i = LAST_SIZE - 1; i > 0; i--) {
state->last[i] = state->last[i - 1]; 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; bool constant = true;
for (size_t i = 1; i < LAST_SIZE; i++) { for (size_t i = 1; i < LAST_SIZE; i++) {
if (state->last[i - 1] != state->last[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: case MODE_ALARM:
state->mode = MODE_NORMAL; state->mode = MODE_NORMAL;
watch_clear_indicator(WATCH_INDICATOR_BELL); watch_clear_indicator(WATCH_INDICATOR_BELL);
_alarm_thermometer_face_update(settings->bit.use_imperial_units); _alarm_thermometer_face_update(movement_use_imperial_units());
break; break;
} }
if (movement_button_should_sound()) { if (movement_button_should_sound()) {
@ -125,8 +125,8 @@ bool alarm_thermometer_face_loop(movement_event_t event, movement_settings_t *se
break; break;
case EVENT_ALARM_LONG_PRESS: case EVENT_ALARM_LONG_PRESS:
if (state->mode != MODE_FREEZE) { if (state->mode != MODE_FREEZE) {
settings->bit.use_imperial_units = !settings->bit.use_imperial_units; movement_set_use_imperial_units(!movement_use_imperial_units());
_alarm_thermometer_face_update(settings->bit.use_imperial_units); _alarm_thermometer_face_update(movement_use_imperial_units());
} }
break; break;
case EVENT_LOW_ENERGY_UPDATE: 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); watch_start_tick_animation(1000);
} }
if (watch_rtc_get_date_time().unit.minute % 5 == 0) { 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); watch_display_string(" ", 8);
} }
break; break;

View File

@ -107,13 +107,13 @@ bool minmax_face_loop(movement_event_t event, movement_settings_t *settings, voi
switch (event.event_type) { switch (event.event_type) {
case EVENT_ACTIVATE: case EVENT_ACTIVATE:
temp_c = _get_displayed_temperature_c(state); 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; break;
case EVENT_LIGHT_LONG_PRESS: 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); 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; break;
case EVENT_ALARM_BUTTON_UP: 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); watch_display_string("MX", 0);
} }
temp_c = _get_displayed_temperature_c(state); 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; break;
case EVENT_TIMEOUT: case EVENT_TIMEOUT:

View File

@ -100,18 +100,18 @@ bool thermistor_logging_face_loop(movement_event_t event, movement_settings_t *s
break; break;
case EVENT_LIGHT_BUTTON_DOWN: case EVENT_LIGHT_BUTTON_DOWN:
logger_state->ts_ticks = 2; 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; break;
case EVENT_ALARM_BUTTON_DOWN: case EVENT_ALARM_BUTTON_DOWN:
logger_state->display_index = (logger_state->display_index + 1) % THERMISTOR_LOGGING_NUM_DATA_POINTS; logger_state->display_index = (logger_state->display_index + 1) % THERMISTOR_LOGGING_NUM_DATA_POINTS;
logger_state->ts_ticks = 0; logger_state->ts_ticks = 0;
// fall through // fall through
case EVENT_ACTIVATE: 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; break;
case EVENT_TICK: case EVENT_TICK:
if (logger_state->ts_ticks && --logger_state->ts_ticks == 0) { 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; break;
case EVENT_BACKGROUND_TASK: case EVENT_BACKGROUND_TASK:

View File

@ -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(); watch_date_time date_time = watch_rtc_get_date_time();
switch (event.event_type) { switch (event.event_type) {
case EVENT_ALARM_BUTTON_DOWN: case EVENT_ALARM_BUTTON_DOWN:
settings->bit.use_imperial_units = !settings->bit.use_imperial_units; movement_set_use_imperial_units(!movement_use_imperial_units());
_thermistor_readout_face_update_display(settings->bit.use_imperial_units); _thermistor_readout_face_update_display(movement_use_imperial_units());
break; break;
case EVENT_ACTIVATE: case EVENT_ACTIVATE:
// force a measurement to be taken immediately. // 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. // 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); watch_set_indicator(WATCH_INDICATOR_SIGNAL);
} else if (date_time.unit.second % 5 == 0) { } 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); watch_clear_indicator(WATCH_INDICATOR_SIGNAL);
} }
break; break;
@ -85,7 +85,7 @@ bool thermistor_readout_face_loop(movement_event_t event, movement_settings_t *s
// update every 5 minutes // update every 5 minutes
if (date_time.unit.minute % 5 == 0) { if (date_time.unit.minute % 5 == 0) {
watch_clear_indicator(WATCH_INDICATOR_SIGNAL); 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); watch_display_string(" ", 8);
} }
break; break;

View File

@ -60,12 +60,12 @@ bool thermistor_testing_face_loop(movement_event_t event, movement_settings_t *s
(void) context; (void) context;
switch (event.event_type) { switch (event.event_type) {
case EVENT_ALARM_BUTTON_DOWN: case EVENT_ALARM_BUTTON_DOWN:
settings->bit.use_imperial_units = !settings->bit.use_imperial_units; movement_set_use_imperial_units(!movement_use_imperial_units());
_thermistor_testing_face_update_display(settings->bit.use_imperial_units); _thermistor_testing_face_update_display(movement_use_imperial_units());
break; break;
case EVENT_ACTIVATE: case EVENT_ACTIVATE:
case EVENT_TICK: case EVENT_TICK:
_thermistor_testing_face_update_display(settings->bit.use_imperial_units); _thermistor_testing_face_update_display(movement_use_imperial_units());
break; break;
default: default:
movement_default_loop_handler(event, settings); movement_default_loop_handler(event, settings);