class DriverAdaMatrix(DriverBase): # rows: height of the matrix, same as led-matrix example # chain: number of LEDMatrix panels, same as led-matrix example def __init__(self, rows=32, chain=1): super(DriverAdaMatrix, self).__init__(rows * 32 * chain) self._matrix = Adafruit_RGBmatrix(rows, chain) #Push new data to strand def update(self, data): self._matrix.SetBuffer(data) #Matrix supports between 2^1 and 2^11 levels of PWM #which translates to the total color bit-depth possible #A lower value will take up less CPU cycles def SetPWMBits(self, bits): if bits < 1 or bits > 11: raise ValueError("PWM level must be between 1 and 11") self._matrix.SetPWMBits(bits)
# Flash screen red, green, blue (packed color values) matrix.Fill(0xFF0000) time.sleep(1.0) matrix.Fill(0x00FF00) time.sleep(1.0) matrix.Fill(0x0000FF) time.sleep(1.0) while 1: buf = [] for y in range(64): for x in range(96): buf.extend([ random.randint(0, 255), random.randint(0, 255), random.randint(0, 255) ]) # print len(buf) matrix.SetBuffer(buf) #time.sleep(0.01) # Show RGB test pattern (separate R, G, B color values) for b in range(16): for g in range(8): for r in range(8): matrix.SetPixel((b / 4) * 8 + g, (b & 3) * 8 + r, (r * 0b001001001) / 2, (g * 0b001001001) / 2, b * 0b00010001) time.sleep(10.0) matrix.Clear()