From 33a9e6b93221de5137c6afd8b5e357c6256c7422 Mon Sep 17 00:00:00 2001 From: foamyguy Date: Mon, 2 May 2022 12:27:34 -0500 Subject: [PATCH] button debouncing in the gif example --- examples/rgb_display_pillow_animated_gif.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/examples/rgb_display_pillow_animated_gif.py b/examples/rgb_display_pillow_animated_gif.py index d4e5a6d..7fca4ce 100644 --- a/examples/rgb_display_pillow_animated_gif.py +++ b/examples/rgb_display_pillow_animated_gif.py @@ -133,6 +133,8 @@ def preload(self): def play(self): self.preload() + _prev_advance_btn_val = self.advance_button.value + _prev_back_btn_val = self.back_button.value # Check if we have loaded any files first if not self._gif_files: print("There are no Gif Images loaded to Play") @@ -141,12 +143,17 @@ def play(self): for frame_object in self._frames: start_time = time.monotonic() self.display.image(frame_object.image) - if not self.advance_button.value: + _cur_advance_btn_val = self.advance_button.value + _cur_back_btn_val = self.back_button.value + if not _cur_advance_btn_val and _prev_advance_btn_val: self.advance() return False - if not self.back_button.value: + if not _cur_back_btn_val and _prev_back_btn_val: self.back() return False + + _prev_back_btn_val = _cur_back_btn_val + _prev_advance_btn_val = _cur_advance_btn_val while time.monotonic() < (start_time + frame_object.duration / 1000): pass