diff --git a/movement.c b/movement.c index 14e8832e..8caf5e16 100644 --- a/movement.c +++ b/movement.c @@ -257,11 +257,15 @@ static inline void _movement_reset_inactivity_countdown(void) { movement_volatile_state.enter_sleep_mode = false; - watch_rtc_register_comp_callback_no_schedule( - cb_sleep_timeout_interrupt, - counter + movement_le_inactivity_deadlines[movement_state.settings.bit.le_interval] * freq, - SLEEP_TIMEOUT - ); + if (movement_state.settings.bit.le_interval == 0) { + watch_rtc_disable_comp_callback_no_schedule(SLEEP_TIMEOUT); + } else { + watch_rtc_register_comp_callback_no_schedule( + cb_sleep_timeout_interrupt, + counter + movement_le_inactivity_deadlines[movement_state.settings.bit.le_interval] * freq, + SLEEP_TIMEOUT + ); + } movement_volatile_state.schedule_next_comp = true; } diff --git a/watch-faces/settings/settings_face.c b/watch-faces/settings/settings_face.c index 73bdadc1..a0f1e45d 100644 --- a/watch-faces/settings/settings_face.c +++ b/watch-faces/settings/settings_face.c @@ -293,7 +293,10 @@ void settings_face_setup(uint8_t watch_face_index, void ** context_ptr) { settings_state_t *state = (settings_state_t *)*context_ptr; int8_t current_setting = 0; - state->num_settings = 7; // baseline, without LED settings + state->num_settings = 6; // baseline, without LED settings +#ifndef MOVEMENT_LOW_ENERGY_MODE_FORBIDDEN + state->num_settings++; +#endif #ifdef BUILD_GIT_HASH state->num_settings++; #endif