#!/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: print("a") if(pi.read(gpio)!=0): PTT_IS_ON = 1 if(pi.read(gpio)==0): PTT_IS_ON = 0 asyncio.sleep(.5) async def ptt(): while True: print("b") if PTT_IS_ON == 1: print("HEEEEEE") if __name__ == "__main__": loop = asyncio.get_event_loop() tasks = asyncio.gather(button_press(10, pigpio.EITHER_EDGE), ptt()) asyncio.get_event_loop().run_until_complete(tasks)