_pixelbuf
– A fast RGB(W) pixel buffer library for like NeoPixel and DotStar¶
The _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”.
-
_pixelbuf.
colorwheel
(n: float) → int¶ C implementation of the common wheel() function found in many examples. Returns the colorwheel RGB value as an integer value for n (usable in
PixelBuf
, neopixel, and dotstar).
-
class
_pixelbuf.
PixelBuf
(size: int, *, byteorder: str = 'BGR', brightness: float = 0, auto_write: bool = False, header: ReadableBuffer = b'', trailer: 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.
-
bpp
:int¶ The number of bytes per pixel in the buffer (read-only)
-
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.
-
auto_write
:bool¶ Whether to automatically write the pixels after each update.
-
byteorder
:str¶ byteorder string for the buffer (read-only)
-
show
(self) → None¶ Transmits the color data to the pixels so that they are shown. This is done automatically when
auto_write
is True.
-
fill
(self, color: Union[int, Tuple[int, int, int], Tuple[int, int, int, float]]) → None¶ Fills the given pixelbuf with the given color.