Potensial bug in GxEPD2 for 7.5in HD 3 color GDEH075Z90 e-paper, combinded red and black

First, I don't want to make it sound like a bug in the library it self, but rather a case of mysterious Chinese display specification.

I have had this weird bug were using GxEPD2 for the 880x528 HD version of the bw/r 7.5 inch display.
The symptom are that the red color is combined with black, especially when using only a small part of red on the entire picture.
The demo code from waveshare worked just fine.

After some digging, I found a discrepancy in the gate mux register 0x01.
In GxEPD2_750c_Z90.cpp byte 1 and 2 is set to 0x20F = 527, spot on according to Good display demo code and the comment for 527.
Line 385 to 387 in GxEPD2_750c_Z90.cpp

_writeCommand(0x01); // Set MUX as 527
_writeData(0x0F);
_writeData(0x02);

However, in the waveshare demo, the register is set to 0x2AF = 687, even though their comment states 527.

EPD_SendCommand(0x01);  // Set MUX as 527
EPD_SendData(0xAF);
EPD_SendData(0x02);

Changing the 0x1 command to 2af in GxEPD2_750c_Z90.cpp restore proper operation of red color on the display.

I tried playing around some with the value and incrementing a small value above 527 did nothing, still combined b/r.

The display driver datasheet states that the reg goes up to 680 so setting 687 is above the max, changing to 680, 0x2A7 naturally makes no difference and the red is still preserved.

I can’t find a proper datasheet that states the gate driver register values(Or any for that matter) , only example codes so it is hard to figure out what is going on for this display.

It would be very interesting to see if someone could try to replicate this issue.
Given that the display is discontinued on the waveshare site I am not sure if one should spend too much time on it.
It should be noted that I have experienced that the display starts working correctly with GxEPD2 lib after being set properly by the waveshare code until next power cycle, something to keep in mind if trying to replicate. Changing the 0x01 value in GxEPD2 gives immediate results.
That in it self is odd, but lack of documentations makes it hard to figure out, I have a feeling it might be a different register accountable for all of this, but no way to figure it out without going for a deep dive.

Waveshare demo code used: https://files.waveshare.com/upload/5/50/E-Paper_ESP32_Driver_Board_Code.7z

Relevant section from datasheet for the display driver SSD1677:

@Kofen, Hi, welcome to the forum! May help come upon you, hopefully.

Maybe you have a different display than I have. How should I know? Why should I care?

If you got your display to work, this should be enough.

Anyone else?
-jz-

@ZinggJM Thanks!
I hope I did not come across as criticizing your work, you have made a excellent library and I for sure
have saved a ton of time by it being available, thanks!

No, you don't need to care or make any changes as far as I'm concerned.
I created this post mostly in case someone else runs across this same issue so they can hopefully
be pointed in the right direction. And if so, one can consider changing the register value in the library if seen fit.
I might have misunderstood, but I think I read that you liked issues/bugs to be posted to the arduino forum instead of elsewhere.

This is most likely a case of changes made to the display made by the manufacturer/re-seller and given that there is no information on them online(As far as I am able to find at least), forum support/post for other users of these is probably the best way to get the information out there.
Yours might have it or not, who knows.

For whoever would like to report a Potensial or real bug, you are welcome.

But I need complete information. Links to devices in question, wiring, connection module, inking on the panels flexible connector.

I don't see any Waveshare e-paper display with screen dimension of 880x688.
-jz-

I forgot to mention, any newbie should first read:
https://forum.arduino.cc/t/how-to-get-the-best-out-of-this-forum/681314/1