Integrate display code

This commit is contained in:
2026-03-22 01:47:25 +00:00
parent d2b33d0719
commit 7567214289
2 changed files with 31 additions and 3 deletions

View File

@@ -68,9 +68,9 @@ FONT = {
"_": seg("d"), "_": seg("d"),
".": seg("dp"), ".": seg("dp"),
":": seg("i","l"), ":": seg("i","l"),
"!": seg("i","dp"), "!": seg("b","dp"),
"?": seg("a","b","g2","k","dp"), "?": seg("a","b","g2","k","dp"),
"/": seg("j","m"), "/": seg("j","k"),
"\\": seg("h","k"), "\\": seg("h","k"),
"'": seg("h"), "'": seg("h"),
"\"": seg("h","j"), "\"": seg("h","j"),

30
main.py
View File

@@ -14,6 +14,8 @@ from escpos.printer import Usb
from PIL import Image, ImageEnhance from PIL import Image, ImageEnhance
from aiomqtt import Client from aiomqtt import Client
from display import StarburstHT16K33
VENDOR_ID = 0x0416 VENDOR_ID = 0x0416
PRODUCT_ID = 0x5011 PRODUCT_ID = 0x5011
PROD_STATIC_URL = 'https://static.my.protospace.ca/' PROD_STATIC_URL = 'https://static.my.protospace.ca/'
@@ -74,13 +76,39 @@ async def fetch_mqtt(p):
loop.create_task(process_mqtt(message, 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__': if __name__ == '__main__':
logging.info('') logging.info('')
logging.info('==========================') logging.info('==========================')
logging.info('Booting up...') logging.info('Booting up...')
p = Usb(VENDOR_ID, PRODUCT_ID, interface=0, in_ep=0x81, out_ep=0x03) p = Usb(VENDOR_ID, PRODUCT_ID, interface=0, in_ep=0x81, out_ep=0x03)
disp = StarburstHT16K33(brightness=10)
loop = asyncio.get_event_loop() 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()