From c4dd5509e54c7b60c6dc1dccaf797a46030c3348 Mon Sep 17 00:00:00 2001 From: Liz Date: Tue, 5 Aug 2025 19:39:44 -0400 Subject: [PATCH] add display ruler bitmap --- README.rst | 12 +++++------- adafruit_jd79661.py | 2 +- examples/display-ruler-640x360.bmp | Bin 0 -> 230642 bytes examples/display-ruler-640x360.bmp.license | 2 ++ examples/jd79661_simpletest.py | 15 ++++++--------- 5 files changed, 14 insertions(+), 17 deletions(-) create mode 100644 examples/display-ruler-640x360.bmp create mode 100644 examples/display-ruler-640x360.bmp.license diff --git a/README.rst b/README.rst index 5ce1242..bd206a4 100644 --- a/README.rst +++ b/README.rst @@ -95,7 +95,6 @@ Usage Example import time import board - import busio import displayio from fourwire import FourWire @@ -103,12 +102,11 @@ Usage Example displayio.release_displays() - # This pinout works on a MagTag with the newer screen and may need to be altered for other boards. - spi = busio.SPI(board.EPD_SCK, board.EPD_MOSI) # Uses SCK and MOSI - epd_cs = board.EPD_CS - epd_dc = board.EPD_DC - epd_reset = board.EPD_RESET - epd_busy = board.EPD_BUSY + spi = board.SPI() + epd_cs = board.D9 + epd_dc = board.D10 + epd_reset = board.D6 + epd_busy = board.D5 display_bus = FourWire(spi, command=epd_dc, chip_select=epd_cs, reset=epd_reset, baudrate=1000000) time.sleep(1) diff --git a/adafruit_jd79661.py b/adafruit_jd79661.py index 8ca41c1..d5ccb2c 100644 --- a/adafruit_jd79661.py +++ b/adafruit_jd79661.py @@ -119,7 +119,7 @@ def __init__(self, bus: FourWire, **kwargs) -> None: start_sequence[res_pos + 4] = (width >> 8) & 0xFF start_sequence[res_pos + 5] = width & 0xFF - print(start_sequence.hex(" ")) + # print(start_sequence.hex(" ")) super().__init__( bus, diff --git a/examples/display-ruler-640x360.bmp b/examples/display-ruler-640x360.bmp new file mode 100644 index 0000000000000000000000000000000000000000..a9c776e7598fc58b107ec728df54451996b829a8 GIT binary patch literal 230642 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 H#kKl>^&48> literal 0 HcmV?d00001 diff --git a/examples/display-ruler-640x360.bmp.license b/examples/display-ruler-640x360.bmp.license new file mode 100644 index 0000000..a784acf --- /dev/null +++ b/examples/display-ruler-640x360.bmp.license @@ -0,0 +1,2 @@ +# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries +# SPDX-License-Identifier: MIT diff --git a/examples/jd79661_simpletest.py b/examples/jd79661_simpletest.py index 8e690d4..bd50791 100644 --- a/examples/jd79661_simpletest.py +++ b/examples/jd79661_simpletest.py @@ -1,14 +1,12 @@ # SPDX-FileCopyrightText: 2025 Scott Shawcroft, written for Adafruit Industries -# SPDX-FileCopyrightText: Copyright (c) 2021 Melissa LeBlanc-Williams for Adafruit Industries # # SPDX-License-Identifier: Unlicense -"""Simple test script for 2.9" 296x128 display. This example runs it in mono mode.""" +"""Simple test script for 2.13" Quad Color Display""" import time import board -import busio import displayio from fourwire import FourWire @@ -16,12 +14,11 @@ displayio.release_displays() -# This pinout works on a MagTag with the newer screen and may need to be altered for other boards. -spi = busio.SPI(board.EPD_SCK, board.EPD_MOSI) # Uses SCK and MOSI -epd_cs = board.EPD_CS -epd_dc = board.EPD_DC -epd_reset = board.EPD_RESET -epd_busy = board.EPD_BUSY +spi = board.SPI() +epd_cs = board.D9 +epd_dc = board.D10 +epd_reset = board.D6 +epd_busy = board.D5 display_bus = FourWire(spi, command=epd_dc, chip_select=epd_cs, reset=epd_reset, baudrate=1000000) time.sleep(1)