Add mirror option
parent
672997ca35
commit
06abf62718
@ -0,0 +1,82 @@
|
|||||||
|
"""ILI9341 demo (mirror)."""
|
||||||
|
from time import sleep
|
||||||
|
from ili9341 import Display, color565
|
||||||
|
from machine import Pin, SPI # type: ignore
|
||||||
|
|
||||||
|
# Define colors
|
||||||
|
COLOR_RED = color565(255, 0, 0)
|
||||||
|
COLOR_BLUE = color565(0, 0, 255)
|
||||||
|
COLOR_GREEN = color565(0, 255, 0)
|
||||||
|
COLOR_YELLOW = color565(255, 255, 0)
|
||||||
|
COLOR_PURPLE = color565(128, 0, 128)
|
||||||
|
COLOR_CYAN = color565(0, 255, 255)
|
||||||
|
COLOR_MAGENTA = color565(255, 0, 255)
|
||||||
|
COLOR_ORANGE = color565(255, 165, 0)
|
||||||
|
COLOR_WHITE = color565(255, 255, 255)
|
||||||
|
COLOR_LAVENDER = color565(255, 165, 255)
|
||||||
|
|
||||||
|
MIRROR_ROTATE = ((False, 0),
|
||||||
|
(False, 90),
|
||||||
|
(False, 180),
|
||||||
|
(False, 270),
|
||||||
|
(True, 0),
|
||||||
|
(True, 90),
|
||||||
|
(True, 180),
|
||||||
|
(True, 270))
|
||||||
|
|
||||||
|
|
||||||
|
def test():
|
||||||
|
"""Test code."""
|
||||||
|
for mirror, rotation in MIRROR_ROTATE:
|
||||||
|
# Baud rate of 40000000 seems about the max
|
||||||
|
spi = SPI(1, baudrate=40000000, sck=Pin(14), mosi=Pin(13))
|
||||||
|
# Set width & height based on rotation
|
||||||
|
if rotation == 0 or rotation == 180:
|
||||||
|
width, height = 240, 320
|
||||||
|
else:
|
||||||
|
width, height = 320, 240
|
||||||
|
display = Display(spi, dc=Pin(4), cs=Pin(16), rst=Pin(17),
|
||||||
|
width=width, height=height,
|
||||||
|
rotation=rotation, mirror=mirror)
|
||||||
|
display.clear()
|
||||||
|
|
||||||
|
# Outer Vertical Line
|
||||||
|
display.draw_line(41, 21, 41, 239, COLOR_RED)
|
||||||
|
|
||||||
|
# Inner Vertical Line
|
||||||
|
display.draw_line(61, 41, 61, 239, COLOR_BLUE)
|
||||||
|
|
||||||
|
# Outer Top Horizontal Line
|
||||||
|
display.draw_line(41, 21, 181, 21, COLOR_GREEN)
|
||||||
|
|
||||||
|
# Inner Top Horizontal Line
|
||||||
|
display.draw_line(61, 41, 181, 41, COLOR_YELLOW)
|
||||||
|
|
||||||
|
# Outer Middle Horizontal Line
|
||||||
|
display.draw_line(62, 130, 161, 130, COLOR_PURPLE)
|
||||||
|
|
||||||
|
# Inner Middle Horizontal Line
|
||||||
|
display.draw_line(62, 111, 161, 111, COLOR_CYAN)
|
||||||
|
|
||||||
|
# End Cap on Outer Vertical Line (Bottom)
|
||||||
|
display.draw_line(41, 239, 61, 239, COLOR_MAGENTA)
|
||||||
|
|
||||||
|
# End Cap on Outer Top Horizontal Line (Right)
|
||||||
|
display.draw_line(181, 21, 181, 41, COLOR_ORANGE)
|
||||||
|
|
||||||
|
# End Caps on Inner Lines (Middle)
|
||||||
|
display.draw_line(162, 111, 162, 130, COLOR_WHITE)
|
||||||
|
|
||||||
|
# Display rotation and mirror values at bottom of display
|
||||||
|
text = f"Rotation: {rotation}, Mirror: {mirror}"
|
||||||
|
display.draw_text8x8(
|
||||||
|
(width - len(text) * 8) // 2 if width < 320 else 90,
|
||||||
|
height - 50 if width < 320 else height - 9,
|
||||||
|
text,
|
||||||
|
COLOR_LAVENDER)
|
||||||
|
|
||||||
|
sleep(5)
|
||||||
|
display.cleanup()
|
||||||
|
|
||||||
|
|
||||||
|
test()
|
Loading…
Reference in New Issue