Socket
Socket
Sign inDemoInstall

epdlib

Package Overview
Dependencies
5
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    epdlib

library for creating dynamic layouts for frame-buffered devices


Maintainers
1

Readme

epdlib v0.6

EpdLib provides an interface for creating and displaying scalable layouts that work with most of WaveShare's EPaper displays (EPD). The Layout module can also be used for generating layouts for any screen-buffered display that does not require fast updates.

EpdLib provides classes for interfacing with the screen (Screen), building layouts that will work at any resolution (Layout), and blocks that are used to assemble layouts (Block). EpdLib makes it trivial to build a project that will work on almost any WaveShare display without worrying about the resolution or recoding the display functions.

3x2 Sample

5x5 Sample

EpdLib supports almost all of WaveShare's EPD screens. See the Supported Screens below.

  • 7-Color screens are supported in full color
  • HD Screens are supported in 8 bit gray and support partial refresh (~1 second)
  • All 2 and 3 color screens are supported in 1 bit (black and white) only

Changes

See the ChangeLog for details

v0.6

  • Add support for 8-Color WaveShare screens to Block, Screen and Layout
  • All Blocks and Layouts now support "RGB" content
  • Layouts and blocks can now be dynamically updated during runtime
  • Layout.layout dictionaries must contain key type that matches the block type
  • Layouts support HTML standard color names and map [RED, ORANGE, YELLOW, GREEN, BLUE, BLACK, WHITE] to proper WaveShare Values

Dependencies

Python Modules:

  • Pillow: System dependencies for Pillow:
    • libopenjp2-7
    • libtiff5
  • RPi.GPIO
  • spidev: ensure SPI is enabled on the pi
  • waveshare-epd (Non IT8951 based panels): see notes below for installation instructions
    • this is for interacting with waveshare epaper displays and is not strictly needed to use the Block and Layout objects.
  • IT8951 (IT8951 based panels): see notes below for installation instructions

Modules:

  • Block - image and text blocks that can be used to create a layout
  • Layout - create layouts from Blocks that will work on nearly any WaveShare screen automagically
  • Screen - simple interface for writing to WaveShare EPD devices

Supported Screens

ScreenSupportedMode
00. epd13in3kTrue"1" 1 bit
01. epd1in02True"1" 1 bit
02. epd1in54True"1" 1 bit
03. epd1in54_V2True"1" 1 bit
04. epd1in54bTrue"1" 1 bit
05. epd1in54b_V2True"1" 1 bit
06. epd1in54cTrue"1" 1 bit
07. epd1in64gTrue"1" 1 bit
08. epd2in13True"1" 1 bit
09. epd2in13_V2True"1" 1 bit
10. epd2in13_V3True"1" 1 bit
11. epd2in13_V4True"1" 1 bit
12. epd2in13b_V3True"1" 1 bit
13. epd2in13b_V4True"1" 1 bit
14. epd2in13bcTrue"1" 1 bit
15. epd2in13dFalseUnsupported
16. epd2in13gTrue"1" 1 bit
17. epd2in36gTrue"1" 1 bit
18. epd2in66True"1" 1 bit
19. epd2in66bTrue"1" 1 bit
20. epd2in66gTrue"1" 1 bit
21. epd2in7True"1" 1 bit
22. epd2in7_V2True"1" 1 bit
23. epd2in7bTrue"1" 1 bit
24. epd2in7b_V2True"1" 1 bit
25. epd2in9True"1" 1 bit
26. epd2in9_V2True"1" 1 bit
27. epd2in9b_V3True"1" 1 bit
28. epd2in9b_V4True"1" 1 bit
29. epd2in9bcTrue"1" 1 bit
30. epd2in9dFalseUnsupported
31. epd3in0gTrue"1" 1 bit
32. epd3in52True"1" 1 bit
33. epd3in7FalseUnsupported
34. epd4in01fTrue"RGB" 7 Color
35. epd4in2FalseUnsupported
36. epd4in26True"1" 1 bit
37. epd4in2_V2FalseUnsupported
38. epd4in2b_V2True"1" 1 bit
39. epd4in2bcTrue"1" 1 bit
40. epd4in37gTrue"1" 1 bit
41. epd5in65fTrue"RGB" 7 Color
42. epd5in83True"1" 1 bit
43. epd5in83_V2True"1" 1 bit
44. epd5in83b_V2True"1" 1 bit
45. epd5in83bcTrue"1" 1 bit
46. epd7in3fTrue"RGB" 7 Color
47. epd7in3gTrue"1" 1 bit
48. epd7in5True"1" 1 bit
49. epd7in5_HDTrue"1" 1 bit
50. epd7in5_V2True"1" 1 bit
51. epd7in5_V2_oldTrue"1" 1 bit
52. epd7in5b_HDTrue"1" 1 bit
53. epd7in5b_V2True"1" 1 bit
54. epd7in5bcTrue"1" 1 bit
55. All HD IT8951True"L" 8 bit

Add your enthusiasm to standardize the epd1in02 screen to this Pull Request.

The epd3in7 is an oddball that has several issues:

  • 'Non-standard, unsupported EPD.Clear() function',
  • 'AttributeError: module does not support standard EPD.display() function

Notes

WaveShare non-IT8951 Screens

The waveshare-epd library is required for non-IT8951 screens and can be installed from the Git repo:

pip install -e "git+https://github.com/waveshare/e-Paper.git#egg=waveshare_epd&subdirectory=RaspberryPi_JetsonNano/python"

IT8951 basee Screens

Greg D Meyer's IT8951 library is required and can be installed from the Git repo:

pip install -e "git+https://github.com/GregDMeyer/IT8951#egg=IT8951"

getting ready for pypi: https://medium.com/@joel.barmettler/how-to-upload-your-python-package-to-pypi-65edc5fe9c56

Keywords

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc