27 lines
741 B
Python
27 lines
741 B
Python
'''
|
|
Simple PixelBuf wrapper for the IS31FL3731 controller used for the Keybow2040's RGB LEDs.
|
|
'''
|
|
|
|
import board
|
|
|
|
from adafruit_is31fl3731.keybow2040 import Keybow2040 as KeybowLeds
|
|
from adafruit_pixelbuf import PixelBuf
|
|
|
|
|
|
class Keybow2040Leds(PixelBuf):
|
|
'''
|
|
Minimal PixelBuf wrapper for the Keybow 2040's LED array.
|
|
'''
|
|
|
|
def __init__(self, size: int):
|
|
self.leds = KeybowLeds(board.I2C())
|
|
self._pixels = size
|
|
super().__init__(size, byteorder='RGB')
|
|
|
|
def _transmit(self, buffer):
|
|
for pixel in range(self._pixels):
|
|
r = buffer[pixel * 3 + 0]
|
|
g = buffer[pixel * 3 + 1]
|
|
b = buffer[pixel * 3 + 2]
|
|
self.leds.pixelrgb(pixel // 4, pixel % 4, r, g, b)
|