Skip to content

Commit 456b173

Browse files
committed
removed slicing for bytearray assignments; non-express boards don't implement array slicing
1 parent a4897aa commit 456b173

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

adafruit_trellis.py

+9-10
Original file line numberDiff line numberDiff line change
@@ -82,20 +82,20 @@ def __getitem__(self, x):
8282
raise ValueError(('LED number must be between 0 -', self._parent._num_leds - 1))
8383
led = ledLUT[x % 16] >> 4
8484
mask = 1 << (ledLUT[x % 16] & 0x0f)
85-
return bool(((self._parent._led_buffer[x // 16][led * 2] | \
86-
self._parent._led_buffer[x // 16][(led * 2) + 1] << 8) & mask) > 0)
85+
return bool(((self._parent._led_buffer[x // 16][(led * 2) + 1] | \
86+
self._parent._led_buffer[x // 16][(led * 2) + 2] << 8) & mask) > 0)
8787

8888
def __setitem__(self, x, value):
8989
if 0 < x >= self._parent._num_leds:
9090
raise ValueError(('LED number must be between 0 -', self._parent._num_leds - 1))
9191
led = ledLUT[x % 16] >> 4
9292
mask = 1 << (ledLUT[x % 16] & 0x0f)
9393
if value:
94-
self._parent._led_buffer[x // 16][led * 2] |= mask
95-
self._parent._led_buffer[x // 16][(led * 2) + 1] |= mask >> 8
94+
self._parent._led_buffer[x // 16][(led * 2) + 1] |= mask
95+
self._parent._led_buffer[x // 16][(led * 2) + 2] |= mask >> 8
9696
elif not value:
97-
self._parent._led_buffer[x // 16][led * 2] &= ~mask
98-
self._parent._led_buffer[x // 16][(led * 2) + 1] &= ~mask >> 8
97+
self._parent._led_buffer[x // 16][(led * 2) + 1] &= ~mask
98+
self._parent._led_buffer[x // 16][(led * 2) + 2] &= ~mask >> 8
9999
else:
100100
raise ValueError("LED value must be True or False")
101101

@@ -105,7 +105,7 @@ def __setitem__(self, x, value):
105105
def fill(self, on):
106106
fill = 0xff if on else 0x00
107107
for buff in range(len(self._parent._i2c_devices)):
108-
for i in range(16):
108+
for i in range(1, 16):
109109
self._parent._led_buffer[buff][i] = fill
110110
if self._parent._auto_show:
111111
self._parent.show()
@@ -196,10 +196,9 @@ def brightness(self, brightness):
196196

197197
def show(self):
198198
"""Refresh the LED buffer and show the changes."""
199-
temp_led_buffer = bytearray(self._num_leds + 1)
200199
pos = 0
201200
for device in self._i2c_devices:
202-
temp_led_buffer[1:] = self._led_buffer[pos]
201+
temp_led_buffer = bytearray(self._led_buffer[pos])
203202
with device:
204203
device.write(temp_led_buffer)
205204
pos += 1
@@ -224,7 +223,7 @@ def read_buttons(self):
224223
lists: 1 for new button presses, 1 for button relases.
225224
"""
226225
for i in range(len(self._buttons)):
227-
self._buttons[i][0][:] = self._buttons[i][1][:]
226+
self._buttons[i][0] = bytearray(self._buttons[i][1])
228227
self._write_cmd(_HT16K33_KEY_READ_CMD)
229228
pos = 0
230229
for device in self._i2c_devices:

0 commit comments

Comments
 (0)