Fix bug in epd29.py.

pull/56/head
peterhinch 2023-05-16 09:52:18 +01:00
rodzic 7be1073f48
commit aff6d82e39
3 zmienionych plików z 46 dodań i 1 usunięć

Wyświetl plik

@ -22,7 +22,7 @@ import uasyncio as asyncio
from micropython import const
from time import sleep_ms, sleep_us, ticks_ms, ticks_us, ticks_diff
_def asyncio_running():
def asyncio_running():
try:
_ = asyncio.current_task()
except:

Wyświetl plik

@ -57,5 +57,6 @@ async def test():
try:
asyncio.run(test())
finally:
_ = asyncio.new_event_loop()
if epaper:
ssd.sleep()

Wyświetl plik

@ -0,0 +1,44 @@
# epd29_pico.py Config for Pico with 2.9" ePaper.
# Customise for your hardware config.
# Released under the MIT License (MIT). See LICENSE.
# Copyright (c) 2023 Peter Hinch
# Supports Adafruit 2.9" monochrome EPD with interface board connected to Pyboard.
# Interface breakout: https://www.adafruit.com/product/4224
# Display: https://www.adafruit.com/product/4262
# Demo of initialisation procedure designed to minimise risk of memory fail
# when instantiating the frame buffer. The aim is to do this as early as
# possible before importing other modules.
# WIRING. Adafruit schematic linked on the product web pagerefers to a different
# device. These are the pins on the physical board.
# Pico Breakout
# Vbus Vin (1)
# Gnd Gnd (3)
# 4 MISO (no need to connect)
# 6 SCK (4)
# 7 MOSI (6)
# 8 DC (8)
# 9 RST (10)
# 10 CS (7)
# 11 BUSY (11) (Low = Busy)
from machine import Pin, SPI
import gc
from drivers.epaper.epd29 import EPD as SSD
pdc = Pin(8, Pin.OUT, value=0)
prst = Pin(9, Pin.OUT, value=1)
pcs = Pin(10, Pin.OUT, value=1)
pbusy = Pin(11, Pin.IN)
# Baudrate. Adafruit use 1MHz at
# https://learn.adafruit.com/adafruit-eink-display-breakouts/circuitpython-code-2
# Datasheet P35 indicates up to 10MHz.
spi = SPI(0, sck=Pin(6), mosi=Pin(7), miso=Pin(4), baudrate=5_000_000)
gc.collect() # Precaution before instantiating framebuf
ssd = SSD(spi, pcs, pdc, prst, pbusy) # Create a display instance