Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion shared-module/busdisplay/BusDisplay.c
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,11 @@ static void _refresh_display(busdisplay_busdisplay_obj_t *self) {
// A refresh on this bus is already in progress. Try next display.
return;
}
displayio_display_core_start_refresh(&self->core);
if (!displayio_display_core_start_refresh(&self->core)) {
// Refresh for this display already in progress.
return;
}

const displayio_area_t *current_area = _get_refresh_areas(self);
while (current_area != NULL) {
_refresh_area(self, current_area);
Expand Down
5 changes: 4 additions & 1 deletion shared-module/epaperdisplay/EPaperDisplay.c
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,10 @@ static void epaperdisplay_epaperdisplay_start_refresh(epaperdisplay_epaperdispla
// Can't acquire display bus; skip updating this display. Try next display.
return;
}
if (!displayio_display_core_start_refresh(&self->core)) {
// Refresh on this display already in progress.
return;
}

// run start sequence
self->bus.bus_reset(self->bus.bus);
Expand All @@ -201,7 +205,6 @@ static void epaperdisplay_epaperdisplay_start_refresh(epaperdisplay_epaperdispla
if (mp_hal_is_interrupted()) {
return;
}
displayio_display_core_start_refresh(&self->core);
}

uint32_t common_hal_epaperdisplay_epaperdisplay_get_time_to_refresh(epaperdisplay_epaperdisplay_obj_t *self) {
Expand Down
5 changes: 4 additions & 1 deletion shared-module/framebufferio/FramebufferDisplay.c
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,10 @@ static void _refresh_display(framebufferio_framebufferdisplay_obj_t *self) {
if (!self->bufinfo.buf) {
return;
}
displayio_display_core_start_refresh(&self->core);
if (!displayio_display_core_start_refresh(&self->core)) {
// Refresh on this display already in progress.
return;
}
const displayio_area_t *current_area = _get_refresh_areas(self);
if (current_area) {
bool transposed = (self->core.rotation == 90 || self->core.rotation == 270);
Expand Down