st7789_240x240_bonnet_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 Pinouts are for the 1.3" TFT Bonnet and should be run in CPython. 6 """ 7 import board 8 import terminalio 9 import displayio 10 from adafruit_display_text import label 11 from adafruit_st7789 import ST7789 12 13 # Release any resources currently in use for the displays 14 displayio.release_displays() 15 16 spi = board.SPI() 17 tft_cs = board.CE0 18 tft_dc = board.D25 19 tft_lite = board.D26 20 21 display_bus = displayio.FourWire(spi, command=tft_dc, chip_select=tft_cs) 22 23 display = ST7789( 24 display_bus, 25 width=240, 26 height=240, 27 rowstart=80, 28 rotation=180, 29 backlight_pin=tft_lite, 30 ) 31 32 # Make the display context 33 splash = displayio.Group(max_size=10) 34 display.show(splash) 35 36 color_bitmap = displayio.Bitmap(240, 240, 1) 37 color_palette = displayio.Palette(1) 38 color_palette[0] = 0x00FF00 # Bright Green 39 40 bg_sprite = displayio.TileGrid(color_bitmap, pixel_shader=color_palette, x=0, y=0) 41 splash.append(bg_sprite) 42 43 # Draw a smaller inner rectangle 44 inner_bitmap = displayio.Bitmap(200, 200, 1) 45 inner_palette = displayio.Palette(1) 46 inner_palette[0] = 0xAA0088 # Purple 47 inner_sprite = displayio.TileGrid(inner_bitmap, pixel_shader=inner_palette, x=20, y=20) 48 splash.append(inner_sprite) 49 50 # Draw a label 51 text_group = displayio.Group(max_size=10, scale=2, x=50, y=120) 52 text = "Hello World!" 53 text_area = label.Label(terminalio.FONT, text=text, color=0xFFFF00) 54 text_group.append(text_area) # Subgroup for text scaling 55 splash.append(text_group) 56 57 while True: 58 pass