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();
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);
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;
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:
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]) {
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()) {
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:
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;
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:
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:
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:
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.
// 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;
// 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;
(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);