altered roy-test.py to not make use of the basesample.py
This commit is contained in:
parent
ce5c53f27a
commit
a405925b40
1 changed files with 34 additions and 31 deletions
|
@ -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)
|
Loading…
Reference in a new issue