Compare commits

...
1 Commits
Author SHA1 Message Date
dtourolle 64c9177604 use partial draw
Python CI / test (3.13) (push) Failing after 40s
Python CI / test (3.12) (push) Failing after 42s
2025-11-23 15:21:36 +01:00
+11 -5
View File
@@ -176,8 +176,8 @@ class IT8951DisplayDriver:
# Prepare image for e-ink
prepared_image = self._prepare_image(image)
# Update frame buffer
self.display.frame_buf = prepared_image
# Update frame buffer using paste (more reliable than direct assignment)
self.display.frame_buf.paste(prepared_image, (0, 0))
# Increment refresh counter
self._refresh_count += 1
@@ -316,9 +316,15 @@ class IT8951DisplayDriver:
if hasattr(self.display, 'epd') and self.auto_sleep:
self.display.epd.run()
# Use partial update for efficiency
# IT8951 library tracks what changed and only updates that region
self.display.draw_partial(display_mode)
# Use full refresh for INIT mode (clears ghosting) or first few refreshes
# Use partial refresh for fast updates
if display_mode == DisplayModes.INIT or self._refresh_count <= 2:
# Full refresh - more reliable for initial displays
self.display.draw_full(display_mode)
else:
# Partial update for efficiency
# IT8951 library tracks what changed and only updates that region
self.display.draw_partial(display_mode)
async def set_brightness(self, level: int) -> None:
"""