Skip to content

Commit

Permalink
Merge pull request #20 from makermelissa/bonnet-example
Browse files Browse the repository at this point in the history
Add an example for the 2.13 inch eink bonnet
  • Loading branch information
tannewt authored Oct 3, 2023
2 parents 966bf35 + 8e63ed5 commit 5b9337f
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 4 deletions.
1 change: 0 additions & 1 deletion examples/ssd1680_2.13_featherwing.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@

display = adafruit_ssd1680.SSD1680(
display_bus,
colstart=8,
width=250,
height=122,
highlight_color=0xFF0000,
Expand Down
71 changes: 71 additions & 0 deletions examples/ssd1680_2.13_mono_eink_bonnet.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# SPDX-FileCopyrightText: 2017 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.13" 250x122 tri-color display.
Supported products:
* Adafruit 2.13" Tri-Color eInk Display Breakout
* https://www.adafruit.com/product/4947
* Adafruit 2.13" Tri-Color eInk Display FeatherWing
* https://www.adafruit.com/product/4814
* Adafruit 2.13" Mono eInk Display FeatherWing
* https://www.adafruit.com/product/4195
"""

import time
import board
import displayio
import adafruit_ssd1680

displayio.release_displays()

# This pinout works on a Metro M4 and may need to be altered for other boards.
spi = board.SPI() # Uses SCK and MOSI
epd_cs = board.CE0
epd_dc = board.D22
epd_reset = board.D27 # Set to None for FeatherWing
epd_busy = board.D17 # Set to None for FeatherWing

display_bus = displayio.FourWire(
spi, command=epd_dc, chip_select=epd_cs, reset=epd_reset, baudrate=1000000
)
time.sleep(1)

# For issues with display not updating top/bottom rows correctly set colstart to 8
display = adafruit_ssd1680.SSD1680(
display_bus,
width=250,
height=122,
busy_pin=epd_busy,
highlight_color=0xFF0000,
rotation=90,
)


g = displayio.Group()

with open("display-ruler.bmp", "rb") as f:
pic = displayio.OnDiskBitmap(f)
t = displayio.TileGrid(pic, pixel_shader=pic.pixel_shader)
g.append(t)

display.show(g)

display.refresh()

print("refreshed")

time.sleep(display.time_to_refresh + 5)
# Always refresh a little longer. It's not a problem to refresh
# a few seconds more, but it's terrible to refresh too early
# (the display will throw an exception when if the refresh
# is too soon)
print("waited correct time")


# Keep the display the same
while True:
time.sleep(10)
1 change: 0 additions & 1 deletion examples/ssd1680_2.13_tricolor_breakout.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@

display = adafruit_ssd1680.SSD1680(
display_bus,
colstart=8,
width=250,
height=122,
highlight_color=0xFF0000,
Expand Down
1 change: 0 additions & 1 deletion examples/ssd1680_four_corners.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
)
display = adafruit_ssd1680.SSD1680(
display_bus,
colstart=8,
width=250,
height=122,
busy_pin=epd_busy,
Expand Down
1 change: 0 additions & 1 deletion examples/ssd1680_simpletest.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
# For issues with display not updating top/bottom rows correctly set colstart to 8
display = adafruit_ssd1680.SSD1680(
display_bus,
colstart=8,
width=250,
height=122,
busy_pin=epd_busy,
Expand Down

0 comments on commit 5b9337f

Please sign in to comment.