Releases: bitbank2/FastEPD
Partial updates for different bit depths
This release adds the ability to do partial updates between different bit depths. In other words, if you draw a scene in 1-bpp mode and then switch to 2-bpp mode, this new code will convert the pixels such that they can be used for a differential (non-flickering) update.
2-bpp partial update
This release adds unique functionality - the ability to use partial updates (non-flashing transitions) in 2-bpp grayscale mode. Small changes have also been made to the fullUpdate() method:
- If CLEAR_NONE is chosen, the 1 and 2-bpp modes will push all pixels towards white and black simultaneously. This will produce correct looking output from any starting point, but does not respect the balance of charge. Use this feature carefully because repeated pushes in a single direction can lead to temporary charge imbalance and a "graying" effect.
- If some form of clearing is done, the update will assume that the display already white and only push black/gray pixels.
Added CLEAR_EXTRA_WHITE
This release adds another update option to help with ghosting. If the CLEAR_WHITE option leaves any slightly gray pixels, this new option, CLEAR_EXTRA_WHITE, will clear them.
Add EPD Inky PCB and multiple GFX fixes
This release adds support for the EPD Inky PCB. An ESP32-P4 board with support for nearly all 8 and 16-bit parallel Eink panels. It also includes many small fixes to the 2D GFX functions.
Added 2-bit support
This release adds support for 2-bit per pixel mode (previously only 1 or 4-bpp). This allows for faster updates which use less RAM for situations that only need 4 distinct gray levels.
I2C bit bang option
This release adds the ability to select bit bang or hardware mode for I2C access. Previously it was done with a compile-time macro.
Reduced gray matrix memory footprint
This release removes the older 38-step gray matrix and replaces the 32-bit lookup tables with 8-bit versions. The memory needed for the gray matrix is reduced from 60K to 4K.
Added TRMNL-X as a named device
This release adds the TRMNL X as a named (pre-configured) device. It consists of an ESP32-S3 connected to a 10.3" 16-bit parallel 1872x1404 panel.
More devices and cleanup
This release adds support for more displays and devices and some cleanup of compiler warnings.
New devices and new font format
This release brings many changes, some will break existing code. Many of the changes are to make all 4 of my display libraries use a common API - as much as possible at least. This release also adds support for the LilyGo T5 S3 4.7 Pro.