From fd8ff177e62a0c9ce100e91597b34dfff1c3d02e Mon Sep 17 00:00:00 2001 From: Melissa LeBlanc-Williams Date: Thu, 6 Jul 2023 09:34:48 -0700 Subject: [PATCH] Finish readme --- README.rst | 73 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 61 insertions(+), 12 deletions(-) diff --git a/README.rst b/README.rst index b2e125a..407d900 100644 --- a/README.rst +++ b/README.rst @@ -37,18 +37,8 @@ or individual libraries can be installed using `circup `_. - -.. todo:: Describe the Adafruit product this library works with. For PCBs, you can also add the -image from the assets folder in the PCB's GitHub repo. - -`Purchase one from the Adafruit shop `_ - Installing from PyPI ===================== -.. note:: This library is not available on PyPI yet. Install documentation is included - as a standard element. Stay tuned for PyPI availability! - -.. todo:: Remove the above note if PyPI version is/will be available at time of release. On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally `from PyPI `_. @@ -99,8 +89,67 @@ Or the following command to update an existing version: Usage Example ============= -.. todo:: Add a quick, simple example. It and other examples should live in the -examples folder and be included in docs/examples.rst. +.. code-block:: python + + import time + import board + import displayio + import adafruit_ek79686 + + # Used to ensure the display is free in CircuitPython + displayio.release_displays() + + # Define the pins needed for display use on the Metro + spi = board.SPI() + epd_cs = board.D10 + epd_dc = board.D9 + epd_reset = board.D5 + epd_busy = board.D6 + + # Create the displayio connection to the display pins + display_bus = displayio.FourWire( + spi, command=epd_dc, chip_select=epd_cs, reset=epd_reset, baudrate=1000000 + ) + time.sleep(1) # Wait a bit + + # Create the display object - the third color is red (0xff0000) + display = adafruit_ek79686.EK79686( + display_bus, + width=264, + height=176, + busy_pin=epd_busy, + highlight_color=0xFF0000, + rotation=90, + ) + + # Create a display group for our screen objects + g = displayio.Group() + + + # Display a ruler graphic from the root directory of the CIRCUITPY drive + with open("/display-ruler.bmp", "rb") as f: + pic = displayio.OnDiskBitmap(f) + # Create a Tilegrid with the bitmap and put in the displayio group + # CircuitPython 6 & 7 compatible + t = displayio.TileGrid( + pic, pixel_shader=getattr(pic, "pixel_shader", displayio.ColorConverter()) + ) + # CircuitPython 7 compatible only + # t = displayio.TileGrid(pic, pixel_shader=pic.pixel_shader) + g.append(t) + + # Place the display group on the screen (does not refresh) + display.show(g) + + # Show the image on the display + display.refresh() + + print("refreshed") + + # Do Not refresh the screen more often than every 180 seconds + # for eInk displays! Rapid refreshes will damage the panel. + time.sleep(180) + Documentation =============