| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | import inquirerimport timeimport osfrom artery_loader import FlashAT32import coloramafrom colorama import Foreclass Tester:    def __init__(self, debug_port):        self.debug_port = debug_port        colorama.init(autoreset=True)        def menu(self):        questions = [	    inquirer.List('action',                message="Что делаем",                choices=['Прошить IAP и FW [MDIO_88]',                         'Прошить IAP и FW [MAI_12]',                         'Прошить IAP и FW [MAO_4]',                         'Получить системные настройки'],            ),	    ]        answers = inquirer.prompt(questions)        if answers['action'] == 'Прошить IAP и FW [MDIO_88]':            self.write_iap_fw('bin_dio/fw.bin', 'bin_iap/iap.bin')        elif answers['action'] == 'Прошить IAP и FW [MAI_12]':            self.write_iap_fw('bin_ai/fw.bin', 'bin_iap/iap.bin')        elif answers['action'] == 'Прошить IAP и FW [MAO_4]':            self.write_iap_fw('bin_ao/fw.bin', 'bin_iap/iap.bin')        def write_iap_fw(self, path_to_fw, path_to_iap):        print(Fore.YELLOW + "Переведите устройство в режим загрузчика и нажмите 'Enter'")        input()        print('Начало обновления...')        start_time = time.time()        d = FlashAT32(self.debug_port, 115200 * 8)        d.DEBUG_PRINT = False        try:            d.connect()        except Exception as e:            print(e)            print(Fore.RED + 'Что-то пошло не так!!!')            return        print(f'Flash size: {d.get_flash_size()} kB')        print(f'Chip ID: {d.get_uid_str()}')        d.erase_flash()        iap_path = path_to_iap        fw_path = path_to_fw        iap_path_r = 'artery_iap.bin'        fw_path_r = 'artery_fw.bin'        print('IPA loading...')        d.write_file_to_flash(0x08000000, iap_path)        print('FW loading...')        d.write_file_to_flash(0x08021000, fw_path)        print(Fore.GREEN + f'Запись прошла успешно за {time.time() - start_time} сек.')class DUT:    def __init__(self):        passdef main():    tester = Tester('COM53')    tester.menu()if __name__ == '__main__':    main()    
 |