import asyncio from button import button from decoder import decoder from display import display async def wheel_handler(dir): print(f"wheel: {dir}") async def button_test(**args): print(args) async def main(): pi = asyncpio.pi() dec = decoder(pi, 27, 17, wheel_handler) b1 = button(pi, 23, button_test) b2 = button(pi, 24, button_test) await pi.connect() await dec.start() await b1.start() await b2.start() if __name__ == "__main__": disp = display() loop = asyncio.get_event_loop() loop.create_task(main()) loop.run_forever()