mode: uhr aus
modus wechseln mit Taster
This commit is contained in:
@@ -40,7 +40,7 @@ class Uhr:
|
||||
self.pixels = pixels
|
||||
self.helligkeit_geaendert = None
|
||||
self.mode_geaendert = None
|
||||
self.mode: str = mode
|
||||
self.mode = mode
|
||||
self._rgb_leer = None
|
||||
self._rgb_sekunde = None
|
||||
self._rgb_minute = None
|
||||
@@ -51,7 +51,18 @@ class Uhr:
|
||||
|
||||
def mode_wechseln(self):
|
||||
mode = int(self.mode)
|
||||
self.mode = mode
|
||||
mode_anzahl = len(CONFIG["mode"]) - 1
|
||||
if mode_anzahl < 0:
|
||||
mode_anzahl = 0
|
||||
|
||||
mode += 1
|
||||
if mode > mode_anzahl:
|
||||
mode = 0
|
||||
self.mode = str(mode)
|
||||
now = datetime.datetime.now()
|
||||
self.mode_geaendert = now
|
||||
alle_led(0, 0, 0, self.pixels)
|
||||
self.mode_control(now)
|
||||
|
||||
def set_helligkeit(self, helligkeit):
|
||||
self.helligkeit = helligkeit
|
||||
@@ -94,8 +105,13 @@ class Uhr:
|
||||
stdliste = stunden_led_mapping_variante_0()
|
||||
stunden_leds, minuten_leds, sekunden_leds, leer_leds, sonstige_leds, \
|
||||
rgbdict = stunde_minute_dauerhaft_modus(zeit, stdliste, rgbconf)
|
||||
self.durchlauf_pause = datetime.timedelta(minutes=1)
|
||||
self.durchlauf_pause = datetime.timedelta(seconds=1)
|
||||
self.sleep_time = 0.5
|
||||
elif mode == 2:
|
||||
stunden_leds, minuten_leds, sekunden_leds, leer_leds, sonstige_leds, \
|
||||
rgbdict = uhr_aus_modus(rgbconf)
|
||||
self.durchlauf_pause = datetime.timedelta(minutes=1)
|
||||
self.sleep_time = 2
|
||||
else:
|
||||
stunden_leds = [0]
|
||||
minuten_leds = [0]
|
||||
@@ -205,6 +221,16 @@ def stunde_minute_dauerhaft_modus(zeit, stdliste, rgbdict):
|
||||
return stunden_leds, minuten_leds, sekunden_leds, leer_leds, sonstige_leds, rgbdict
|
||||
|
||||
|
||||
def uhr_aus_modus(rgbdict):
|
||||
sekunden_leds = []
|
||||
minuten_leds = []
|
||||
stunden_leds = []
|
||||
sonstige_leds = []
|
||||
leer_leds = [led for led in range(0, 60)]
|
||||
|
||||
return stunden_leds, minuten_leds, sekunden_leds, leer_leds, sonstige_leds, rgbdict
|
||||
|
||||
|
||||
def led_setzen(stunden_leds, minuten_leds, sekunden_leds, leer_leds, sonstige_leds, rgbdict, pixels):
|
||||
# Stunden setzen
|
||||
for stunde_led in stunden_leds:
|
||||
@@ -222,13 +248,10 @@ def led_setzen(stunden_leds, minuten_leds, sekunden_leds, leer_leds, sonstige_le
|
||||
for leer_led in leer_leds:
|
||||
pixels[leer_led] = rgbdict["rgb_leer"][0], rgbdict["rgb_leer"][1], rgbdict["rgb_leer"][2]
|
||||
|
||||
print(sonstige_leds)
|
||||
# Sonstige LEDs verarbeiten
|
||||
# Aufbau -> [index_lednummer, (R, G, B)]
|
||||
for led, rgb in sonstige_leds:
|
||||
print(f"LED: {led} RGB: {rgb}")
|
||||
pixels[led] = rgb[0], rgb[1], rgb[2]
|
||||
|
||||
pixels.show()
|
||||
|
||||
|
||||
@@ -328,6 +351,7 @@ def main():
|
||||
|
||||
I_PLUS_TASTER.when_pressed = uhr.helligkeit_erhoehen
|
||||
I_MINUS_TASTER.when_pressed = uhr.helligkeit_verringern
|
||||
I_MODE_TASTER.when_pressed = uhr.mode_wechseln
|
||||
|
||||
try:
|
||||
while True:
|
||||
@@ -340,6 +364,11 @@ def main():
|
||||
CONFIG["led_helligkeit"] = uhr.helligkeit
|
||||
config_schreiben()
|
||||
uhr.helligkeit_geaendert = None
|
||||
if uhr.mode_geaendert is not None:
|
||||
if (datetime.datetime.now() - uhr.mode_geaendert) > datetime.timedelta(seconds=30):
|
||||
CONFIG["mode_nummer"] = uhr.mode
|
||||
config_schreiben()
|
||||
uhr.mode_geaendert = None
|
||||
time.sleep(uhr.sleep_time)
|
||||
finally:
|
||||
pixels.brightness = 0
|
||||
|
||||
Reference in New Issue
Block a user