Skip to content

Commit 436f982

Browse files
authored
Merge pull request #9140 from elpekenin/fix/epd_refresh
Fix `EPaperDisplay.time_to_refresh`
2 parents 6e5a875 + 70c0957 commit 436f982

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

shared-bindings/epaperdisplay/EPaperDisplay.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,10 @@ MP_DEFINE_CONST_FUN_OBJ_1(epaperdisplay_epaperdisplay_refresh_obj, epaperdisplay
297297
//| """Time, in fractional seconds, until the ePaper display can be refreshed."""
298298
STATIC mp_obj_t epaperdisplay_epaperdisplay_obj_get_time_to_refresh(mp_obj_t self_in) {
299299
epaperdisplay_epaperdisplay_obj_t *self = native_display(self_in);
300-
return mp_obj_new_float(common_hal_epaperdisplay_epaperdisplay_get_time_to_refresh(self) / 1000.0);
300+
// band aid fix for <https://github.com/adafruit/circuitpython/issues/9129>
301+
// sleeping for display.time_to_refresh might not be long enough due to rounding error (?)
302+
uint32_t refresh_ms = common_hal_epaperdisplay_epaperdisplay_get_time_to_refresh(self);
303+
return mp_obj_new_float((refresh_ms + 100) / 1000.0);
301304
}
302305
MP_DEFINE_CONST_FUN_OBJ_1(epaperdisplay_epaperdisplay_get_time_to_refresh_obj, epaperdisplay_epaperdisplay_obj_get_time_to_refresh);
303306

0 commit comments

Comments
 (0)