waveshareteam / e-Paper

1.33k stars 595 forks source link

EPD 7.5 v2: Partial window has issues and displays garbage most of the time #362

Open NorbertRoller opened 1 month ago

NorbertRoller commented 1 month ago

Connected to the ESP32 DEV Modul.

I tried the Examples of "esp32-waveshare-epd" "epd7in5_V2-demo"

Issue 1: With the example Font20 and 7 characters the partial display works! Any iteration Font16 or 8 characters displays garbage unless the x-start is set to 0. The Y-Position doesn't matter. By checking what is transferred to the EPD, I have confirmation that the start and end position is calculated correct. Regardless of different fonts or x-start or number of characters. The Function (EPD_7IN5_V2_Display_Part) is defined in EPD_7in5_V2.cpp (located it Arduino\libraries\esp32-waveshare-epd\src\utility) and this file is a version 3 of 2023-12-18 Until I completely wrong, this must be an issue of the GPU driving the EPD and therefore it can not been fixed in the sample code / Library unless the code on the EPD itself can be flashed. Can someone verify if this assumption is correct or when not help to fix the code, please

Issue 2: I have spend several hours to find the issue and have obviously compared the code against the documention. I believe that the documentation (https://files.waveshare.com/upload/6/60/7.5inch_e-Paper_V2_Specification.pdf) page 25 doesn't match the screen. The function: EPD_7IN5_V2_Display_Part (.....) sets the partial mode and uses the full 8 bits to address x-start and x-end while the documentation only wants HRST[7:3] to be used. Obviously this would only address 64h horizontal dots. Not enough for this display. The code addresses 7:0.

EPD_SendCommand(0x91); //This command makes the display enter partial mode EPD_SendCommand(0x90); //resolution setting EPD_SendData (x_start/256); EPD_SendData (x_start%256); //x-start
EPD_SendData (x_end/256);
EPD_SendData (x_end%256-1); //x-end

Any help is appreciated. Without fully functional partial mode, I will have stop my project.

douglasrubims commented 1 month ago

Same problem here.. i'm using the EPD 7in5b V2 connected to a Raspberry Pi 3B+ (using epd7in5b_V2.py)