import asyncio import pigpio async def toggle_pin(pin: int): """Toggle a GPIO pin indefinitely.""" pi = pigpio.pi() if not pi.connected: raise RuntimeError(f"Failed to connect to pigpio daemon for pin {pin}") state = 0 try: while True: state = 1 - state # Toggle state between 0 and 1 pi.write(pin, state) await asyncio.sleep(1) # Wait 1 second between toggles finally: pi.write(pin, 0) # Ensure the pin is turned off pi.stop() async def main(): """Run multiple toggle_pin tasks in parallel.""" pins = [17, 27, 22] # Replace with the GPIO pins you want to toggle tasks = [toggle_pin(pin) for pin in pins] await asyncio.gather(*tasks) if __name__ == "__main__": try: asyncio.run(main()) except KeyboardInterrupt: print("Exiting...")