v4.8.11¶
v4.8.11 — це випуск стабільності та коректності, зосереджений на надійності macOS, серіалізації зовнішніх інструментів та надійності оновлення мікропрограми. Він побудований на Qt Creator 14.0.2 (без змін порівняно з попереднім випуском) і не містить зворотньо несумісних змін для проєктів користувачів.
Основні зміни¶
Захист від збоїв на macOS — усунено переривчасте мовчазне переривання
NSRangeException, спричинене оновленням виборок у деревах/списках/комбобоксах до того, як панель або спливаюче вікно було повністю побудоване або під час асинхронного оновлення — в контурному комбобоксі, ієрархіях викликів/типів, спливаючих вікнах завершення та локатора, дереві проєкту тощо.Серіалізовані зовнішні інструменти — діалог прогресу завантажувача тепер є модальним для всього застосунку і призупиняє опитування пристроїв, тому запуск dfu-util, bossac, picotool та інших інструментів більше не може бути перерваний потоком з камери або автоматичним перепідключенням.
Надійне оновлення мікропрограми — автоматичне перепідключення більше не може захопити оновлення мікропрограми в середині прошивки, що раніше призводило до скидання реального продовження і появи хибного діалогу DFU.
Безпека Hello World — підключення плати більше не буде випадково перезаписувати програму Hello World, введену вами, завдяки порівнянню з незміненим знімком замість ненадійного прапорця зміни.
Зрозуміліші помилки DFU — помилка «no matching interface» тепер показує виявлену плату та назви файлів мікропрограми, які вона приймає, замість відображення сирого VID/PID.
Нові функції¶
ST Edge AI (STM32N6) тепер безпосередньо створює переміщуваний бінарний файл мережі через режим
--relocatableкомпілятора, усуваючи окремий крок переміщення Python і додаткове поле Relocation CLI Options з діалогу (7613135c5).
Інші зміни та вдосконалення¶
Помилки інтерфейсу DFU тепер показують виявлену плату та перелічують назви файлів мікропрограми, які приймає ця плата, з рекомендацією перейменувати або вибрати правильний файл, замість відображення сирого VID/PID (ac509b369).
Навігація між вкладками на macOS тепер використовує доступні
Cmd+Shift+[/Cmd+Shift+](попередня/наступна) таCmd+Alt+[/Cmd+Alt+](переміщення) замість недоступнихCtrl+PageUp/Ctrl+PageDown; прив’язки для Windows і Linux не змінились (6c09e10b1).Запити ліцензії/плати до
upload.openmv.io(check.php,insert.php,register.php) тепер надсилаютьUser-Agentу стилі браузера для кожної платформи, щоб сервер ліцензій міг ідентифікувати ОС клієнта (6bfd74b36).
Виправлення помилок¶
Виправлено переривчастий збій на macOS (мовчазне переривання
NSRangeExceptionбез діалогу збою), коли оновлення виборок у деревах/списках/комбобоксах під час того, як панель або спливаюче вікно були ще приховані або в середині асинхронного оновлення, призводило до індексування в непобудований кеш доступності Cocoa. Вибір, прокрутка та розгортання тепер відкладаються або захищаються в контурному комбобоксі, ієрархіях викликів/типів, спливаючому вікні завершення коду, спливаючому вікні локатора, діалозі Save Items, дереві проєкту, навігації по папках, Open Documents, списку Issues/Tasks та комбобоксі перегляду дерева (94c8f9def, ae40a3806, ed23b5c60, c6baf89cd, d7b6f5838, d8b70609c, 21740d9c2, 9217fc8a9, fe75924d5, 9cc247ffb, 3ca71e915, 559b6005f).Виправлено окремий збій на macOS (
NSRangeException/SIGABRT) у комбобоксі контуру коду, спричинений застарілим індексом поза діапазоном, коли мовний сервер Python асинхронно оновлював символи;setCurrentIndexтепер повторно перевіряє межі рядка/стовпця щодо поточної моделі (3e0ce89f1).Посилено редактор моделей ROMFS та редактор наборів даних проти асинхронних перегонів
QFileSystemModelшляхом відкладення попереднього розгортання дерева до завершення завантаження каталогу і вибору щойно створених файлів/папок/моделей лише після того, як модель має для них дійсний індекс (5eaa91aff).Операції зовнішніх інструментів (dfu-util, bossac, picotool, alif, imx, ST Cube, mpy-cross, vela, ST Edge AI, відеоконвертер) більше не дозволяють потоку з камери або поставленій в чергу роботі повторно входити в операцію з пристроєм за запущеним інструментом: діалог прогресу завантажувача тепер є модальним для застосунку, а опитування пристрою повністю призупиняється під час його відображення (3069e8ec0).
Автоматичне перепідключення більше не захоплює оновлення мікропрограми в середині прошивки завдяки липкому прапорцю «оновлення мікропрограми в процесі», встановленому на всю примусову/завантажувальну/стираючу операцію, яку тепер також перевіряє таймер перепідключення (b7745484a).
Підключення плати більше не буде випадково перезаписувати програму Hello World, введену вами, завдяки порівнянню живого документа з незміненим знімком, захопленим при відкритті, замість використання ненадійного прапорця зміни перед автоматичною синхронізацією прикладу для кожного датчика (6f4539d44).
Прокручування вгору в послідовному терміналі під час швидкого безперервного виводу більше не повертає перегляд назад до низу: шляхи додавання тепер слідують липкому прапорцю наміру прокручування користувача замість повторного визначення «у низу» від позиції смуги прокрутки, яку кожен блок щойно повторно закріплював (9aea0f1a2).
Escapeтепер надійно закриває діалог Code Profiler незалежно від того, який дочірній віджет має фокус (203ffd1e6).На macOS глобальне меню та командні комбінації клавіш тепер працюють у всьому застосунку, а не лише коли редактор мав фокус, завдяки розміщенню прихованої панелі меню у головному вікні на кожній платформі (6d52cbe73).
Вбудований інтерпретатор Python тепер примусово встановлюється як стандартний при кожному запуску, тому застарілий збережений стандарт більше не вимикає мовний сервер Python (завершення та підказки викликів) (1d5069a52).
Посилено введення/виведення налаштувань OpenMV проти повторного входу:
beginGroup/endGroupу спільному глобальному об’єкті налаштувань (який породжує модальні діалоги і запускає вкладені цикли подій) замінені повними шляхами ключів, тому повторний доступ до налаштувань під час модального діалогу більше не може помістити ключі до неправильної групи. Шляхи на диску байт-ідентичні, тому налаштування існуючих користувачів зберігаються точно (91e78a9e3, f4bb9f48c).Виправлено регресію, коли кілька діалогів і допоміжних елементів, що отримують спільний об’єкт налаштувань, виконували введення/виведення за голими ключами в корені налаштувань замість
OpenMV/, втрачаючи геометрію вікна, розподільник та стан розгортання зоопарку моделей, а також стан шести діалогів завантажувача (dfu-util, imx, bossac, alif, picotool та ST Cube Programmer) разом із параметрами компілятора mpy-cross, vela та ST Edge AI; група тепер запечена в кожен ключ, щоб використовувався правильний шлях (258448bdf).
Підтримка платформ і інструментів¶
Базова версія Qt Creator: 14.0.2.
OpenMV IDE версію оновлено до 4.8.11.
Зворотньо несумісні зміни¶
Відсутні. Всі зміни є виправленнями помилок та вдосконаленнями, накладеними на існуючу базу Qt Creator 14.0.2; існуючі проєкти та робочі процеси не зачіпаються.