* Implemented by overloading the
virtual method _reset() in GxEPD2_EPD
* Tested to write straight away
and works ok. Seems unnecessary.
* 10ms might look like little but the
ESP is not sleeping and CPUs are on.
This is probably using 0.1 uAh
(10% of display update total cost)
* The display takes 16ms to power on
During this time we can render the
content and finally display it
* The call is optional if we do not call
it then the old code path is used
* Moved the init to constructor
* Reduce the phase on times from 40ms->10ms
* Increase the driving strength, this reduces
a little the power usage as well
* Reduces 220ms the display update
-80ms the power on of the display
-140ms the display partial update
- Note: This may have side effects, but I saw none
tested on Watchy v1.0, display should be same on
other Watchy boards
* It makes more sense to put it in the Display class
* The reset should be 2ms, 10ms is worst case
* Also there was a disable call based on display
that makes more sense to put in the default
boot switch statement
* 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