diff options
-rwxr-xr-x | Tools/px_uploader.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/Tools/px_uploader.py b/Tools/px_uploader.py index 1a0d7bd45..dfb53980a 100755 --- a/Tools/px_uploader.py +++ b/Tools/px_uploader.py @@ -172,10 +172,16 @@ class uploader(object): self.__send(uploader.CHIP_ERASE + uploader.EOC) # erase is very slow, give it 10s - old_timeout = self.port.timeout - self.port.timeout = 10 - self.__getSync() - self.port.timeout = old_timeout + deadline = time.time() + 10 + while time.time() < deadline: + try: + self.__getSync() + return + except RuntimeError as ex: + # we timed out, that's OK + continue + + raise RuntimeError("timed out waiting for erase") # send a PROG_MULTI command to write a collection of bytes def __program_multi(self, data): |