40 lines
846 B
Python
40 lines
846 B
Python
#!/usr/bin/env python
|
|
import pigpio
|
|
import time
|
|
import datetime
|
|
import asyncio
|
|
from functools import wraps, partial
|
|
|
|
PTT_IS_ON = 0
|
|
|
|
# init GPIO
|
|
pi = pigpio.pi()
|
|
# button pin
|
|
pi.set_mode(10, pigpio.INPUT)
|
|
|
|
async def button_press(gpio:int, level) -> bool:
|
|
while True:
|
|
if(pi.read(gpio)!=0):
|
|
PTT_IS_ON = 1
|
|
if(pi.read(gpio)==0):
|
|
PTT_IS_ON = 0
|
|
asyncio.sleep(.5)
|
|
|
|
async def ptt():
|
|
if PTT_IS_ON == 1:
|
|
print("HEEEEEE")
|
|
|
|
if __name__ == "__main__":
|
|
loop = asyncio.get_event_loop()
|
|
task = loop.create_task(button_press(10, pigpio.EITHER_EDGE))
|
|
task2 = loop.create.task(ptt())
|
|
try:
|
|
loop.run_until_complete(task2)
|
|
loop.run_until_complete(task)
|
|
except asyncio.CancelledError:
|
|
pass
|
|
|
|
while True:
|
|
if PTT_IS_ON == 1:
|
|
print("WE'RE LIVE")
|