Skip to content
This repository was archived by the owner on Jan 5, 2024. It is now read-only.

Commit a127043

Browse files
committed
talk to sim through one index
1 parent 7a6301f commit a127043

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

led.py

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""
22
LED Logik
33
"""
4+
import time
45
import tkinter as tk
56
from tkinter import ttk
67
from util import rgb_perc
@@ -9,7 +10,7 @@ class LED(tk.Canvas):
910
"""
1011
Repräsentiert eine LED
1112
"""
12-
def __init__(self, master, color="red", **kwargs):
13+
def __init__(self, master, color="black", **kwargs):
1314
super().__init__(master, height=20, width=20, **kwargs, bg=color)
1415

1516
def set_color(self, color):
@@ -59,6 +60,7 @@ def __init__(self, master, amount_columns, leds_per_column):
5960
master.rowconfigure(0, weight=1)
6061

6162
self.strips = []
63+
self.amount_leds = amount_columns * leds_per_column
6264

6365
for i in range(amount_columns):
6466
strip = LEDStrip(master, amount_leds=leds_per_column)
@@ -73,6 +75,12 @@ def set_all(self, color):
7375
for strip in self.strips:
7476
strip.set_all(color)
7577

78+
def set_led(self, index, color):
79+
""" setzt eine LED auf eine bestimmte Farbe """
80+
strip_index = index // self.leds_per_column
81+
led_index = index % self.leds_per_column
82+
self.strips[strip_index].set_color(led_index, color)
83+
7684
def run_effect(self, effect: str):
7785
"""
7886
Führt einen Effekt aus
@@ -81,6 +89,26 @@ def run_effect(self, effect: str):
8189
case "rainbow":
8290
for i in range(self.amount_columns):
8391
for j in range(self.leds_per_column):
84-
self.strips[i].set_color(j, rgb_perc(10, 40, 50)) # perc / 100 * 255
92+
self.strips[i].set_color(j, rgb_perc(10, 40, 50))
93+
case "main":
94+
blue = True
95+
while True:
96+
for i in range(100):
97+
for j in range(self.amount_columns):
98+
if not blue:
99+
self.strips[j].set_color(i, rgb_perc(0, 0, 100))
100+
self.set_led(i, rgb_perc(0, 0, 100))
101+
blue = True
102+
else:
103+
self.strips[j].set_color(i, rgb_perc(0, 0, 0))
104+
blue = False
105+
time.sleep(0.1)
106+
self.update()
107+
case "testing":
108+
for i in range(self.amount_leds):
109+
self.set_led(i, rgb_perc(0, 0, 100))
110+
time.sleep(0.1)
111+
self.update()
112+
85113
case _:
86114
pass

simulator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,5 @@ def __init__(self, amount_columns: int, leds_per_column: int):
2525
leds_per_column=leds_per_column)
2626
btn = ttk.Button(self,
2727
text="effekt ausführen",
28-
command=lambda: self.mgr.run_effect("rainbow"))
28+
command=lambda: self.mgr.run_effect("testing"))
2929
btn.pack(side="top")

0 commit comments

Comments
 (0)