rp2_neopixel: Optimize NeoPixel.fill

This commit is contained in:
2024-05-31 19:02:54 +02:00
parent 1f310432b0
commit 89a8dd0a68

View File

@@ -69,9 +69,10 @@ class NeoPixel:
return tuple((self.buf[i] >> (self.ORDER[b] * 8)) & 0xff for b in range(self.bpp))
def fill(self, v):
# todo: optimize?
for i in range(self.n):
self[i] = v
val = 0
for b in range(self.bpp):
val |= v[b] << (self.ORDER[b] * 8)
self.buf = array('I', [val]*self.n)
def write(self):
self.statemachine.put(self.buf)