robweber / omni-epd

An EPD (electronic paper display) class abstraction to simplify communications across multiple display types.
GNU General Public License v3.0
84 stars 19 forks source link

Wrong resolution for waveshare_epd.epd7in3g, 168x400 but should be 800x480 #99

Closed reinharty closed 5 months ago

reinharty commented 5 months ago

Hello @robweber , thank you for this library. I believe I might have found a bug in the implementation of the epd7in3g. Its a B/W,Red,Yellow screen. When running the basic and init examples, it only draws to a small area instead of fullscreen: PXL_20240622_133503155 jpg_compressed

Using the official Waveshare_epd example for the same screen, it draws to the whole screen: PXL_20240622_140540571 jpg_compressed (Ironically I only managed to get this to work after installing your module.)

Printing width and height results in 168 and 400 but should be 800x480. Sadly I have been unable to identify where these values are loaded from.

robweber commented 5 months ago

Thanks for all of the information on this. I was able to locate the issue pretty quickly. Looks like the wrong Waveshare lib is being loaded for this display. For any of the displays that aren't checked as "confirmed working" this is pretty common to find a small thing. We did the best we could trying to translate all the individual driver falls.

I should be able to fix this up quick and get it in the repo. If you wouldn't mind confirming the fix after it's done I can mark this display as tested.

reinharty commented 5 months ago

Thank you for your quick reply. Due to the comment I assumed it was the correct driver, hence, I did not test that change. I will gladly test and confirm it as soon as possible.

reinharty commented 5 months ago

Hi @robweber , I opened a PR with the fix and apended a picture as proof.