import asyncio import asyncpio from button import button from decoder import decoder from display import display def wheel_handler(dir): print(f"wheel: {dir}") disp.write(1, f"wheel: {dir}") def button_test(*args): print(args) disp.write(2, 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.new_event_loop() asyncio.set_event_loop(loop) loop.create_task(main()) loop.run_forever()