diff --git a/rpi/ProotState.py b/rpi/ProotState.py index 91c64a3..3e525fd 100644 --- a/rpi/ProotState.py +++ b/rpi/ProotState.py @@ -16,7 +16,11 @@ class ProotState: cls._instance.frame_canvas_prootScreen_1 = False cls._instance.frame_canvas_prootScreen_2 = False cls._instance.frame_canvas_prootScreen_3 = False + cls._instance.matrix = False return cls._instance + + def set_matrix(self, matrix): + self.matrix = matrix def next_blink_frame_number(self) -> int: if self.current_blink_state == self.desired_blink_state == 10: @@ -78,8 +82,7 @@ class ProotState: matrix.SwapOnVSync(self.frame_canvas_prootScreen_3) -def update_screen(): - global blinkFrameCanvases, matrix +def update_screen(blinkFrameCanvases, matrix): proot_state = ProotState() @@ -90,9 +93,9 @@ def update_screen(): proot_state.set_ProotScreen(matrix) -def interrupt_timer(): +def interrupt_timer(blinkFrameCanvases, matrix): while True: - update_screen() + update_screen(blinkFrameCanvases, matrix) time.sleep(0.01) diff --git a/rpi/antRender.py b/rpi/antRender.py index b233850..54b97f6 100644 --- a/rpi/antRender.py +++ b/rpi/antRender.py @@ -29,7 +29,7 @@ blinkFrameCanvases = [] # Create and start screen update interrupts -screen_update_thread = threading.Thread(target=ProotState.interrupt_timer) +screen_update_thread = threading.Thread(target=ProotState.interrupt_timer(blinkFrameCanvases, matrix)) screen_update_thread.start() # Create and start random blinks interrupts