Skip to content

Commit c40f333

Browse files
committed
revise color input errors
1 parent b454f96 commit c40f333

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

neopixel.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,8 @@ def _set_item(self, index, value):
131131
b = 0
132132
w = 0
133133
if isinstance(value, int):
134+
if value>>24:
135+
raise ValueError("only bits 0->23 valid for integer input")
134136
r = value >> 16
135137
g = (value >> 8) & 0xff
136138
b = value & 0xff
@@ -142,9 +144,9 @@ def _set_item(self, index, value):
142144
r = 0
143145
g = 0
144146
b = 0
145-
elif len(value) == self.bpp:
146-
if self.bpp == 3:
147-
r, g, b = value
147+
elif (len(value) == self.bpp) or ((len(value) == 3) and (self.bpp == 4)):
148+
if len(value) == 3:
149+
r, g, b = value[0:3]
148150
else:
149151
r, g, b, w = value
150152
else:

0 commit comments

Comments
 (0)