def on(self): blue_modulo = 3 for i in range(self.n): NeoPixel.__setitem__(self, i, (255, 0, 0)) if i % blue_modulo == 0: NeoPixel.__setitem__(self, i, (61, 0, 255)) NeoPixel.write(self) self._on = True
def demo(self, program="cycle"): self.off() try: n = self.n if program == "cycle": for i in range(4 * n): for j in range(n): NeoPixel.__setitem__(self, j, [0, 0, 0]) NeoPixel.__setitem__(self, i % n, [255, 255, 255]) NeoPixel.write(self) time.sleep_ms(25) elif program == "bounce": for i in range(4 * n): for j in range(n): NeoPixel.__setitem__(self, j, [0, 0, 128]) if (i // n) % 2 == 0: NeoPixel.__setitem__(self, i % n, [0, 0, 0]) else: NeoPixel.__setitem__(self, n - 1 - (i % n), [0, 0, 0]) NeoPixel.write(self) time.sleep_ms(60) elif program == "fade": for i in range(0, 4 * 256, 8): for j in range(n): if (i // 256) % 2 == 0: val = i & 0xff else: val = 255 - (i & 0xff) NeoPixel.__setitem__(self, j, [val, 0, 128]) NeoPixel.write(self) finally: self.off()