mode: uhr aus

modus wechseln mit Taster
master
Hofei 5 years ago
parent aeb197571d
commit d199ffb076

@ -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

Loading…
Cancel
Save