You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have extended the test code of st7789_280x240_simpletest.py.
Now the backlight setting and the offset correction of the ST7789 display driver at a resolution of 280x240 (1.69", Product ID: 5206) is included.
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries# SPDX-License-Identifier: MIT"""This test will initialize the display using displayio, set display brighness and draw a solid greenbackground, a smaller purple rectangle, and some yellow text."""importboardimportdisplayioimportterminaliofromadafruit_display_textimportlabelfromfourwireimportFourWirefromadafruit_st7789importST7789# Release any resources currently in use for the displaysdisplayio.release_displays()
spi=board.SPI()
tft_cs=board.D20tft_dc=board.D21backlight=board.D6display_bus=FourWire(spi, command=tft_dc, chip_select=tft_cs, reset=board.D5)
#display = ST7789(display_bus, width=240, height=280, colstart=0, rowstart=20, rotation=0, backlight_pin=backlight) # default setting for 1.69" with 0° rotationdisplay=ST7789(display_bus, width=280, height=240, colstart=0, rowstart=20, rotation=90, backlight_pin=backlight) # default setting for 1.69" with 90° rotation#display = ST7789(display_bus, width=240, height=280, colstart=0, rowstart=20, rotation=180, backlight_pin=backlight) # default setting for 1.69" with 180° rotation#display = ST7789(display_bus, width=280, height=240, colstart=0, rowstart=20, rotation=270, backlight_pin=backlight) # default setting for 1.69" with 270° rotation# set the backlight# minimum value 0.001 (0.000 would be off), maximum value 1.000display.brightness=0.5# Make the display contextsplash=displayio.Group()
display.root_group=splash#color_bitmap = displayio.Bitmap(240, 280, 1) # default setting for 1.69" with 0° and 180° rotationcolor_bitmap=displayio.Bitmap(280, 240, 1) # default setting for 1.69" with 90° and 270° rotationcolor_palette=displayio.Palette(1)
color_palette[0] =0x00FF00# Bright Greenbg_sprite=displayio.TileGrid(color_bitmap, pixel_shader=color_palette, x=0, y=0)
splash.append(bg_sprite)
# Draw a smaller inner rectangle#inner_bitmap = displayio.Bitmap(200, 240, 1) # default setting for 1.69" with 0° and 180° rotationinner_bitmap=displayio.Bitmap(240, 200, 1) # default setting for 1.69" with 90° and 270° rotationinner_palette=displayio.Palette(1)
inner_palette[0] =0xAA0088# Purpleinner_sprite=displayio.TileGrid(inner_bitmap, pixel_shader=inner_palette, x=20, y=20)
splash.append(inner_sprite)
# Draw a label#text_group = displayio.Group(scale=2, x=50, y=140) # default setting for 1.69" with 0° and 180° rotationtext_group=displayio.Group(scale=3, x=37, y=120) # default setting for 1.69" with 90° and 270° rotationtext="Hello World!"text_area=label.Label(terminalio.FONT, text=text, color=0xFFFF00)
text_group.append(text_area) # Subgroup for text scalingsplash.append(text_group)
whileTrue:
pass
The code was tested with a Waveshare display (SKU: 27057) and an Unexpected Maker FeatherS2.
Thank you for your work and that of the community!
With kind regards
CrackXT
The text was updated successfully, but these errors were encountered:
Awesome. Thanks for sharing.
The only suggestion I have for improving it is to have the rotation be its own variable and the width and height adjust based on the rotation. Something like this:
rotation = 90
if rotation not in (0, 90, 180, 270)
raise ValueError("Rotation must be be one of: 0, 90, 180, 270")
width = 280 if rotation % 180 else 240
height = 240 if rotation % 180 else 280
display = ST7789(display_bus, width=width, height=height, colstart=0, rowstart=20, rotation=rotation, backlight_pin=backlight)
Want to submit the code as a PR for using this as an additional example?
Hello Adafruit team,
I have extended the test code of st7789_280x240_simpletest.py.
Now the backlight setting and the offset correction of the ST7789 display driver at a resolution of 280x240 (1.69", Product ID: 5206) is included.
The code was tested with a Waveshare display (SKU: 27057) and an Unexpected Maker FeatherS2.
Thank you for your work and that of the community!
With kind regards
CrackXT
The text was updated successfully, but these errors were encountered: