Support more (Color) Displays? Includes a Howto #221
Replies: 37 comments
-
Sorry for the late response.
AFAIK the colored ones just use two buffers instead of one so that also shouldn't be too complicated too add (where the biggest problem will be how to add/change color.rs and if 2 small buffers are better or one big buffer). I am really unsure about this problem. Question to the naming convention: the call it 4in2(b) but wouldn't 4in2_red or something similar be better? Steps that need to be done to add a display generally: (e.g for the 4in2 (b)/red one)
Further stuff:
Good references are:
I am happy to help if you have more specific question but be aware that the colored displays are quite slow. |
Beta Was this translation helpful? Give feedback.
-
I just ordered a 4.2 B/W and a 7.5 Red/Black/White. Has anyone started adding colored display support yet ? Otherwise I might also start looking into it once they arrive. @caemor thanks for those infos. |
Beta Was this translation helpful? Give feedback.
-
I haven't started working on it yet. I might have some time on Sunday at the Oxidize Conf. |
Beta Was this translation helpful? Give feedback.
-
I couldn't find any time on Sunday and gonna be travelling for the next 3 weeks, so you can just start if you want. |
Beta Was this translation helpful? Give feedback.
-
I ordered a R/B/W display as well - I may have a go at this someday. |
Beta Was this translation helpful? Give feedback.
-
@jkristell added support for the 1in54 r/b/w display here: #35 and has an example on using it here: https://github.com/jkristell/nucleo-f401re/blob/add-eink-example/examples/eink.rs |
Beta Was this translation helpful? Give feedback.
-
Although multiple ones were added I am leaving this issue open since it also includes some documentation about how to add a display |
Beta Was this translation helpful? Give feedback.
-
Thanks a lot @caemor for your effort! |
Beta Was this translation helpful? Give feedback.
-
I recently ordered a couple newer displays, including the 3.7in b/w display. I haven't tried bringing it up yet, but if you need a second person to test, feel free to ping me! |
Beta Was this translation helpful? Give feedback.
-
Thanks @jamesmunns ! |
Beta Was this translation helpful? Give feedback.
-
Not yet.
#35 is is a red/black/white display so it is slightly different. Since your 3in7 b/w display seems to have some gray tones you need to define a new color type in color.rs similar to what is defined in their wiki: https://www.waveshare.com/wiki/3.7inch_e-Paper_HAT So while finishing this I saw you already added a new comment :-D
If you click on ressources you can find the specifications. (e.g. Command table starting from page 14 onwards https://www.waveshare.com/w/upload/7/71/3.7inch_e-Paper_Specification.pdf) And just feel free to make a WIP-PR and asks questions if you are stuck anywhere. |
Beta Was this translation helpful? Give feedback.
-
Hey @caemor @jamesmunns , I got my hands on RPi and tested waveshare Python snippet with the same display, everything worked as expected. Digging into my implementation. |
Beta Was this translation helpful? Give feedback.
-
@Alexx-G lets move to issue #68 |
Beta Was this translation helpful? Give feedback.
-
Has anybody started working on the 7.5inch red/black/white yet? I've got a couple at home begging to be used for something! If nobody else has then I might take a look at adding support, but I'm pretty new to Rust so it may take me a while. |
Beta Was this translation helpful? Give feedback.
-
Hello @CyanBlob, |
Beta Was this translation helpful? Give feedback.
-
Have not had time to look at the 7"5 display yet, but I ordered one of the 2"9 inch tricolor and of the 5"65 heptacolor displays from waveshare as well to try out. |
Beta Was this translation helpful? Give feedback.
-
Hi everyone, I use the crate with the experimental port of rust on ESP32, i will try as soon as i get a new raspberry pi to implement the example I'am waiting for a raspberry pi, and a new ESP32 Driver board to test further and maybe create a pull request Here is my fork : https://github.com/simon0356/epd-waveshare Hope it could help anyone. |
Beta Was this translation helpful? Give feedback.
-
@Anshorei I just checked and the V2 Python sample code from here https://github.com/waveshare/e-Paper/blob/master/RaspberryPi_JetsonNano/python/examples/epd_7in5b_V2_test.py works for the V3 7in5. I'm not sure why the epd-waveshare V2 version isn't working but now that I have something working I can start looking into it more |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
I think i got the same issue, if I remenber the following line were important : "DisplayColorRendering::Positive" |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
https://github.com/simon0356/rust-esp32-waveshare-4_2 with the v1 and waveshare esp32 board version out of the box |
Beta Was this translation helpful? Give feedback.
-
Here's my current work: main...CyanBlob:main I can't get it to display white using 'clear_buffer'. I'm not sure what I'm missing. Can somebody familiar with three-color displays take a look? White is always displayed as black after using 'clear_buffer'. It seems to work fine when rendering text though. The docs are here: https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_(B) I'm suspecting that the 7in5 V3 handles colors differently than other tricolor boards. My code is here: https://gitlab.com/CyanBlob/e-paper-rust. For those that want to try with an ESP32 themselves, you need to grab the toolchain from here: https://github.com/esp-rs/esp-idf-template. Some of my demo code came from here: https://github.com/ivmarkov/rust-esp32-std-demo |
Beta Was this translation helpful? Give feedback.
-
Opened PR: #109 The problem was with how the 7in5 V3 handles colors. In the black/white buffer a 255 means white and 0 means black. But in the red/white buffer a 0 means white and a 255 means red, which is effectively inverted. That meant that when I did |
Beta Was this translation helpful? Give feedback.
-
@simon0356 great work, do you plan on opening a PR? |
Beta Was this translation helpful? Give feedback.
-
I'm currently try to make the screen work with my raspberry pi 1, i will try to produce a PR with that |
Beta Was this translation helpful? Give feedback.
-
Hi, is 2.66inch e-Paper Module (B) supported? |
Beta Was this translation helpful? Give feedback.
-
There is #107, which should have been version a. Version B isn't support yet. |
Beta Was this translation helpful? Give feedback.
-
I'm looking to support the 4.2in b/w/r v2.1 display. I'm a little confused at the A vs B vs C etc - what letter would this display be? Are the steps still valid in 2024? I was wondering if I could update simon's previously mentioned branch and have that work, or if I have a different version of the module. Lastly (sorry for all the questions), do you have any guess as to what would happen if I used this repo's b/w 4.2 inch code as is on the b/w/r display? Would I see any update on the epaper display, or would you expect it to not work at all? I ask because it would make it easier for me to troubleshoot, as I'm not currently sure if my wiring and setup is correct, and that will help me know what to look for if I give this problem a try. Thanks! |
Beta Was this translation helpful? Give feedback.
-
Hi, Simon |
Beta Was this translation helpful? Give feedback.
-
I recently ordered a collection of the WaveShare displays, including:
I'm happy to contribute or help test, as I plan to use these on a couple of embedded devices for my internet of streams project. I was wondering if you had any notes already on where I should be looking to help add support for the color displays.
Beta Was this translation helpful? Give feedback.
All reactions