diff --git a/display.py b/display.py index 12aa63b..427132b 100644 --- a/display.py +++ b/display.py @@ -68,9 +68,9 @@ FONT = { "_": seg("d"), ".": seg("dp"), ":": seg("i","l"), - "!": seg("i","dp"), + "!": seg("b","dp"), "?": seg("a","b","g2","k","dp"), - "/": seg("j","m"), + "/": seg("j","k"), "\\": seg("h","k"), "'": seg("h"), "\"": seg("h","j"), diff --git a/main.py b/main.py index 956889d..477a24c 100644 --- a/main.py +++ b/main.py @@ -14,6 +14,8 @@ from escpos.printer import Usb from PIL import Image, ImageEnhance from aiomqtt import Client +from display import StarburstHT16K33 + VENDOR_ID = 0x0416 PRODUCT_ID = 0x5011 PROD_STATIC_URL = 'https://static.my.protospace.ca/' @@ -74,13 +76,39 @@ async def fetch_mqtt(p): loop.create_task(process_mqtt(message, p)) +async def manage_display(disp): + logging.info('Starting display loop...') + + while True: + await asyncio.sleep(2) + + disp.scroll_text('WELCOME TO PROTOSPACE!', scroll_speed=2, easing='inout', pulse=True) + disp.set_brightness(15) + disp.marquee('PRESENTING...', scroll_speed=8, cycles=1) + disp.marquee('THE BASH REGISTER', scroll_speed=2, cycles=1) + + disp.set_brightness(15) + disp.chase(speed=8) + + disp.write_text('SEND TO') + disp.rainbow() + + disp.set_brightness(15) + disp.marquee('PROTOSPACE.CA/SIGN', scroll_speed=2, cycles=3) + + + if __name__ == '__main__': logging.info('') logging.info('==========================') logging.info('Booting up...') p = Usb(VENDOR_ID, PRODUCT_ID, interface=0, in_ep=0x81, out_ep=0x03) + disp = StarburstHT16K33(brightness=10) loop = asyncio.get_event_loop() - loop.run_until_complete(fetch_mqtt(p)) + loop.create_task(manage_display(disp)) + loop.create_task(fetch_mqtt(p)) + + loop.run_forever()