diff options
author | Jeremy O'Brien <neutral@fastmail.com> | 2023-01-23 15:15:57 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-23 14:15:57 -0600 |
commit | 3cd8e5c47ed1e0fa45b4cd29a42d9e606a12fcab (patch) | |
tree | 4f01b90ec291893a415c117ac05e4a59dabb22a4 | |
parent | 8d20b46fec6e24d8a9e6bf13c24a2b65b2615dc9 (diff) | |
download | Sensor-Watch-3cd8e5c47ed1e0fa45b4cd29a42d9e606a12fcab.tar.gz Sensor-Watch-3cd8e5c47ed1e0fa45b4cd29a42d9e606a12fcab.tar.bz2 Sensor-Watch-3cd8e5c47ed1e0fa45b4cd29a42d9e606a12fcab.zip |
tarot: avoid mandatory function call on every tick (#185)
-rw-r--r-- | movement/watch_faces/complication/tarot_face.c | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/movement/watch_faces/complication/tarot_face.c b/movement/watch_faces/complication/tarot_face.c index fe29f8a7..39feaf15 100644 --- a/movement/watch_faces/complication/tarot_face.c +++ b/movement/watch_faces/complication/tarot_face.c @@ -179,30 +179,28 @@ static void pick_cards(tarot_state_t *state) { } static void display_animation(tarot_state_t *state) { - if (state->is_picking) { - if (state->animation_frame == 0) { - watch_display_string(" ", 7); - watch_set_pixel(1, 4); - watch_set_pixel(1, 6); - state->animation_frame = 1; - } else if (state->animation_frame == 1) { - watch_clear_pixel(1, 4); - watch_clear_pixel(1, 6); - watch_set_pixel(2, 4); - watch_set_pixel(0, 6); - state->animation_frame = 2; - } else if (state->animation_frame == 2) { - watch_clear_pixel(2, 4); - watch_clear_pixel(0, 6); - watch_set_pixel(2, 5); - watch_set_pixel(0, 5); - state->animation_frame = 3; - } else if (state->animation_frame == 3) { - state->animation_frame = 0; - state->is_picking = false; - movement_request_tick_frequency(1); - tarot_display(state); - } + if (state->animation_frame == 0) { + watch_display_string(" ", 7); + watch_set_pixel(1, 4); + watch_set_pixel(1, 6); + state->animation_frame = 1; + } else if (state->animation_frame == 1) { + watch_clear_pixel(1, 4); + watch_clear_pixel(1, 6); + watch_set_pixel(2, 4); + watch_set_pixel(0, 6); + state->animation_frame = 2; + } else if (state->animation_frame == 2) { + watch_clear_pixel(2, 4); + watch_clear_pixel(0, 6); + watch_set_pixel(2, 5); + watch_set_pixel(0, 5); + state->animation_frame = 3; + } else if (state->animation_frame == 3) { + state->animation_frame = 0; + state->is_picking = false; + movement_request_tick_frequency(1); + tarot_display(state); } } @@ -246,7 +244,9 @@ bool tarot_face_loop(movement_event_t event, movement_settings_t *settings, void tarot_display(state); break; case EVENT_TICK: - display_animation(state); + if (state->is_picking) { + display_animation(state); + } break; case EVENT_MODE_BUTTON_UP: movement_move_to_next_face(); |