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()