more bug fixing.

This commit is contained in:
CiscoTheWolf 2023-05-29 20:23:33 +02:00
parent 39022dc18c
commit 810e6f71d2
2 changed files with 29 additions and 24 deletions

View file

@ -1,5 +1,3 @@
import time
import random
from PIL import Image
class ProotState:
@ -82,28 +80,13 @@ class ProotState:
matrix.SwapOnVSync(self.frame_canvas_prootScreen_3)
def update_screen(blinkFrameCanvases, matrix):
def update_screen(blinkFrameCanvases, matrix):
proot_state = ProotState()
if proot_state.get_blinks_frames_ready():
# TODO move blinking animation writing logic to the ProotState class
matrix.SwapOnVSync(blinkFrameCanvases[proot_state.next_blink_frame_number()])
else:
proot_state.set_ProotScreen(matrix)
def interrupt_timer(blinkFrameCanvases, matrix):
while True:
update_screen(blinkFrameCanvases, matrix)
time.sleep(0.01)
def random_blinks():
while True:
time.sleep(random.randint(3, 5))
proot_state = ProotState()
if proot_state.get_blinks_frames_ready():
proot_state.blink()
# TODO move blinking animation writing logic to the ProotState class
matrix.SwapOnVSync(blinkFrameCanvases[proot_state.next_blink_frame_number()])
else:
proot_state.set_ProotScreen(matrix)

View file

@ -2,6 +2,8 @@ from rgbmatrix import RGBMatrix, RGBMatrixOptions
import Point2D
import ProotState
import time
import random
from PIL import Image
import paho.mqtt.client as mqtt
import time
@ -28,8 +30,27 @@ print("configuring matrix took: " + str(endT - startT) + " ms")
blinkFrameCanvases = []
def interrupt_timer():
global blinkFrameCanvases, matrix
proot_state = ProotState()
while True:
proot_state.update_screen(blinkFrameCanvases, matrix)
time.sleep(0.01)
def random_blinks():
while True:
time.sleep(random.randint(3, 5))
proot_state = ProotState()
if proot_state.get_blinks_frames_ready():
proot_state.blink()
# Create and start screen update interrupts
screen_update_thread = threading.Thread(target=ProotState.interrupt_timer(blinkFrameCanvases, matrix))
screen_update_thread = threading.Thread(target=ProotState.interrupt_timer)
screen_update_thread.start()
# Create and start random blinks interrupts
@ -100,6 +121,7 @@ endT = curr_time = round(time.time()*1000)
print("populating matrices for each blink frame took: " + str(endT - startT) + " ms")
proot_state = ProotState.ProotState()
proot_state.set_matrix(matrix)
proot_state.set_blinks_frames_ready(True)
proot_state.blink()