From 19672edcfbf7f3a906d13092fd647f35ad0c7382 Mon Sep 17 00:00:00 2001 From: James Wu Date: Thu, 20 Jul 2023 00:27:37 +0000 Subject: [PATCH] fix settings/nanosec correction_profile bounds --- movement/watch_faces/settings/nanosec_face.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/movement/watch_faces/settings/nanosec_face.c b/movement/watch_faces/settings/nanosec_face.c index 87f567d3..b9655c1d 100644 --- a/movement/watch_faces/settings/nanosec_face.c +++ b/movement/watch_faces/settings/nanosec_face.c @@ -249,6 +249,10 @@ static void value_increase(int16_t delta) { break; case 4: // Profile nanosec_state.correction_profile = (nanosec_state.correction_profile + delta) % nanosec_profile_count; + // if ALARM decreases profile below 0, roll back around + if (nanosec_state.correction_profile < 0) { + nanosec_state.correction_profile += nanosec_profile_count; + } break; case 5: // Cadence switch (nanosec_state.correction_cadence) { @@ -330,7 +334,11 @@ bool nanosec_face_loop(movement_event_t event, movement_settings_t *settings, vo value_increase(-1); break; case EVENT_ALARM_LONG_PRESS: - value_increase(-50); + if (nanosec_screen == 4) { // If we are in profile - still decrease by 1 + value_increase(-1); + } else { + value_increase(-50); + } break; case EVENT_TIMEOUT: // Your watch face will receive this event after a period of inactivity. If it makes sense to resign,