""" fonts.py Smoothly scrolls all font characters up the screen on the display. Only works with fonts with heights that are even multiples of the screen height, (i.e. 8 or 16 pixels high) """ import utime import random from machine import Pin, SPI import st7789py as st7789 # choose a font # from romfonts import vga1_8x8 as font # from romfonts import vga2_8x8 as font # from romfonts import vga1_8x16 as font # from romfonts import vga2_8x16 as font # from romfonts import vga1_16x16 as font # from romfonts import vga1_bold_16x16 as font # from romfonts import vga2_16x16 as font from romfonts import vga2_bold_16x16 as font def main(): spi = SPI(1, baudrate=31250000, sck=Pin(18), mosi=Pin(19)) tft = st7789.ST7789( spi, 320, 240, reset=Pin(4, Pin.OUT), cs=Pin(13, Pin.OUT), dc=Pin(12, Pin.OUT), backlight=Pin(15, Pin.OUT), rotation=0) last_line = tft.height - font.HEIGHT tfa = 0 tfb = 0 tft.vscrdef(tfa, 240, tfb) tft.fill(st7789.BLUE) scroll = 0 character = 0 while True: tft.fill_rect(0, scroll, tft.width, 1, st7789.BLUE) if scroll % font.HEIGHT == 0: tft.text( font, '\\x{:02x}= {:s} '.format(character, chr(character)), 0, (scroll + last_line) % tft.height, st7789.WHITE, st7789.BLUE) character = character + 1 if character < 256 else 0 tft.vscsad(scroll + tfa) scroll += 1 if scroll == tft.height: scroll = 0 utime.sleep(0.01) main()