-
Notifications
You must be signed in to change notification settings - Fork 129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support more (Color) Displays? Includes a Howto #26
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. |
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. |
I haven't started working on it yet. I might have some time on Sunday at the Oxidize Conf. |
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. |
I ordered a R/B/W display as well - I may have a go at this someday. |
@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 |
Although multiple ones were added I am leaving this issue open since it also includes some documentation about how to add a display |
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! |
Thanks @jamesmunns ! |
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. |
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. |
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. |
Hello @CyanBlob, |
Mine actually have v3 stickers on them, which is odd since I haven't been able to find much about a v3 anywhere. Here's what I bought: https://www.aliexpress.com/item/1005001760018474.html?spm=a2g0s.9042311.0.0.79404c4dusNtBe There does seem to be a spec for the v3 (based on the URL): https://www.waveshare.com/w/upload/8/8c/7.5inch-e-paper-b-v3-specification.pdf The PDF itself just calls it B model though. These are my first e-ink displays, so I'm really not sure what the v3/B means. How different would you expect them to be from v1? |
I believe B/C is just the red/yellow difference mostly (D flexible, F "full" color,...). v1, v2, v3 are the same display size with sometimes better resolution,... and slightly different command tables. So it looks like waveshare is currently slowly rolling out the v3s of the various display, but your doesn't seem to be implemented yet. So what I would recommend you is to use https://github.com/waveshare/e-Paper/blob/master/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_7in5b_V2.c of the v2, the specification you linked: https://www.waveshare.com/w/upload/8/8c/7.5inch-e-paper-b-v3-specification.pdf and marcelbuesings version next to each other. If you want to go a safer route, wait until waveshare has released their own code for your v3. |
Update! The display works! Kind of. It's currently kinda freaking out between white, black, red, and multicolor static right now when it should just be flipping back and forth between solid white and solid black. But I'm happy regardless. I ended up basing this off the 7in5_v2 version, so it doesn't handle the buffers properly (I think). I just wanted to get something happening because I never could before. Current work: CyanBlob@77579f5 I'm gonna keep working on this soon. Hopefully fixing it isn't that big of a deal! |
I've recently bought a Waveshare 7.5" Black/White/Red. It has a V3 sticker on the back.
@CyanBlob any updates on your progress? |
@Anshorei unfortunately I haven't had the time to figure out why my version is so broken, and I probably won't for quite a while. If you have the time I'd encourage you to take a look! |
@CyanBlob Thanks for the update. I do want to look into it, I've also got a 2in13bc V3 that I could try to get working, but I'm not sure how much time it'll take -- and of course how much time I'll be able to make for this. |
Worked on this a little and have a draft to support the 2in13b_v3 (#95 ) Everything I'm using in the example is working for me. |
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. |
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. |
@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 |
I think i got the same issue, if I remenber the following line were important : "DisplayColorRendering::Positive" |
https://github.com/simon0356/rust-esp32-waveshare-4_2 with the v1 and waveshare esp32 board version out of the box |
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 |
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 |
@simon0356 great work, do you plan on opening a PR? |
I'm currently try to make the screen work with my raspberry pi 1, i will try to produce a PR with that |
Hi, is 2.66inch e-Paper Module (B) supported? |
There is #107, which should have been version a. Version B isn't support yet. |
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! |
Hi, Simon |
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.
The text was updated successfully, but these errors were encountered: