Hey everyone,
I'm tinkering with this waveshare e-ink display right now and am somewhat confused about refreshing. Here's my understanding so far:
I send an image as a byte array to the EPS8266 which is running the display. Originally I took this library provided by waveshare to handle images and push them onto the display. It takes the data and performs a full refresh, taking some time. Now I've seen that there are also partial refreshes, which are somewhat confusing to me. Loading two images per full refresh shows them perfectly fine. Loading two images with partial refreshes leads to some weird "overwriting", where the old image does not get cleared completely. I have attached some photos.
Is this supposed to be this way? How does the logic behind a partial refresh work? (does it calculate deltas and only updates pixels where content has been added?) Is it possible to only refresh a part of the display with pixel coordinates?
Or is my code simply broken? Since the original library didn't include partial refresh, I tried to copy their python code from their example repository, which includes partial refresh, into C for the Arduino. But I don't really have a clue what registers and LUTs are... My code is attached.
Thanks for help and explanations.
epd.h (7.6 KB)
epd2in13.h (5.74 KB)
Loader.ino (3.2 KB)