From: ladyada Date: Fri, 31 Aug 2018 18:05:34 +0000 (-0400) Subject: less cute pixel splitting X-Git-Tag: 0.2.4^2~3 X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/commitdiff_plain/66d90bbbfda01c57fa58f38de704b489b7dd6902?ds=inline less cute pixel splitting --- diff --git a/src/adafruit_blinka/microcontroller/raspi_23/neopixel.py b/src/adafruit_blinka/microcontroller/raspi_23/neopixel.py index 5e99cf2..381d4f6 100644 --- a/src/adafruit_blinka/microcontroller/raspi_23/neopixel.py +++ b/src/adafruit_blinka/microcontroller/raspi_23/neopixel.py @@ -57,11 +57,12 @@ def neopixel_write(gpio, buf): raise RuntimeError("Raspberry Pi neopixel support is for one strip only!") # assign all colors! - # bad way - pixels = zip(*[iter(buf)]*3) - for i, pixel in enumerate(pixels): - #print(pixel) - ws.ws2811_led_set(channel, i, pixel[0]<<16 | pixel[1] << 8 | pixel[2]) + for i in range(len(buf) // 3): + r = buf[3*i] & 0xFF + g = buf[3*i+1] & 0xFF + b = buf[3*i+2] & 0xFF + pixel = (r << 16) | (g << 8) | b + ws.ws2811_led_set(channel, i, pixel) resp = ws.ws2811_render(_led_strip) if resp != ws.WS2811_SUCCESS: