import time import numpy as np import colorsys import random try: import rpi_ws281x as ws except ImportError: from unittest.mock import Mock ws = Mock() SETUP_FAIL = True class ClockOut: def __init__(self): self.shape = (45, 20) # H x W num = self.shape[0] * self.shape[1] pin = 18 freq = 800000 # maybe higher dma = 5 invert = False brightness = 100 channel = 0 led_type = None # ?? self.strip = ws.PixelStrip(num, pin, freq, dma, invert, brightness, channel, led_type) self.strip.begin() def put(self, matrix): self.render(matrix) def render(self, matrix): p = 0 for i in range(matrix.shape[0]): for j in range(matrix.shape[1]): col = int(ws.Color(*matrix[i,j])) self.strip.setPixelColor(p, col) p += 1 self.strip.show() # test = ClockOut() # z = np.zeros((30,30, 3), dtype=int) # for i in range(30): # for j in range(30): # z[i, j, ...] = [random.randint(0,255), random.randint(0,255), random.randint(0,255)] # test.put(z) # #time.sleep(0.1)