caemor / epd-waveshare

Drivers for various EPDs from Waveshare and others
ISC License
225 stars 135 forks source link

7.5" V2 display driver does not work #70

Open olback opened 3 years ago

olback commented 3 years ago

A few things I found while trying to get my display to work as expected:

A few things that might be important:

A hacked together version of epd-waveshare can be found here and an example can be found here.

caemor commented 3 years ago

Merged #71

caemor commented 3 years ago

What is still missing from here:

Flocksserver commented 2 years ago

Hey :) I am facing the same problem. My proof of concept hangs at epd7in5_v2v::EPD7in5::new. I am not so familiar with the hardware related programming and the c code provided by waveshare. Is there any plan to fix this? Or do we have to find a proper fix ourselves and create a PR? Thanks for your work 💪

caemor commented 2 years ago

Hello Flocksserver, the delay issue was already fixed and merged in #71 So your issue is most likely slightly different. Which version of this crate are you using? There was quite a long break of crates.io releases from my end until this week, so you might still be stuck on the old, unpatched version. Another possible failure could be your display. Are you sure you have a v2 or maybe you got the newest v3 that they are slowly rolling out for the various displays? Or maybe we got a regression or bug somewhere else

Flocksserver commented 2 years ago

Wow your second name is "The Flash". That was a fast reply :) I got it running, but I don't know what exactly the issue was. Probably not in this crate. The change was, that now I am using the rppal dependency (olback mentioned this crate) for initializing spi, pins etc. I use an old RPI 1 Model B with armv6. Maybe there is an issue in linux_embedded_hal for that architecture, who knows. Not your problem 😎 🥳 It just hung at the same line, so i mistakenly thought it had something to do with the problem here 🤯

whiite commented 1 year ago

Got a chance recently to take a look at this and I believe the culprit might be the change made in #83 which writes bytes one at time instead of all at once as reverting this got my 7.5" HD display working again and suspect this may be the case for the V2 too. Happy to make a PR to sort this one out but seems like we may need to support both depending on the display, don't suppose we know which screens will need each write method?

GBouerat commented 1 year ago

Hi,

I just bought a "7.5 Inch B/W/R V2/V3" with the e-Paper Driver HAT https://www.waveshare.com/7.5inch-e-Paper-HAT-B.htm

And after a day, I didn't succeed to display something on the screen with a raspberry 4 and a raspberry 3 😞 (the c demo from the documentation works https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_(B)_Manual#C_2)

Can someone help me or provide a working sample ? please

Thanks

whiite commented 1 year ago

@GBouerat out of curiosity does this fork work for you instead: https://github.com/whiite/epd-waveshare This includes the change I talked about above that was needed for my 7.5” HD to work

caemor commented 1 year ago

@whiite If you have time, could you test #141 (branch fix_single_write_for_7in5)? I reverted the change of #83 for all 7in5 displays by adding a const switch case.

whiite commented 1 year ago

@caemor yeah sure thing, will probably be next week that I get the chance and I can only check for the HD version at the moment. Looks like a neat solution!

GBouerat commented 1 year ago

@GBouerat out of curiosity does this fork work for you instead: https://github.com/whiite/epd-waveshare This includes the change I talked about above that was needed for my 7.5” HD to work

I try everything I found including your fork, and nothing works for me so far, that's why I ask for some help 👍

whiite commented 1 year ago

@caemor tried testing out that branch but didn't realise there has been quite a number of significant changes since 0.5 - in trying out that branch and fixing compatibility issues with my own code I've ended up breaking my screen so will have to order another before I can check it out again