Skip to content

Commit 5417f62

Browse files
authored
Merge pull request #24 from dhalbert/fourwire
support 8.x.x. and 9.x.x FourWire
2 parents 8efd9f7 + 2aa8c34 commit 5417f62

6 files changed

+44
-17
lines changed

adafruit_ssd1680.py

+9-3
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,13 @@
2828
2929
"""
3030

31-
import displayio
31+
try:
32+
from epaperdisplay import EPaperDisplay
33+
from fourwire import FourWire
34+
except ImportError:
35+
from displayio import EPaperDisplay
36+
from displayio import FourWire
37+
3238

3339
__version__ = "0.0.0+auto.0"
3440
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_SSD1680.git"
@@ -50,7 +56,7 @@
5056

5157

5258
# pylint: disable=too-few-public-methods
53-
class SSD1680(displayio.EPaperDisplay):
59+
class SSD1680(EPaperDisplay):
5460
r"""SSD1680 driver
5561
5662
:param bus: The data bus the display is on
@@ -66,7 +72,7 @@ class SSD1680(displayio.EPaperDisplay):
6672
Display rotation
6773
"""
6874

69-
def __init__(self, bus: displayio.FourWire, **kwargs) -> None:
75+
def __init__(self, bus: FourWire, **kwargs) -> None:
7076
if "colstart" not in kwargs:
7177
kwargs["colstart"] = 8
7278
stop_sequence = bytearray(_STOP_SEQUENCE)

examples/ssd1680_2.13_featherwing.py

+7-4
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,22 @@
1717
import time
1818
import board
1919
import displayio
20-
import fourwire
2120
import adafruit_ssd1680
2221

22+
# For 8.x.x and 9.x.x. When 8.x.x is discontinued as a stable release, change this.
23+
try:
24+
from fourwire import FourWire
25+
except ImportError:
26+
from displayio import FourWire
27+
2328
displayio.release_displays()
2429

2530
# This pinout works on a Metro M4 and may need to be altered for other boards.
2631
spi = board.SPI() # Uses SCK and MOSI
2732
epd_cs = board.D9
2833
epd_dc = board.D10
2934

30-
display_bus = fourwire.FourWire(
31-
spi, command=epd_dc, chip_select=epd_cs, baudrate=1000000
32-
)
35+
display_bus = FourWire(spi, command=epd_dc, chip_select=epd_cs, baudrate=1000000)
3336
time.sleep(1)
3437

3538
display = adafruit_ssd1680.SSD1680(

examples/ssd1680_2.13_mono_eink_bonnet.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,14 @@
1818
import time
1919
import board
2020
import displayio
21-
import fourwire
2221
import adafruit_ssd1680
2322

23+
# For 8.x.x and 9.x.x. When 8.x.x is discontinued as a stable release, change this.
24+
try:
25+
from fourwire import FourWire
26+
except ImportError:
27+
from displayio import FourWire
28+
2429
displayio.release_displays()
2530

2631
# This pinout works on a Metro M4 and may need to be altered for other boards.
@@ -30,7 +35,7 @@
3035
epd_reset = board.D27 # Set to None for FeatherWing
3136
epd_busy = board.D17 # Set to None for FeatherWing
3237

33-
display_bus = fourwire.FourWire(
38+
display_bus = FourWire(
3439
spi, command=epd_dc, chip_select=epd_cs, reset=epd_reset, baudrate=1000000
3540
)
3641
time.sleep(1)

examples/ssd1680_2.13_tricolor_breakout.py

+7-4
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,14 @@
1414
import time
1515
import board
1616
import displayio
17-
import fourwire
1817
import adafruit_ssd1680
1918

19+
# For 8.x.x and 9.x.x. When 8.x.x is discontinued as a stable release, change this.
20+
try:
21+
from fourwire import FourWire
22+
except ImportError:
23+
from displayio import FourWire
24+
2025
displayio.release_displays()
2126

2227
# This pinout works on a Metro M4 and may need to be altered for other boards.
@@ -26,9 +31,7 @@
2631
epd_reset = board.D5
2732
epd_busy = board.D6
2833

29-
display_bus = fourwire.FourWire(
30-
spi, command=epd_dc, chip_select=epd_cs, baudrate=1000000
31-
)
34+
display_bus = FourWire(spi, command=epd_dc, chip_select=epd_cs, baudrate=1000000)
3235
time.sleep(1)
3336

3437
display = adafruit_ssd1680.SSD1680(

examples/ssd1680_four_corners.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,15 @@
1313
import board
1414
import busio
1515
import displayio
16-
import fourwire
1716
import terminalio
1817
import adafruit_ssd1680
1918

19+
# For 8.x.x and 9.x.x. When 8.x.x is discontinued as a stable release, change this.
20+
try:
21+
from fourwire import FourWire
22+
except ImportError:
23+
from displayio import FourWire
24+
2025
displayio.release_displays()
2126

2227
# This pinout works on a Feather RP2040 EPD and may need to be altered for other
@@ -28,7 +33,7 @@
2833
epd_reset = board.EPD_RESET
2934
epd_busy = board.EPD_BUSY
3035

31-
display_bus = fourwire.FourWire(
36+
display_bus = FourWire(
3237
spi, command=epd_dc, chip_select=epd_cs, reset=epd_reset, baudrate=1000000
3338
)
3439
display = adafruit_ssd1680.SSD1680(

examples/ssd1680_simpletest.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,14 @@
1818
import time
1919
import board
2020
import displayio
21-
import fourwire
2221
import adafruit_ssd1680
2322

23+
# For 8.x.x and 9.x.x. When 8.x.x is discontinued as a stable release, change this.
24+
try:
25+
from fourwire import FourWire
26+
except ImportError:
27+
from displayio import FourWire
28+
2429
displayio.release_displays()
2530

2631
# This pinout works on a Metro M4 and may need to be altered for other boards.
@@ -30,7 +35,7 @@
3035
epd_reset = board.D8 # Set to None for FeatherWing
3136
epd_busy = board.D7 # Set to None for FeatherWing
3237

33-
display_bus = fourwire.FourWire(
38+
display_bus = FourWire(
3439
spi, command=epd_dc, chip_select=epd_cs, reset=epd_reset, baudrate=1000000
3540
)
3641
time.sleep(1)

0 commit comments

Comments
 (0)