From a83da2c004a28238e526c6bc1701bfc87c0734fc Mon Sep 17 00:00:00 2001 From: CiscoTheWolf Date: Tue, 23 May 2023 22:10:51 +0200 Subject: [PATCH] Fixed bug where next frame calculation of blink animation could go negative --- rpi/antRender.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/rpi/antRender.py b/rpi/antRender.py index 1caa0fb..8f46e7e 100644 --- a/rpi/antRender.py +++ b/rpi/antRender.py @@ -41,9 +41,12 @@ class ProotState: return cls._instance def next_blink_frame_number(self) -> int: - if self.current_blink_state == self.desired_blink_state and self.current_blink_state == 10: + if self.current_blink_state == self.desired_blink_state == 10: self.desired_blink_state = 0 return self.current_blink_state + + if self.current_blink_state == self.desired_blink_state == 0: + return self.current_blink_state if self.current_blink_state < self.desired_blink_state: self.current_blink_state += 1 @@ -201,9 +204,7 @@ def update_screen(): proot_state = ProotState() if proot_state.get_blinks_frames_ready(): - frame_number = proot_state.next_blink_frame_number() - print(frame_number) - matrix.SwapOnVSync(blinkFrameCanvases[frame_number]) + matrix.SwapOnVSync(blinkFrameCanvases[proot_state.next_blink_frame_number()]) def interrupt_timer():