Settings display no longer clears every second as it shows a flicker on some watches

This commit is contained in:
David Volovskiy
2026-05-31 07:56:42 -04:00
parent a8ea642d35
commit f64fccd2af
+21 -1
View File
@@ -31,6 +31,8 @@ static void clock_setting_display(uint8_t subsecond) {
if (subsecond % 2) { if (subsecond % 2) {
if (movement_clock_mode_24h()) watch_display_text(WATCH_POSITION_BOTTOM, "24h"); if (movement_clock_mode_24h()) watch_display_text(WATCH_POSITION_BOTTOM, "24h");
else watch_display_text(WATCH_POSITION_BOTTOM, "12h"); else watch_display_text(WATCH_POSITION_BOTTOM, "12h");
} else {
watch_display_text(WATCH_POSITION_BOTTOM, " ");
} }
} }
@@ -55,6 +57,8 @@ static void beep_setting_display(uint8_t subsecond) {
// N for NONE // N for NONE
watch_display_text(WATCH_POSITION_TOP_RIGHT, " N"); watch_display_text(WATCH_POSITION_TOP_RIGHT, " N");
} }
} else {
watch_display_text(WATCH_POSITION_TOP_RIGHT, " ");
} }
} }
@@ -89,6 +93,8 @@ static void signal_setting_display(uint8_t subsecond) {
// L for LOW // L for LOW
watch_display_text(WATCH_POSITION_TOP_RIGHT, " L"); watch_display_text(WATCH_POSITION_TOP_RIGHT, " L");
} }
} else {
watch_display_text(WATCH_POSITION_TOP_RIGHT, " ");
} }
} }
@@ -118,6 +124,8 @@ static void alarm_setting_display(uint8_t subsecond) {
// L for LOW // L for LOW
watch_display_text(WATCH_POSITION_TOP_RIGHT, " L"); watch_display_text(WATCH_POSITION_TOP_RIGHT, " L");
} }
} else {
watch_display_text(WATCH_POSITION_TOP_RIGHT, " ");
} }
} }
@@ -152,6 +160,8 @@ static void timeout_setting_display(uint8_t subsecond) {
watch_display_text(WATCH_POSITION_BOTTOM, "30n&in"); watch_display_text(WATCH_POSITION_BOTTOM, "30n&in");
break; break;
} }
} else {
watch_display_text(WATCH_POSITION_BOTTOM, " ");
} }
} }
@@ -188,6 +198,8 @@ static void low_energy_setting_display(uint8_t subsecond) {
watch_display_text(WATCH_POSITION_BOTTOM, " 7 day"); watch_display_text(WATCH_POSITION_BOTTOM, " 7 day");
break; break;
} }
} else {
watch_display_text(WATCH_POSITION_BOTTOM, " ");
} }
} }
@@ -208,6 +220,8 @@ static void led_duration_setting_display(uint8_t subsecond) {
sprintf(buf, " %1d SeC", (movement_get_backlight_dwell() * 2 - 1) % 10); sprintf(buf, " %1d SeC", (movement_get_backlight_dwell() * 2 - 1) % 10);
watch_display_text(WATCH_POSITION_BOTTOM, buf); watch_display_text(WATCH_POSITION_BOTTOM, buf);
} }
} else {
watch_display_text(WATCH_POSITION_BOTTOM, " ");
} }
} }
@@ -228,6 +242,8 @@ static void red_led_setting_display(uint8_t subsecond) {
if (subsecond % 2) { if (subsecond % 2) {
sprintf(buf, "%2d", color.red); sprintf(buf, "%2d", color.red);
watch_display_text(WATCH_POSITION_TOP_RIGHT, buf); watch_display_text(WATCH_POSITION_TOP_RIGHT, buf);
} else {
watch_display_text(WATCH_POSITION_TOP_RIGHT, " ");
} }
} }
@@ -246,6 +262,8 @@ static void green_led_setting_display(uint8_t subsecond) {
if (subsecond % 2) { if (subsecond % 2) {
sprintf(buf, "%2d", color.green); sprintf(buf, "%2d", color.green);
watch_display_text(WATCH_POSITION_TOP_RIGHT, buf); watch_display_text(WATCH_POSITION_TOP_RIGHT, buf);
} else {
watch_display_text(WATCH_POSITION_TOP_RIGHT, " ");
} }
} }
@@ -264,6 +282,8 @@ static void blue_led_setting_display(uint8_t subsecond) {
if (subsecond % 2) { if (subsecond % 2) {
sprintf(buf, "%2d", color.blue); sprintf(buf, "%2d", color.blue);
watch_display_text(WATCH_POSITION_TOP_RIGHT, buf); watch_display_text(WATCH_POSITION_TOP_RIGHT, buf);
} else {
watch_display_text(WATCH_POSITION_TOP_RIGHT, " ");
} }
} }
@@ -380,10 +400,10 @@ bool settings_face_loop(movement_event_t event, void *context) {
switch (event.event_type) { switch (event.event_type) {
case EVENT_LIGHT_BUTTON_DOWN: case EVENT_LIGHT_BUTTON_DOWN:
state->current_page = (state->current_page + 1) % state->num_settings; state->current_page = (state->current_page + 1) % state->num_settings;
watch_clear_display();
// fall through // fall through
case EVENT_TICK: case EVENT_TICK:
case EVENT_ACTIVATE: case EVENT_ACTIVATE:
watch_clear_display();
state->settings_screens[state->current_page].display(event.subsecond); state->settings_screens[state->current_page].display(event.subsecond);
break; break;
case EVENT_MODE_BUTTON_UP: case EVENT_MODE_BUTTON_UP: