robweber/omni-epd
An EPD (electronic paper display) class abstraction to simplify communications across multiple display types.
9 Releases
Latest: 1y ago
Version 0.4.2v0.4.2Latest
✨ Added
- support for [Waveshare 7.3in E](https://www.waveshare.com/7.3inch-e-paper-hat-e.htm) display - thanks @antoinecellerier
📋 Changed
- replaced `importlib.resources` with `importlib_resources` per the [migration information](https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy)
- Waveshare libraries now loaded from [official repo](https://github.com/waveshareteam/e-Paper) again.
🐛 Fixed
- Waveshare 7.3 inch was loading the wrong driver - thanks @reinharty
- Waveshare 1.54in V2 had wrong init() method - thanks @W11T
- fixed GitHub actions Pytests not working
✨ Added
- `--list` argument for the `omni-epd-test` utility. This will list all valid display options and exit.
- Added [PiArtFrame](https://github.com/runezor/PiArtFrame) to projects list
📋 Changed
- added development mode install instructions to README
🐛 Fixed
- waveshare 1in displays had wrong device name in README - thanks @rpdom
- palette filter processing was not working with modes other than black/white - thanks @fardage for the issue
Version 0.4.0v0.4.0
✨ Added
- support for Raspberry Pi OS 12 (Bookworm) and Python 3.11 through some dependency fixes
- information regarding Python virtual environment usage
- disclaimer on status of official Waveshare repo support with Bookworm
📋 Changed
- updated IT8951 repo link to build from source with RPI dependencies
- Waveshare drivers now loaded from [forked repo](https://github.com/mendhak/waveshare-epaper-sample) to fix Bookworm Rpi detection
- `setup.cfg` information merged into `pyproject.toml`
Version 0.3.5v0.3.5
📋 Changed
- changed valid Python versions from 3.7 < 3.11. Issues currently on 3.11 installs running on Raspberry Pi OS 12 (Bookworm)
- pinned Waveshare repo to [4822c07](https://github.com/waveshareteam/e-Paper/commit/4822c075f5df714f88b02e10c336b4eeff7e603e). This is known to work with Python 3.7 < 3.10.
- pinned IT8951 repo to [6721516](https://github.com/GregDMeyer/IT8951/commit/67215164a7fc471bc6904f72ad55e51030905a97). This is known to work with Python 3.7 < 3.10.
🐛 Fixed
- Updated Waveshare GitHub URL to https://github.com/waveshareteam/e-Paper/ in README and documentation
- Fixed Waveshare 1.02in as the `display()` method [has changed](https://github.com/waveshareteam/e-Paper/pull/283)
Version 0.3.4v0.3.4
✨ Added
- `palette_filter` advanced option now supports [color names](https://github.com/python-pillow/Pillow/blob/e3cb4bb8e00fcaf4c3e0783f7c02e51372595659/src/PIL/ImageColor.py#L153-L305) or hex values in addition to RGB colors. Thanks @missionfloyd
- IT8951 devices now support `gray16` mode for grayscale
- [Waveshare 10.3 IT8951](https://www.waveshare.com/10.3inch-e-paper-hat.htm) device marked as tested. Thanks @simonjowett
✨ Added
- added link to [pycasso](https://github.com/jezs00/pycasso) in the README. Thanks @jezs00
- new displays, [Waveshare 7.3in 7 Color](https://www.waveshare.com/7.3inch-e-paper-hat-f.htm) - thanks @evelyndooley, [Waveshare 2.13in V3](https://www.waveshare.com/2.13inch-e-paper-hat.htm)
Version 0.3.2v0.3.2
📋 Changed
- updated Pillow min version to 9.1+
- code cleanup for proper style standards - thanks @missionfloyd
✨ Added
- added new 4 color waveshare displays (epd1in64g, epd2in36g, epd3in0g, epd4in37g, epd7in3g). Thanks @missionfloyd
Version 0.3.1v0.3.1
✨ Added
- `omni_epd.mock` can now set both the width and height values within the `.ini` file. Thanks @missionfloyd
🐛 Fixed
- `omni_epd.mock` device now returns a palette filter when using the color mode. Previously this returned only b/w and resulted in image processing enhancements resulting in a black and white only image, even when color was selected. Hardcoded palette based on web safe colors.
- Waveshare device `epd2in13_V2` should use the alternate clear method which requires a color parameter. Thanks @ThatIsAPseudo for pointing this out
📋 Changed
- dithering is now done with [didder](https://github.com/makeworld-the-better-one/didder) - this is a massive improvement both in scope and speed to hitherdither. Thanks @missionfloyd
🗑️ Removed
- removed `hitherdither` as a dependency
Version 0.3.0v0.3.0
✨ Added
- added `force_palette` argument to the `virtualepd._filter()` function. Will force palette based conversion if wanted, default is False
- added additional tested displays per #63 comments
- new unit tests to make sure image processing components run without error
- support for `inky.auto` as a valid EPD device. This will auto detect Inky devices and load the correct driver. Thanks @donbing
- support for IT8951 devices, such as the WaveShare 6in display
🐛 Fixed
- calls to `Image.quantize` require an RGB or L mode Image object, convert any loaded image before applying new palettes
- when filling palette too many colors were being set (< 256), wrong length variable was being used
- fixed regression where Inky `bw` mode was causing colors to be inverted
- universal fix for Waveshare Tri-color displays as original fixes broke some displays - thanks @aaron8684
📋 Changed
- make sure Pillow and Inky packages are known working versions or above - thanks @donbing
- `bw` standardized as the consistent naming for the default black/white device mode. `black` will throw a warning, affects Inky devices - thanks @missionfloyd
Version 0.2.6v0.2.6
✨ Added
- added `version` identifier for Waveshare devices so that V2 and V3 boards can be identified from the others
🐛 Fixed
- fixed typos in 5.65in Waveshare implementation - thanks @aaronr8684
- fixed issues with BW display on 7.5 tri-color screens - thanks @aaronr8684
🗑️ Removed
- removed dependency inky[fonts], this is not needed. Thanks @missionfloyd
Version 0.2.5v0.2.5
🐛 Fixed
- fixed overlay colors in epd5in83c tri-color display (thanks @dr-boehmerie)
✨ Added
- `waveshare_epd.epd2in9` and `waveshare_epd.epd5in83c` are now tested (thanks @dr-boehmerie)
