]> Repositories - hackapet/Adafruit_Blinka.git/blobdiff - src/adafruit_blinka/microcontroller/raspi_23/neopixel.py
Merge pull request #46 from pdp7/master
[hackapet/Adafruit_Blinka.git] / src / adafruit_blinka / microcontroller / raspi_23 / neopixel.py
index 5e99cf24f4c91750a67dddf6ec6abfb0ecd15cab..6dab8dc9d1676ba2c5b8b31cb02db04d9d3f22f0 100644 (file)
@@ -57,11 +57,12 @@ def neopixel_write(gpio, buf):
         raise RuntimeError("Raspberry Pi neopixel support is for one strip only!")
 
     # assign all colors!
         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]
+        g = buf[3*i+1]
+        b = buf[3*i+2]
+        pixel = (r << 16) | (g << 8) | b
+        ws.ws2811_led_set(channel, i, pixel)
     
     resp = ws.ws2811_render(_led_strip)
     if resp != ws.WS2811_SUCCESS:
     
     resp = ws.ws2811_render(_led_strip)
     if resp != ws.WS2811_SUCCESS: