From 8e98d44603c7ace4177b0072d6299451e1e7e8a9 Mon Sep 17 00:00:00 2001 From: Kattni Rembor Date: Fri, 9 Nov 2018 15:15:43 -0500 Subject: [PATCH 1/2] Add toggle demo. --- examples/trellism4_neopixel_toggle.py | 45 +++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 examples/trellism4_neopixel_toggle.py diff --git a/examples/trellism4_neopixel_toggle.py b/examples/trellism4_neopixel_toggle.py new file mode 100755 index 0000000..9d819e5 --- /dev/null +++ b/examples/trellism4_neopixel_toggle.py @@ -0,0 +1,45 @@ +import adafruit_trellism4 + +trellis = adafruit_trellism4.TrellisM4Express() + + +def wheel(pos): + if pos < 0 or pos > 255: + return 0, 0, 0 + if pos < 85: + return int(255 - pos * 3), int(pos * 3), 0 + if pos < 170: + pos -= 85 + return 0, int(255 - pos * 3), int(pos * 3) + pos -= 170 + return int(pos * 3), 0, int(255 - (pos * 3)) + + +trellis.pixels.fill((0, 0, 0)) + +led_on = [] + +for x in range(trellis.pixels.width): + led_on.append([]) + for y in range(trellis.pixels.height): + led_on[x].append(False) + +current_press = set() + +while True: + pressed = set(trellis.pressed_keys) + + for press in pressed - current_press: + x, y = press + if not led_on[x][y]: + print("Turning on:", press) + pixel_index = ((x + (y * 8)) * 256 // 32) + trellis.pixels[x, y] = wheel(pixel_index & 255) + led_on[x][y] = True + + else: + print("Turning off:", press) + trellis.pixels[x, y] = (0, 0, 0) + led_on[x][y] = False + + current_press = pressed From 49d438fbd2039d18a366cfeb674e30604b4d2848 Mon Sep 17 00:00:00 2001 From: Kattni Rembor Date: Fri, 9 Nov 2018 15:42:27 -0500 Subject: [PATCH 2/2] Moved clearing LEDs. --- examples/trellism4_neopixel_toggle.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/trellism4_neopixel_toggle.py b/examples/trellism4_neopixel_toggle.py index 9d819e5..3b2bc8e 100755 --- a/examples/trellism4_neopixel_toggle.py +++ b/examples/trellism4_neopixel_toggle.py @@ -15,8 +15,6 @@ def wheel(pos): return int(pos * 3), 0, int(255 - (pos * 3)) -trellis.pixels.fill((0, 0, 0)) - led_on = [] for x in range(trellis.pixels.width): @@ -24,6 +22,8 @@ def wheel(pos): for y in range(trellis.pixels.height): led_on[x].append(False) +trellis.pixels.fill((0, 0, 0)) + current_press = set() while True: