diff --git a/drivers/inky73/inky73.cpp b/drivers/inky73/inky73.cpp index be54affa..449bf9ad 100644 --- a/drivers/inky73/inky73.cpp +++ b/drivers/inky73/inky73.cpp @@ -47,8 +47,9 @@ namespace pimoroni { return !(sr.read() & 128); } - void Inky73::busy_wait() { - while(is_busy()) { + void Inky73::busy_wait(uint timeout_ms) { + absolute_time_t timeout = make_timeout_time_ms(timeout_ms); + while(is_busy() && !time_reached(timeout)) { tight_loop_contents(); } } diff --git a/drivers/inky73/inky73.hpp b/drivers/inky73/inky73.hpp index 14c7b6ff..bed9ee75 100644 --- a/drivers/inky73/inky73.hpp +++ b/drivers/inky73/inky73.hpp @@ -70,7 +70,7 @@ namespace pimoroni { // Methods //-------------------------------------------------- public: - void busy_wait(); + void busy_wait(uint timeout_ms=45000); void reset(); void power_off();