- Fix color blending truncation in blend(): compute the full weighted
sum as float64 before casting to uint8, avoiding double truncation
- Fix UC8159 on IMPRESSION57 incorrectly reporting height as 447;
correct it to 448 in DetectOpts
- Add Opts.String() for human-readable option printing
- Refactor update() if/else chain to a switch statement
- Add TestDevImpression_BlendPrecision to cover the blend fix
Signed-off-by: Çağlar Onur <caglar@10ur.org>
*Changed the SPI CS pin to work under automatic or manual control. This allows it to work when CS is controlled by SPI, or when it is controlled manually. We don't want it to fail in the configuration the Pimoroni python driver requires.
*Changed the wait() routine to use a 10ms debounce on WaitForEdge() as the python driver does.
*If the BUSY line is high on entry to wait to go directly to a timed wait as the python driver does.
*Fixed errors in the palette definitions. Removed extra memory allocation.
It is a 7 colour ePaper/eInk HAT that comes with 5.7" (600 x 448 pixel) or 4" (640 x 400 pixel).
Refactors the existing 3 color Inky and adds additional fields to
auto-detect via EEPROM.
Tested with 5.7" version.