adafruit_pixelbuf
– A fast RGB(W) pixel buffer library for like NeoPixel and DotStar
The adafruit_pixelbuf
module provides the PixelBuf
class to accelerate
RGB(W) strip/matrix manipulation, such as DotStar and Neopixel.
Byteorders are configured with strings, such as “RGB” or “RGBD”.
Available on these boards
- adafruit_pixelbuf.PixelReturnType
- adafruit_pixelbuf.PixelReturnSequence
- adafruit_pixelbuf.PixelType
- adafruit_pixelbuf.PixelSequence
- class adafruit_pixelbuf.PixelBuf(size: int, *, byteorder: str = 'BGR', brightness: float = 0, auto_write: bool = False, header: circuitpython_typing.ReadableBuffer = b'', trailer: circuitpython_typing.ReadableBuffer = b'')
A fast RGB[W] pixel buffer for LED and similar devices.
Create a PixelBuf object of the specified size, byteorder, and bits per pixel.
When brightness is less than 1.0, a second buffer will be used to store the color values before they are adjusted for brightness.
When
P
(PWM duration) is present as the 4th character of the byteorder string, the 4th value in the tuple/list for a pixel is the individual pixel brightness (0.0-1.0) and will enable a Dotstar compatible 1st byte for each pixel.- Parameters:
size (int) – Number of pixels
byteorder (str) – Byte order string (such as “RGB”, “RGBW” or “PBGR”)
brightness (float) – Brightness (0 to 1.0, default 1.0)
auto_write (bool) – Whether to automatically write pixels (Default False)
header (ReadableBuffer) – Sequence of bytes to always send before pixel values.
trailer (ReadableBuffer) – Sequence of bytes to always send after pixel values.
- brightness: float
Float value between 0 and 1. Output brightness.
When brightness is less than 1.0, a second buffer will be used to store the color values before they are adjusted for brightness.
- show() None
Transmits the color data to the pixels so that they are shown. This is done automatically when
auto_write
is True.
- __getitem__(index: slice) PixelReturnSequence
- __getitem__(index: int) PixelReturnType
Returns the pixel value at the given index as a tuple of (Red, Green, Blue[, White]) values between 0 and 255. When in PWM (DotStar) mode, the 4th tuple value is a float of the pixel intensity from 0-1.0.
- __setitem__(index: slice, value: PixelSequence) None
- __setitem__(index: int, value: PixelType) None
Sets the pixel value at the given index. Value can either be a tuple or integer. Tuples are The individual (Red, Green, Blue[, White]) values between 0 and 255. If given an integer, the red, green and blue values are packed into the lower three bytes (0xRRGGBB). For RGBW byteorders, if given only RGB values either as an int or as a tuple, the white value is used instead when the red, green, and blue values are the same.