From 7c6d3fe8e2c4d611557b2f1c4e51c73c59e580fb Mon Sep 17 00:00:00 2001 From: Lucio Rossi Date: Fri, 8 Nov 2024 11:38:01 +0100 Subject: [PATCH] feat: _wait_for_fw_check timeout on unavailable FW version --- arduino_alvik/arduino_alvik.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/arduino_alvik/arduino_alvik.py b/arduino_alvik/arduino_alvik.py index d83305a..21144a4 100644 --- a/arduino_alvik/arduino_alvik.py +++ b/arduino_alvik/arduino_alvik.py @@ -254,13 +254,19 @@ def _wait_for_ack(self) -> None: sleep_ms(20) self._waiting_ack = None - def _wait_for_fw_check(self) -> bool: + def _wait_for_fw_check(self, timeout=5) -> bool: """ Waits until receives version from robot, check required version and return true if everything is ok + :param timeout: wait for fw timeout in seconds :return: """ + start = ticks_ms() while self._fw_version == [None, None, None]: sleep_ms(20) + if ticks_diff(ticks_ms(), start) < timeout * 1000: + print("Could not get FW version") + return False + if self.check_firmware_compatibility(): return True else: