Skip to content

Commit a83d1d7

Browse files
committed
Update wheel to colorwheel and fix RGB order.
1 parent 37e5ff7 commit a83d1d7

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

shared-bindings/_pixelbuf/__init__.c

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,36 +53,39 @@
5353
//| PixelBuf
5454

5555

56-
//| .. function:: wheel(n)
56+
//| .. function:: colorwheel(n)
5757
//|
5858
//| C implementation of the common wheel() function found in many examples.
5959
//| Returns the colorwheel RGB value as an integer value for n (usable in :py:class:`PixelBuf`, neopixel, and dotstar).
6060
//|
61+
//| .. function:: wheel(n)
62+
//| Use of wheel() is deprecated. Please use colorwheel().
6163

62-
STATIC mp_obj_t pixelbuf_wheel(mp_obj_t n) {
64+
STATIC mp_obj_t pixelbuf_colorwheel(mp_obj_t n) {
6365
return MP_OBJ_NEW_SMALL_INT(colorwheel(MP_OBJ_IS_SMALL_INT(n) ? MP_OBJ_SMALL_INT_VALUE(n) : mp_obj_float_get(n)));
6466
}
65-
STATIC MP_DEFINE_CONST_FUN_OBJ_1(pixelbuf_wheel_obj, pixelbuf_wheel);
67+
STATIC MP_DEFINE_CONST_FUN_OBJ_1(pixelbuf_colorwheel_obj, pixelbuf_colorwheel);
6668

6769
const int32_t colorwheel(float pos) {
6870
if (pos > 255) {
6971
pos = pos - ((uint32_t)(pos / 256) * 256);
7072
}
7173
if (pos < 85)
72-
return (uint8_t)(255 - (pos * 3)) << 16 | (uint8_t)(pos * 3);
74+
return (uint8_t)(255 - (pos * 3)) << 16 | (uint8_t)(pos * 3) << 8;
7375
else if (pos < 170) {
7476
pos -= 85;
75-
return (uint8_t)(pos * 3) << 16 | (uint8_t)(255 - (pos * 3)) << 8;
77+
return (uint8_t)(255 - (pos * 3)) << 8 | (uint8_t)(pos * 3);
7678
} else {
7779
pos -= 170;
78-
return (uint8_t)(pos * 3) << 8 | (uint8_t)(255 - pos * 3);
80+
return (uint8_t)(pos * 3) << 16 | (uint8_t)(255 - (pos * 3));
7981
}
8082
}
8183

8284
STATIC const mp_rom_map_elem_t pixelbuf_module_globals_table[] = {
8385
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR__pixelbuf) },
8486
{ MP_ROM_QSTR(MP_QSTR_PixelBuf), MP_ROM_PTR(&pixelbuf_pixelbuf_type) },
85-
{ MP_ROM_QSTR(MP_QSTR_wheel), MP_ROM_PTR(&pixelbuf_wheel_obj) },
87+
{ MP_ROM_QSTR(MP_QSTR_wheel), MP_ROM_PTR(&pixelbuf_colorwheel_obj) },
88+
{ MP_ROM_QSTR(MP_QSTR_colorwheel), MP_ROM_PTR(&pixelbuf_colorwheel_obj) },
8689
};
8790

8891
STATIC MP_DEFINE_CONST_DICT(pixelbuf_module_globals, pixelbuf_module_globals_table);

0 commit comments

Comments
 (0)