@@ -58,13 +58,13 @@ static void parse_byteorder(mp_obj_t byteorder_obj, pixelbuf_byteorder_details_t
58
58
//| When brightness is less than 1.0, a second buffer will be used to store the color values
59
59
//| before they are adjusted for brightness.
60
60
//|
61
- //| When ``P`` (pwm duration) is present as the first character of the byteorder
61
+ //| When ``P`` (PWM duration) is present as the first character of the byteorder
62
62
//| string, the 4th value in the tuple/list for a pixel is the individual pixel
63
- //| brightness (0.0-1.0) and will enable a Dotstar compatible 1st byte in the
63
+ //| brightness (0.0-1.0) and will enable a DotStar compatible 1st byte in the
64
64
//| output buffer (``buf``).
65
65
//|
66
66
//| :param ~int size: Number of pixels
67
- //| :param ~str byteorder: Byte order string (such as "BGR" or "BGRP ")
67
+ //| :param ~str byteorder: Byte order string (such as "RGB", "RGBW" or "PBGR ")
68
68
//| :param ~float brightness: Brightness (0 to 1.0, default 1.0)
69
69
//| :param ~bool auto_write: Whether to automatically write pixels (Default False)
70
70
//| :param bytes header: Sequence of bytes to always send before pixel values.
@@ -281,13 +281,16 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_2(pixelbuf_pixelbuf_fill_obj, pixelbuf_pixelbuf_f
281
281
//| .. method:: __getitem__(index)
282
282
//|
283
283
//| Returns the pixel value at the given index as a tuple of (Red, Green, Blue[, White]) values
284
- //| between 0 and 255.
284
+ //| between 0 and 255. When in PWM (DotStar) mode, the 4th tuple value is a float of the pixel
285
+ //| intensity from 0-1.0.
285
286
//|
286
287
//| .. method:: __setitem__(index, value)
287
288
//|
288
- //| Sets the pixel value at the given index. Value can either be a tuple of (Red, Green, Blue
289
- //| [, White]) values between 0 and 255 or an integer where the red, green and blue values are
290
- //| packed into the lower three bytes (0xRRGGBB).
289
+ //| Sets the pixel value at the given index. Value can either be a tuple or integer. Tuples are
290
+ //| The individual (Red, Green, Blue[, White]) values between 0 and 255. If given an integer, the
291
+ //| red, green and blue values are packed into the lower three bytes (0xRRGGBB).
292
+ //| For RGBW byteorders, if given only RGB values either as an int or as a tuple, the white value
293
+ //| is used instead when red, green, and blue are the same value.
291
294
//|
292
295
STATIC mp_obj_t pixelbuf_pixelbuf_subscr (mp_obj_t self_in , mp_obj_t index_in , mp_obj_t value ) {
293
296
if (value == MP_OBJ_NULL ) {
0 commit comments