Support for Waveshare displays in InkyPi
- Install Inkypi, following repo instructions
- Execute sudo
/usr/local/inkypi/venv_inkypi/bin/python -m pip install gpiozero lgpio RPi.GPIO
to install dependencies needed by waveshare - Go to
/boot/firmware/config.txt
and comment linedtoverlay=spi0-0cs
or change it todtoverlay=spi0-2cs
. Executing the commandls /dev/spi*
should return two things - At this point waveshare demo should work
- Clone waveshare
repo git clone https://github.com/waveshareteam/e-Paper.git
- Copy folder waveshare_epd from waveshare repo into
src/
folder of inkypi repo - In
display_manager.py
add your import, according to your screen model:
from waveshare_epd import epd7in3e
- In
display_manager.py
replace the following:
self.inky_display = auto()
self.inky_display.set_border(self.inky_display.BLACK)
with you display driver name
self.epd = epd7in3e.EPD()
self.epd.init()
and all instances of
self.inky_display.show()
with
self.epd.display(self.epd.getbuffer(image))
the line
device_config.update_value("resolution",[int(self.inky_display.width), int(self.inky_display.height)], write=True)
replace with
device_config.update_value("resolution",[int(self.epd.width), int(self.epd.height)], write=True)
$ git clone https://github.com/acscpt/InkyPi-WS.git
$ git checkout develop
$ cd InkyPi-WS
$ sudo bash install/install.sh [-W <waveshare device model>]