From 8e2bf8591a70742addfd169832f03aa76210961c Mon Sep 17 00:00:00 2001 From: Joey Castillo Date: Fri, 3 Dec 2021 11:30:36 -0500 Subject: movement: allow watch faces to request zero ticks --- movement/movement.c | 2 +- movement/movement_config.h | 1 + movement/watch_faces/demos/character_set_face.c | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) (limited to 'movement') diff --git a/movement/movement.c b/movement/movement.c index b41700b0..f627dbf5 100644 --- a/movement/movement.c +++ b/movement/movement.c @@ -104,7 +104,7 @@ void movement_request_tick_frequency(uint8_t freq) { RTC->MODE2.INTENCLR.reg = 0xFE; // disable all callbacks except the 128 Hz one movement_state.subsecond = 0; movement_state.tick_frequency = freq; - watch_rtc_register_periodic_callback(cb_tick, freq); + if (freq) watch_rtc_register_periodic_callback(cb_tick, freq); } void movement_illuminate_led() { diff --git a/movement/movement_config.h b/movement/movement_config.h index 2ef43ef0..b6b3c350 100644 --- a/movement/movement_config.h +++ b/movement/movement_config.h @@ -18,6 +18,7 @@ const watch_face_t watch_faces[] = { simple_clock_face, + character_set_face, preferences_face, set_time_face, }; diff --git a/movement/watch_faces/demos/character_set_face.c b/movement/watch_faces/demos/character_set_face.c index 7daea5a9..eabb133f 100644 --- a/movement/watch_faces/demos/character_set_face.c +++ b/movement/watch_faces/demos/character_set_face.c @@ -12,6 +12,7 @@ void character_set_face_activate(movement_settings_t *settings, void *context) { (void) settings; char *c = (char *)context; *c = '@'; + movement_request_tick_frequency(0); } bool character_set_face_loop(movement_event_t event, movement_settings_t *settings, void *context) { @@ -33,8 +34,6 @@ bool character_set_face_loop(movement_event_t event, movement_settings_t *settin sprintf(buf, "%c%c%c%c%c%c%c%c%c%c", *c, *c, *c, *c, *c, *c, *c, *c, *c, *c); watch_display_string(buf, 0); break; - case EVENT_TICK: - break; case EVENT_TIMEOUT: movement_move_to_face(0); break; @@ -48,4 +47,5 @@ bool character_set_face_loop(movement_event_t event, movement_settings_t *settin void character_set_face_resign(movement_settings_t *settings, void *context) { (void) settings; (void) context; + movement_request_tick_frequency(1); } -- cgit v1.2.3