Replies: 3 comments 1 reply
-
It's hard to say, really. These are quite different devices so probably a fair amount of changes are needed. First of all, the screens use different driver ICs, so any part of code that references control registers has to be adjusted to use proper registers for your screen and you'd probably have to rewrite the display initialisation method to make sure it'll work (this can be found in Waveshare's code if you know which one to use). You also have to replace LUTs for ones that work with it, they're defined in Waveshare's example code, but I have no idea which would be useful since there are a lot of them there. Also, the way LUTs are sent to the device seems more complicated and you'd have to analyse it to see what's exactly going on there and adjust the code accordingly. It gets even more complicated by the fact your screen can be used in several different modes with different initialisation (and data handling in partial mode) so I'd suggest sticking to one mode, for now, you can always add the others later on. All in all, I think it's doable, it'll just require a bit of work, reading the datasheet and carefully going through the original example from Waveshare, and of course a lot of testing to make sure everything works as expected. |
Beta Was this translation helpful? Give feedback.
-
Thanks for getting back to me! Yeah, I figured it wasn’t trivial! A good learning exercise though so I’ll have a stab ! Thanks again!
…Sent from my iPhone
On 24 Aug 2022, at 20:49, phoreglad ***@***.***> wrote:
It's hard to say, really. These are quite different devices so probably a fair amount of changes are needed. First of all, the screens use different driver ICs, so any part of code that references control registers has to be adjusted to use proper registers for your screen and you'd probably have to rewrite the display initialisation method to make sure it'll work (this can be found in Waveshare's code if you know which one to use). You also have to replace LUTs for ones that work with it, they're defined in Waveshare's example code, but I have no idea which would be useful since there are a lot of them there. Also, the way LUTs are sent to the device seems more complicated and you'd have to analyse it to see what's exactly going on there and adjust the code accordingly. It gets even more complicated by the fact your screen can be used in several different modes with different initialisation (and data handling in partial mode) so I'd suggest sticking to one mode, for now, you can always add the others later on.
All in all, I think it's doable, it'll just require a bit of work, reading the datasheet and carefully going through the original example from Waveshare, and of course a lot of testing to make sure everything works as expected.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.
|
Beta Was this translation helpful? Give feedback.
-
I also have the 4.2 inch display and would very much like to use phoreglad's code. Did you make any progress with this? Thanks, David. |
Beta Was this translation helpful? Give feedback.
-
Hey there, i have the 4.2 epaper version (https://www.waveshare.com/wiki/Pico-ePaper-4.2-B#Overview) and trying to work out what i would need to change in your script in order to get it working for my screen?
I got the example code from Waveshare working (https://github.com/waveshare/Pico_ePaper_Code/blob/main/python/Pico-ePaper-4.2.py) but it's really limited (e.g. 8x8 pixel fonts only) and your code looks just like what i'm looking for, just can't work out what would be switched out to make it work. The Pins look the same..
Any steer would be appreciated!!
Sean.
Beta Was this translation helpful? Give feedback.
All reactions