diff options
| author | DavePutz <dwputz@gmail.com> | 2020-07-18 12:08:26 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-18 12:08:26 -0500 |
| commit | ac5ad030f46937781a1e0377cfee29ad184f98ea (patch) | |
| tree | 94e78e5b79471e36d44b33b1f471ac196ce018c0 /shared-module/framebufferio | |
| parent | 40f1bd0c7cf9ca4d8f3ce294f8dca5180bfcba65 (diff) | |
| parent | 9cdf5e148a8fcc506da6e2a8598fa2963bbcde2e (diff) | |
Merge pull request #13 from adafruit/main
Update from adafruit
Diffstat (limited to 'shared-module/framebufferio')
| -rw-r--r-- | shared-module/framebufferio/FramebufferDisplay.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/shared-module/framebufferio/FramebufferDisplay.c b/shared-module/framebufferio/FramebufferDisplay.c index f296da409..7d09e0bae 100644 --- a/shared-module/framebufferio/FramebufferDisplay.c +++ b/shared-module/framebufferio/FramebufferDisplay.c @@ -79,7 +79,7 @@ void common_hal_framebufferio_framebufferdisplay_construct(framebufferio_framebu // Set the group after initialization otherwise we may send pixels while we delay in // initialization. common_hal_framebufferio_framebufferdisplay_show(self, &circuitpython_splash); - self->auto_refresh = auto_refresh; + common_hal_framebufferio_framebufferdisplay_set_auto_refresh(self, auto_refresh); } bool common_hal_framebufferio_framebufferdisplay_show(framebufferio_framebufferdisplay_obj_t* self, displayio_group_t* root_group) { @@ -280,6 +280,13 @@ bool common_hal_framebufferio_framebufferdisplay_get_auto_refresh(framebufferio_ void common_hal_framebufferio_framebufferdisplay_set_auto_refresh(framebufferio_framebufferdisplay_obj_t* self, bool auto_refresh) { self->first_manual_refresh = !auto_refresh; + if (auto_refresh != self->auto_refresh) { + if (auto_refresh) { + supervisor_enable_tick(); + } else { + supervisor_disable_tick(); + } + } self->auto_refresh = auto_refresh; } @@ -297,12 +304,13 @@ void framebufferio_framebufferdisplay_background(framebufferio_framebufferdispla } void release_framebufferdisplay(framebufferio_framebufferdisplay_obj_t* self) { + common_hal_framebufferio_framebufferdisplay_set_auto_refresh(self, false); release_display_core(&self->core); self->framebuffer_protocol->deinit(self->framebuffer); } void reset_framebufferdisplay(framebufferio_framebufferdisplay_obj_t* self) { - self->auto_refresh = true; + common_hal_framebufferio_framebufferdisplay_set_auto_refresh(self, true); common_hal_framebufferio_framebufferdisplay_show(self, NULL); } |
