Timer starten bei Event
Verfasst: Mittwoch 16. Oktober 2019, 15:10
Hallo,
ich habe einen Raspberry, den ich per Drucktaster herunterfahre. Dazu habe ich das Script von hier für mich angepasst:
Ein kurzer Tastendruck führt mein Script aus, ein Druck länger als 5 Sekunden fährt den Raspberry herunter.
Ich würde nun gerne ein Audiosignal abspielen, damit der Anwender weiß, wann die 5 Sekunden vorbei sind.
Ich hatte vor, einen Timer zu starten, wenn die Taste gedrückt wird, und zu beenden, wenn sie unter 5 Sekunden losgelassen wird. Nach 5 Sekunden soll das Signal abgespielt und der Timer wieder beendet werden.
Leider passiert einfach gar nichts.
Hat jemand eine Idee, wie ich das Problem lösen könnte?
Vielen Dank im voraus.
ich habe einen Raspberry, den ich per Drucktaster herunterfahre. Dazu habe ich das Script von hier für mich angepasst:
Code: Alles auswählen
...
# Interrupt-Routine fuer die Taste
def buttonISR(pin):
global duration
global LOG_FILE
global myScript
if not (GPIO.input(pin)):
# Taste gedrueckt
if duration == 0:
duration = time.time()
else:
# Taste losgelassen
if duration > 0:
elapsed = (time.time() - duration)
duration = 0
if elapsed >= T_SHUT:
subprocess.call(['python', 'sndsystemshutdown.py'])
print('Shutdown: System halted');
subprocess.call(['shutdown', '-h', 'now'], shell=False)
elif elapsed >= T_PRELL:
print('running ' + myScript);
...
Ich würde nun gerne ein Audiosignal abspielen, damit der Anwender weiß, wann die 5 Sekunden vorbei sind.
Ich hatte vor, einen Timer zu starten, wenn die Taste gedrückt wird, und zu beenden, wenn sie unter 5 Sekunden losgelassen wird. Nach 5 Sekunden soll das Signal abgespielt und der Timer wieder beendet werden.
Leider passiert einfach gar nichts.
Hat jemand eine Idee, wie ich das Problem lösen könnte?
Vielen Dank im voraus.