diff --git a/light_manager.py b/light_manager.py index e4aa98b..a1e2ccc 100644 --- a/light_manager.py +++ b/light_manager.py @@ -4,15 +4,16 @@ import board import logging def defaultPattern(n, t): - return (255, 0, 200) + return (0, 0, 255) class LightStrip: - def __init__(self, data_pin = board.D18, string_length = 300, brightness = 1, pixel_order = neopixel.GRB): + def __init__(self, data_pin = board.D18, string_length = 300, brightness = 1, pixel_order = neopixel.GRB, max_changes = 5): self.data_pin = data_pin self.np = neopixel.NeoPixel(self.data_pin, string_length, brightness = brightness, auto_write=True, pixel_order = pixel_order) self.pattern = defaultPattern self.cur_tick = 0 + self.max_changes = max_changes def set_light_level(self, level): self.np.brightness = level @@ -23,11 +24,14 @@ class LightStrip: np = self.np t = self.cur_tick n = np.n + changes = 0 for i in range(n): col = self.pattern(i, t) logging.debug("TEST VALUES: np {} col {} same {}".format(np[i], col, tuple(np[i]) != col)) if tuple(np[i]) != col: + changes = changes + 1 np[i] = col logging.debug("CHANGE COLOR OF PIXEL {} TO {} ON TICK {}".format(i, col, t)) - break; + if changes >= self.max_changes: + break; self.cur_tick = t + 1 \ No newline at end of file