From 9083dbbf78ee6c3641e80dd0218b15aee978c6a4 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Mon, 18 Dec 2023 10:41:40 -0500 Subject: [PATCH] FourWire support for both 8.x.x and 9.x.x --- adafruit_st7735r.py | 19 ++++++++++--------- examples/st7735r_128x160_colored_labels.py | 8 ++++++-- examples/st7735r_128x160_simpletest.py | 9 +++++++-- examples/st7735r_18tftshield_buttons.py | 9 +++++++-- .../st7735r_minitft_featherwing_simpletest.py | 9 +++++++-- examples/st7735r_minitft_revb_simpletest.py | 9 +++++++-- examples/st7735r_minitft_simpletest.py | 9 +++++++-- examples/st7735r_simpletest.py | 9 +++++++-- 8 files changed, 58 insertions(+), 23 deletions(-) diff --git a/adafruit_st7735r.py b/adafruit_st7735r.py index 24743f2..1cfb49e 100755 --- a/adafruit_st7735r.py +++ b/adafruit_st7735r.py @@ -39,7 +39,13 @@ except ImportError: pass -import displayio +# Support both 8.x.x and 9.x.x. Change when 8.x.x is discontinued as a stable release. +try: + from fourwire import FourWire + from busdisplay import BusDisplay +except ImportError: + from displayio import FourWire + from displayio import Display as BusDisplay __version__ = "0.0.0+auto.0" __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_ST7735R.git" @@ -70,22 +76,17 @@ # pylint: disable=too-few-public-methods -class ST7735R(displayio.Display): +class ST7735R(BusDisplay): """ ST7735R display driver - :param displayio.FourWire bus: bus that the display is connected to + :param FourWire bus: bus that the display is connected to :param bool bgr: (Optional) An extra init sequence to append (default=False) :param bool invert: (Optional) Invert the colors (default=False) """ def __init__( - self, - bus: displayio.FourWire, - *, - bgr: bool = False, - invert: bool = False, - **kwargs: Any + self, bus: FourWire, *, bgr: bool = False, invert: bool = False, **kwargs: Any ): init_sequence = _INIT_SEQUENCE if bgr: diff --git a/examples/st7735r_128x160_colored_labels.py b/examples/st7735r_128x160_colored_labels.py index 51a9051..d9b126b 100755 --- a/examples/st7735r_128x160_colored_labels.py +++ b/examples/st7735r_128x160_colored_labels.py @@ -9,10 +9,14 @@ import board import terminalio import displayio -import fourwire from adafruit_display_text import label from adafruit_st7735r import ST7735R +try: + from fourwire import FourWire +except ImportError: + from displayio import FourWire + # Release any resources currently in use for the displays displayio.release_displays() @@ -20,7 +24,7 @@ tft_cs = board.D5 tft_dc = board.D6 -display_bus = fourwire.FourWire(spi, command=tft_dc, chip_select=tft_cs, reset=board.D9) +display_bus = FourWire(spi, command=tft_dc, chip_select=tft_cs, reset=board.D9) display = ST7735R( display_bus, width=160, height=80, colstart=24, rotation=270, bgr=False diff --git a/examples/st7735r_128x160_simpletest.py b/examples/st7735r_128x160_simpletest.py index 9b69ae0..10561c7 100644 --- a/examples/st7735r_128x160_simpletest.py +++ b/examples/st7735r_128x160_simpletest.py @@ -9,10 +9,15 @@ import board import terminalio import displayio -import fourwire from adafruit_display_text import label from adafruit_st7735r import ST7735R +# Support both 8.x.x and 9.x.x. Change when 8.x.x is discontinued as a stable release. +try: + from fourwire import FourWire +except ImportError: + from displayio import FourWire + # Release any resources currently in use for the displays displayio.release_displays() @@ -20,7 +25,7 @@ tft_cs = board.D5 tft_dc = board.D6 -display_bus = fourwire.FourWire(spi, command=tft_dc, chip_select=tft_cs, reset=board.D9) +display_bus = FourWire(spi, command=tft_dc, chip_select=tft_cs, reset=board.D9) display = ST7735R(display_bus, width=160, height=128, rotation=90, bgr=True) diff --git a/examples/st7735r_18tftshield_buttons.py b/examples/st7735r_18tftshield_buttons.py index 368a593..11b1198 100644 --- a/examples/st7735r_18tftshield_buttons.py +++ b/examples/st7735r_18tftshield_buttons.py @@ -7,10 +7,15 @@ import time import board import displayio -import fourwire from adafruit_seesaw.tftshield18 import TFTShield18 from adafruit_st7735r import ST7735R +# Support both 8.x.x and 9.x.x. Change when 8.x.x is discontinued as a stable release. +try: + from fourwire import FourWire +except ImportError: + from displayio import FourWire + # Release any resources currently in use for the displays displayio.release_displays() @@ -20,7 +25,7 @@ tft_cs = board.D10 tft_dc = board.D8 -display_bus = fourwire.FourWire(spi, command=tft_dc, chip_select=tft_cs) +display_bus = FourWire(spi, command=tft_dc, chip_select=tft_cs) ss.tft_reset() display = ST7735R(display_bus, width=160, height=128, rotation=90, bgr=True) diff --git a/examples/st7735r_minitft_featherwing_simpletest.py b/examples/st7735r_minitft_featherwing_simpletest.py index eaa565c..48df82d 100644 --- a/examples/st7735r_minitft_featherwing_simpletest.py +++ b/examples/st7735r_minitft_featherwing_simpletest.py @@ -9,11 +9,16 @@ import board import terminalio import displayio -import fourwire from adafruit_display_text import label from adafruit_seesaw.seesaw import Seesaw from adafruit_st7735r import ST7735R +# Support both 8.x.x and 9.x.x. Change when 8.x.x is discontinued as a stable release. +try: + from fourwire import FourWire +except ImportError: + from displayio import FourWire + # Release any resources currently in use for the displays displayio.release_displays() @@ -27,7 +32,7 @@ tft_cs = board.D5 tft_dc = board.D6 -display_bus = fourwire.FourWire(spi, command=tft_dc, chip_select=tft_cs) +display_bus = FourWire(spi, command=tft_dc, chip_select=tft_cs) ss.digital_write(reset_pin, True) display = ST7735R( diff --git a/examples/st7735r_minitft_revb_simpletest.py b/examples/st7735r_minitft_revb_simpletest.py index d7e52a0..9af59bb 100644 --- a/examples/st7735r_minitft_revb_simpletest.py +++ b/examples/st7735r_minitft_revb_simpletest.py @@ -9,10 +9,15 @@ import board import terminalio import displayio -import fourwire from adafruit_display_text import label from adafruit_st7735r import ST7735R +# Support both 8.x.x and 9.x.x. Change when 8.x.x is discontinued as a stable release. +try: + from fourwire import FourWire +except ImportError: + from displayio import FourWire + # Release any resources currently in use for the displays displayio.release_displays() @@ -20,7 +25,7 @@ tft_cs = board.D5 tft_dc = board.D6 -display_bus = fourwire.FourWire(spi, command=tft_dc, chip_select=tft_cs, reset=board.D9) +display_bus = FourWire(spi, command=tft_dc, chip_select=tft_cs, reset=board.D9) display = ST7735R( display_bus, diff --git a/examples/st7735r_minitft_simpletest.py b/examples/st7735r_minitft_simpletest.py index d84c145..a8a885d 100644 --- a/examples/st7735r_minitft_simpletest.py +++ b/examples/st7735r_minitft_simpletest.py @@ -9,10 +9,15 @@ import board import terminalio import displayio -import fourwire from adafruit_display_text import label from adafruit_st7735r import ST7735R +# Support both 8.x.x and 9.x.x. Change when 8.x.x is discontinued as a stable release. +try: + from fourwire import FourWire +except ImportError: + from displayio import FourWire + # Release any resources currently in use for the displays displayio.release_displays() @@ -20,7 +25,7 @@ tft_cs = board.D5 tft_dc = board.D6 -display_bus = fourwire.FourWire(spi, command=tft_dc, chip_select=tft_cs, reset=board.D9) +display_bus = FourWire(spi, command=tft_dc, chip_select=tft_cs, reset=board.D9) display = ST7735R( display_bus, width=160, height=80, colstart=24, rotation=270, bgr=True diff --git a/examples/st7735r_simpletest.py b/examples/st7735r_simpletest.py index 050dce5..6a400e2 100644 --- a/examples/st7735r_simpletest.py +++ b/examples/st7735r_simpletest.py @@ -9,10 +9,15 @@ import board import terminalio import displayio -import fourwire from adafruit_display_text import label from adafruit_st7735r import ST7735R +# Support both 8.x.x and 9.x.x. Change when 8.x.x is discontinued as a stable release. +try: + from fourwire import FourWire +except ImportError: + from displayio import FourWire + # Release any resources currently in use for the displays displayio.release_displays() @@ -20,7 +25,7 @@ tft_cs = board.D5 tft_dc = board.D6 -display_bus = fourwire.FourWire(spi, command=tft_dc, chip_select=tft_cs, reset=board.D9) +display_bus = FourWire(spi, command=tft_dc, chip_select=tft_cs, reset=board.D9) display = ST7735R(display_bus, width=128, height=128, colstart=2, rowstart=1)