mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-07-28 07:48:13 +00:00
feat(eink): full refresh interval setting in Settings › Display
Add "Full rfsh" setting (e-ink only) with options off/5/10/20/30 partial refreshes between full refreshes. Prevents ghosting on panels that accumulate artifacts after many partial updates. GxEPDDisplay counts partial refreshes and calls display.display(false) every N frames when the interval is set. Persisted in DataStore and applied at startup via applyFullRefreshInterval(). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -195,7 +195,12 @@ void GxEPDDisplay::setDisplayRotation(uint8_t rot) {
|
||||
void GxEPDDisplay::endFrame() {
|
||||
uint32_t crc = display_crc.finalize();
|
||||
if (crc != last_display_crc_value) {
|
||||
display.display(true);
|
||||
bool partial = true;
|
||||
if (_full_refresh_interval > 0 && ++_partial_count >= _full_refresh_interval) {
|
||||
partial = false;
|
||||
_partial_count = 0;
|
||||
}
|
||||
display.display(partial);
|
||||
last_display_crc_value = crc;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user