Skip to content
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

Optimise GxEPD2 Display #178

Merged
merged 1 commit into from
Dec 26, 2022
Merged

Optimise GxEPD2 Display #178

merged 1 commit into from
Dec 26, 2022

Conversation

DarkZeros
Copy link
Contributor

  • This change implements certain
    speed improvements on top of
    upstream GxEPD2 that are not fully
    accepted by the upstream maintainer.
    Faster SPI transactions ZinggJM/GxEPD2#51
  • The change Adds a new WatchyDisplay class
    and implements the mods in there.

Changes:

  • Using transactions for SPI communication
  • Remove extra delays for yield()
  • Remove 10ms active waits in resets

Results:

  • This reduces (874ms -> 657ms) the display
    update. Making it more responsive and
    Saving 21mJ/update or 2.6mAh/day

* This change implements certain
  speed improvements on top of
  upstream GxEPD2 that are not fully
  accepted by the upstream maintainer.
* The change Adds a new WatchyDisplay class
  and implements the mods in there.

* Using transactions for SPI communication
* Remove extra delays for yield()
* Remove 10ms active waits in resets

* This reduces (874ms -> 657ms) the display
  update. Making it more responsive and
  Saving 21mJ/update or 2.6mAh/day
@DarkZeros DarkZeros mentioned this pull request Aug 3, 2022
@shtrom
Copy link
Contributor

shtrom commented Dec 7, 2022

I have been running this for about 6 weeks now, and have noticed a notable increase in battery life. I'd say about 2 days, which would be a 50% improvement (on the ~4 days that I had before).

@sqfmi
Copy link
Owner

sqfmi commented Dec 26, 2022

Amazing! Thanks @DarkZeros 🥇

@sqfmi sqfmi merged commit 9a64af8 into sqfmi:master Dec 26, 2022
@GuruSR
Copy link

GuruSR commented Dec 31, 2022

Any thoughts about including the border color setting?

@DarkZeros
Copy link
Contributor Author

Any thoughts about including the border color setting?

Now that we have this code here, I don't see why not.

@GuruSR
Copy link

GuruSR commented Dec 31, 2022

Any thoughts about including the border color setting?

Now that we have this code here, I don't see why not.

Okay, my repo has the info on how it is done and the function, if it was kept the same, people already using it will not have to change their code (other than the display object definition). Has this made it's way into Arduino's library listing?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants