@@ -187,6 +187,7 @@ void displayio_epaperdisplay_finish_refresh(displayio_epaperdisplay_obj_t* self)
187187 displayio_display_core_begin_transaction (& self -> core );
188188 self -> core .send (self -> core .bus , DISPLAY_COMMAND , self -> chip_select , & self -> refresh_display_command , 1 );
189189 displayio_display_core_end_transaction (& self -> core );
190+ supervisor_enable_tick ();
190191 self -> refreshing = true;
191192
192193 displayio_display_core_finish_refresh (& self -> core );
@@ -301,6 +302,7 @@ bool common_hal_displayio_epaperdisplay_refresh(displayio_epaperdisplay_obj_t* s
301302
302303 if (self -> refreshing && self -> busy .base .type == & digitalio_digitalinout_type ) {
303304 if (common_hal_digitalio_digitalinout_get_value (& self -> busy ) != self -> busy_state ) {
305+ supervisor_disable_tick ();
304306 self -> refreshing = false;
305307 // Run stop sequence but don't wait for busy because busy is set when sleeping.
306308 send_command_sequence (self , false, self -> stop_sequence , self -> stop_sequence_len );
@@ -342,6 +344,7 @@ void displayio_epaperdisplay_background(displayio_epaperdisplay_obj_t* self) {
342344 refresh_done = supervisor_ticks_ms64 () - self -> core .last_refresh > self -> refresh_time ;
343345 }
344346 if (refresh_done ) {
347+ supervisor_disable_tick ();
345348 self -> refreshing = false;
346349 // Run stop sequence but don't wait for busy because busy is set when sleeping.
347350 send_command_sequence (self , false, self -> stop_sequence , self -> stop_sequence_len );
@@ -352,6 +355,7 @@ void displayio_epaperdisplay_background(displayio_epaperdisplay_obj_t* self) {
352355void release_epaperdisplay (displayio_epaperdisplay_obj_t * self ) {
353356 if (self -> refreshing ) {
354357 wait_for_busy (self );
358+ supervisor_disable_tick ();
355359 self -> refreshing = false;
356360 // Run stop sequence but don't wait for busy because busy is set when sleeping.
357361 send_command_sequence (self , false, self -> stop_sequence , self -> stop_sequence_len );
0 commit comments