-
Notifications
You must be signed in to change notification settings - Fork 143
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
Add support for EPD 3in7 #129
Conversation
5074964
to
ec223ba
Compare
ok, it's ignoring #![allow(non_camel_case_types)] I guess I will have to change the enum names. |
@caemor is there any driver doing grayscale or shall I define a new color type? |
I'd suggest to make the Color a generic parameter and vary it in impl, this way you could factor some of he code |
Yes, I was thinking about that, but there are a couple of things holding me back:
|
Oh, I will go and implement partial updates for this driver in a separate PR first, while I keep rumiating about the Grayscales ;) |
If you use a generic type for color, you can easily separate the code for init with an impl for |
If there is no real improvement besides memory consumption, why have a separate BW initialization ? A BW update_frame on a gray initialized device should work no ? |
I really have no numbers to compare yet. I will eventually be working on Gray4 support on a different PR. At that point we can analyze it from both the timing and memory perspective and decide. But it sounds like a good point, if they were to have the same refresh rates, why keep two code paths :) |
Note: I may need some time to get into Gray4, currently I am working on the application that uses the implementation of this PR. Hopefully we can merge this if everything looks good, and then treat Gray4 support as an upgrade PR. |
Indeed, since we in 0.x releases we should merge things quickly to allow for easier testing. |
I am not sure what's going on, I see the errors here: https://github.com/caemor/epd-waveshare/actions/runs/3608595550/jobs/6081293541#step:5:105 But with my architecture, it builds all just fine. Any advice? |
You need to rebase your code, the main branch has been updated with new commits that impact your code. |
Ack, I will rebase and let's see how it goes, I would have expected the unit testing/etc to pass even if it needed rebase, of course github may complain if it's unable to merge your changes. |
Ok, I rebased and squashed the commits, now at least I get it reproduced locally:
I will try to have it fixed by tomorrow. |
Thanks a lot, it helps, yes! #59 |
Matches implementation from waveshare/e-Paper code https://github.com/waveshare/e-Paper/blob/master/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_3in7.c Co-Authored-By: Miguel Angel Ajo <[email protected]> Co-Authored-By: Christoph Gross <[email protected]>
hopefully compile now after rebase :-) |
Thanks for your great work! |
Thank you!! 🙏🏻 |
Matches implementation from waveshare/e-Paper code
https://github.com/waveshare/e-Paper/blob/master/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_3in7.c
Co-Authored-By: Miguel Angel Ajo [email protected]