/ examples / st7789_tft_gizmo_simpletest.py
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