altered roy-test.py to not make use of the basesample.py

This commit is contained in:
CiscoTheWolf 2023-05-18 10:13:13 +02:00
parent ce5c53f27a
commit a405925b40

View file

@ -1,42 +1,39 @@
from samplebase import SampleBase
from rgbmatrix import RGBMatrix, RGBMatrixOptions
import paho.mqtt.client as mqtt
import time
class PulsingColors(SampleBase):
color = 0
def __init__(self, *args, **kwargs):
super(PulsingColors, self).__init__(*args, **kwargs)
def run(self):
self.offscreen_canvas = self.matrix.CreateFrameCanvas()
continuum = 0
# Configuration for the matrix
options = RGBMatrixOptions()
options.rows = 32
options.chain_length = 1
options.parallel = 1
options.hardware_mapping = 'regular' # If you have an Adafruit HAT: 'adafruit-hat'
matrix = RGBMatrix(options = options)
while True:
self.usleep(5 * 1000)
# offscreen canvas that can be written to which can then be set to the matrix async
offscreen_canvas = matrix.CreateFrameCanvas()
if(self.color == 1):
self.offscreen_canvas.Fill(255,255,255)
else:
self.offscreen_canvas_Fill(255,0,0)
self.offscreen_canvas.brightness = 100
self.offscreen_canvas = self.matrix.SwapOnVSync(self.offscreen_canvas)
def toggleColor(self):
if(self.color == 1):
self.color = 0
else:
self.color = 1
color = 0
def toggleColor(self):
global color
if(color == 1):
color = 0
else:
color = 1
def on_connect(client, userdata, flags, rc):
print("Connected to MQTT broker with result code " + str(rc))
client.subscribe("test")
def on_message(client, userdata, msg):
print("Received message: " + str(msg.payload.decode("utf-8")))
pulsing_colors.toggleColor()
pulsing_colors.run()
def on_message(client, userdata, message):
print("Received message '" + str(message.payload) + "' on topic '"
+ message.topic + "' with QoS " + str(message.qos))
toggleColor()
pulsing_colors = PulsingColors()
client = mqtt.Client()
client.on_connect = on_connect
@ -44,9 +41,15 @@ client.on_message = on_message
client.connect("10.1.13.173", 1883, 60) # Replace with your MQTT broker's address
client.loop_forever()
client.loop_start()
# Main function
if __name__ == "__main__":
if (not pulsing_colors.process()):
pulsing_colors.print_help()
while True:
time.sleep(0.005)
if(color == 1):
offscreen_canvas.Fill(255,255,255)
else:
offscreen_canvas.Fill(255,0,0)
offscreen_canvas.brightness = 50
offscreen_canvas = matrix.SwapOnVSync(offscreen_canvas)