Simple test
Ensure your device works with this simple test.
examples/epd_simpletest.py
1# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
2# SPDX-License-Identifier: MIT
3
4import board
5import busio
6import digitalio
7
8from adafruit_epd.ek79686 import Adafruit_EK79686
9from adafruit_epd.epd import Adafruit_EPD
10from adafruit_epd.il0373 import Adafruit_IL0373, Adafruit_IL0373_213_Flex_Mono
11from adafruit_epd.il0398 import Adafruit_IL0398
12from adafruit_epd.il91874 import Adafruit_IL91874
13from adafruit_epd.jd79661 import Adafruit_JD79661
14from adafruit_epd.ssd1608 import Adafruit_SSD1608
15from adafruit_epd.ssd1675 import Adafruit_SSD1675
16from adafruit_epd.ssd1680 import Adafruit_SSD1680
17from adafruit_epd.ssd1680b import Adafruit_SSD1680B
18from adafruit_epd.ssd1681 import Adafruit_SSD1681
19from adafruit_epd.ssd1683 import Adafruit_SSD1683
20from adafruit_epd.uc8151d import Adafruit_UC8151D
21from adafruit_epd.uc8179 import Adafruit_UC8179
22
23# create the spi device and pins we will need
24spi = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO)
25ecs = digitalio.DigitalInOut(board.D12)
26dc = digitalio.DigitalInOut(board.D11)
27srcs = digitalio.DigitalInOut(board.D10) # can be None to use internal memory
28rst = digitalio.DigitalInOut(board.D9) # can be None to not use this pin
29busy = digitalio.DigitalInOut(board.D5) # can be None to not use this pin
30
31# give them all to our drivers
32print("Creating display")
33# display = Adafruit_JD79661(122, 150, # 2.13" Quad-color display
34# display = Adafruit_SSD1608(200, 200, # 1.54" HD mono display
35# display = Adafruit_SSD1675(122, 250, # 2.13" HD mono display
36# display = Adafruit_SSD1680(122, 250, # 2.13" HD Tri-color display
37# display = Adafruit_SSD1680B(122, 250 # 2.13" HD (Tri-color or mono) with GDEY0213B74
38# display = Adafruit_SSD1681(200, 200, # 1.54" HD Tri-color display
39# display = Adafruit_SSD1681(200, 200, # 1.54" HD Tri-color display
40# display = Adafruit_IL91874(176, 264, # 2.7" Tri-color display
41# display = Adafruit_EK79686(176, 264, # 2.7" Tri-color display
42# display = Adafruit_IL0373(152, 152, # 1.54" Tri-color display
43# display = Adafruit_UC8151D(128, 296, # 2.9" mono flexible display
44# display = Adafruit_UC8179(648, 480, # 5.83" mono 648x480 display
45# display = Adafruit_UC8179(800, 480, # 7.5" mono 800x480 display
46# display = Adafruit_IL0373(128, 296, # 2.9" Tri-color display IL0373
47# display = Adafruit_IL0373_213_Flex_Mono(104, 212,# 2.13" mono flex display
48# display = Adafruit_SSD1680(128, 296, # 2.9" Tri-color display SSD1680
49# display = Adafruit_SSD1683(400, 300, # 4.2" 300x400 Tri-Color display
50# display = Adafruit_IL0398(400, 300, # 4.2" Tri-color display
51display = Adafruit_IL0373(
52 104,
53 212, # 2.13" Tri-color display
54 spi,
55 cs_pin=ecs,
56 dc_pin=dc,
57 sramcs_pin=srcs,
58 rst_pin=rst,
59 busy_pin=busy,
60)
61""" display = Adafruit_UC8179(800, 480, # 7.5" tricolor 800x480 display
62 spi,
63 cs_pin=ecs,
64 dc_pin=dc,
65 sramcs_pin=srcs,
66 rst_pin=rst,
67 busy_pin=busy,
68 tri_color = True
69)"""
70
71# IF YOU HAVE A 2.13" FLEXIBLE DISPLAY OR!
72# UC8179 5.83" or 7.5" monochrome displays
73# uncomment these lines!
74# display.set_black_buffer(1, False)
75# display.set_color_buffer(1, False)
76
77# IF YOU HAVE A 2.9" FLEXIBLE DISPLAY uncomment these lines!
78# display.set_black_buffer(1, True)
79# display.set_color_buffer(1, True)
80
81display.rotation = 1
82if type(display) == Adafruit_JD79661:
83 WHITE = Adafruit_JD79661.WHITE
84 BLACK = Adafruit_JD79661.BLACK
85 RED = Adafruit_JD79661.RED
86 YELLOW = Adafruit_JD79661.YELLOW
87else:
88 WHITE = Adafruit_EPD.WHITE
89 BLACK = Adafruit_EPD.BLACK
90 RED = Adafruit_EPD.RED
91
92# clear the buffer
93print("Clear buffer")
94display.fill(WHITE)
95display.pixel(10, 100, BLACK)
96
97print("Draw Rectangles")
98display.fill_rect(5, 5, 10, 10, RED)
99display.rect(0, 0, 20, 30, BLACK)
100
101print("Draw lines")
102if type(display) == Adafruit_JD79661:
103 display.line(0, 0, display.width - 1, display.height - 1, YELLOW)
104 display.line(0, display.height - 1, display.width - 1, 0, YELLOW)
105else:
106 display.line(0, 0, display.width - 1, display.height - 1, BLACK)
107 display.line(0, display.height - 1, display.width - 1, 0, RED)
108
109print("Draw text")
110display.text("hello world", 25, 10, BLACK)
111display.display()