diff --git a/elbear_uploader.py b/elbear_uploader.py index 8a26a49..1b4a66f 100644 --- a/elbear_uploader.py +++ b/elbear_uploader.py @@ -69,20 +69,17 @@ def cmd_send_package(data_package): # Получить версию начального загрузчика def cmd_get_version(): - for attempt in range(10): - ser.write(COMMAND_GET_VERSION) # Отправка команды получения версии - read_bytes = ser.read(3) # Ожидание ответа от МК, должны получить 3 байта - - if len(read_bytes) == 3: - major, minor, patch = read_bytes - return f"{major}.{minor}.{patch}" # Возвращаем строку версии - else: - # ответ на команду не получен - pass - - # за 10 раз не получили внятного ответа - устройство не отвечает, выходим - print("Device not responding (get_version)") - exit() + # отправить команду получения версии + send_parsel(COMMAND_GET_VERSION) + + # Если дошли сюда, значит контроллер ответил на команду. Получить версию загрузчика - 3 байта + read_bytes = ser.read(3) + if len(read_bytes) == 3: + major, minor, patch = read_bytes + return f"{major}.{minor}.{patch}" # Возвращаем строку версии + else: + print("Get incorrect bootloader version") + return 0 def printProgressBar (iteration, total, prefix = '', suffix = '', decimals = 1, length = 100, fill = '_', printEnd = "\r"): percent = ("{0:." + str(decimals) + "f}").format(100 * (iteration / float(total)))