blob: cfe6bdf95e76e14fc4719437c434bf0339f5c80b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import RPi.GPIO as GPIO
import threading
import time
BUTTON_GPIO = 24
class HangUpThread(threading.Thread):
def __init__(self, phone_held, phone_hung_up, dial_manager):
threading.Thread.__init__(self, args=(), kwargs=None)
self.phone_held = phone_held
self.phone_hung_up = phone_hung_up
self.dial_manager = dial_manager
self.daemon = True
GPIO.setmode(GPIO.BCM)
GPIO.setup(BUTTON_GPIO, GPIO.IN, pull_up_down=GPIO.PUD_UP)
def run(self):
while True:
if not GPIO.input(BUTTON_GPIO):
self.phone_held.clear()
self.phone_hung_up.set()
self.dial_manager.clear_sequence()
else:
self.phone_held.set()
self.phone_hung_up.clear()
time.sleep(0.1)
|