st7789_tft_gizmo_simpletest.py
1 """ 2 This test will initialize the display using displayio and draw a solid green 3 background, a smaller purple rectangle, and some yellow text. 4 """ 5 import board 6 import busio 7 import terminalio 8 import displayio 9 from adafruit_display_text import label 10 from adafruit_st7789 import ST7789 11 12 # Release any resources currently in use for the displays 13 displayio.release_displays() 14 15 spi = busio.SPI(board.SCL, MOSI=board.SDA) 16 tft_cs = board.RX 17 tft_dc = board.TX 18 tft_backlight = board.A3 19 20 display_bus = displayio.FourWire(spi, command=tft_dc, chip_select=tft_cs) 21 22 display = ST7789( 23 display_bus, 24 width=240, 25 height=240, 26 rowstart=80, 27 backlight_pin=tft_backlight, 28 rotation=180, 29 ) 30 31 # Make the display context 32 splash = displayio.Group(max_size=10) 33 display.show(splash) 34 35 color_bitmap = displayio.Bitmap(240, 240, 1) 36 color_palette = displayio.Palette(1) 37 color_palette[0] = 0x00FF00 # Bright Green 38 39 bg_sprite = displayio.TileGrid(color_bitmap, pixel_shader=color_palette, x=0, y=0) 40 splash.append(bg_sprite) 41 42 # Draw a smaller inner rectangle 43 inner_bitmap = displayio.Bitmap(200, 200, 1) 44 inner_palette = displayio.Palette(1) 45 inner_palette[0] = 0xAA0088 # Purple 46 inner_sprite = displayio.TileGrid(inner_bitmap, pixel_shader=inner_palette, x=20, y=20) 47 splash.append(inner_sprite) 48 49 # Draw a label 50 text_group = displayio.Group(max_size=10, scale=2, x=50, y=120) 51 text = "Hello World!" 52 text_area = label.Label(terminalio.FONT, text=text, color=0xFFFF00) 53 text_group.append(text_area) # Subgroup for text scaling 54 splash.append(text_group) 55 56 while True: 57 pass