:mod:`_pixelbuf` ================ .. py:module:: _pixelbuf .. autoapi-nested-parse:: A fast RGB(W) pixel buffer library for like NeoPixel and DotStar The `_pixelbuf` module provides the :py:class:`PixelBuf` class to accelerate RGB(W) strip/matrix manipulation, such as DotStar and Neopixel. Byteorders are configured with strings, such as "RGB" or "RGBD". .. function:: 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 :py:class:`PixelBuf`, neopixel, and dotstar). .. function:: wheel(n: float) -> int Use of wheel() is deprecated. Please use colorwheel(). .. py:class:: 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. :param int size: Number of pixels :param str byteorder: Byte order string (such as "RGB", "RGBW" or "PBGR") :param float brightness: Brightness (0 to 1.0, default 1.0) :param bool auto_write: Whether to automatically write pixels (Default False) :param ~_typing.ReadableBuffer header: Sequence of bytes to always send before pixel values. :param ~_typing.ReadableBuffer trailer: Sequence of bytes to always send after pixel values. .. attribute:: bpp :annotation: :int The number of bytes per pixel in the buffer (read-only) .. attribute:: brightness :annotation: :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. .. attribute:: auto_write :annotation: :bool Whether to automatically write the pixels after each update. .. attribute:: byteorder :annotation: :str byteorder string for the buffer (read-only) .. method:: show(self) -> None Transmits the color data to the pixels so that they are shown. This is done automatically when `auto_write` is True. .. method:: fill(self, color: Union[int, Tuple[int, int, int], Tuple[int, int, int, float]]) -> None Fills the given pixelbuf with the given color. .. method:: __getitem__(self, index: slice) -> Union[Tuple[Tuple[int, int, int], ...], Tuple[Tuple[int, int, int, float], ...]] .. method:: __setitem__(self, index: slice, value: Tuple[Union[int, Tuple[float, ...], List[float]], ...]) -> None