v4.8.9

v4.8.9 — це реліз підвищення ефективності у режимі очікування та надійності відключення, побудований на Qt Creator 14.0.2. Він переробляє механізм відстеження апаратного забезпечення IDE, зупиняючи опитування, коли нічого не відбувається, вдосконалює шлях підключення/відключення та скорочує вбудований zoo моделей. У цьому діапазоні немає перебазування Qt Creator, але кілька стандартних поведінок і назви вбудованих моделей змінились — перегляньте критичні зміни нижче.

Основне

  • Моніторинг апаратного забезпечення на основі подій замінює безперервне опитування пристроїв: IDE тепер зупиняє таймери сканування в режимі очікування та виконує повторне сканування послідовних портів і дисків лише у відповідь на реальні події підключення/відключення USB та монтування/відмонтування диска, що значно знижує навантаження на CPU і використання ресурсів в режимі очікування.

  • Таймери бездіяльності прив’язані до активності: таймер обробки подій кадрового буфера (раніше спрацьовував кожні 1 мс) тепер працює лише під час підключення, а таймер миготіння курсора терміналу (500 мс) — лише коли термінал у фокусі.

  • Фонова синхронізація імпорту вимкнена за замовчуванням: автоматична синхронізація папок імпорту Examples та Documents/OpenMV тепер вимкнена, а перемикач у меню прихований, тому IDE більше не виконує безперервне повторне сканування цих папок.

  • Швидше та надійніше відключення: послідовний порт закривається, а камера звільняється негайно, тайм-аути протоколу зменшено, а заблокована камера тепер відновлюється замість зависання.

  • Чіткіша кнопка режиму кадрового буфера, що показує JPG Mode або RAW Mode для наочного відображення поточного стану стиснення.

Нові можливості

  • Нативний моніторинг апаратних подій через новий HardwareMonitor, що видає hardwareEventDetected за допомогою IOKit і DiskArbitration на macOS, вікна лише для повідомлень WM_DEVICECHANGE на Windows і netlink-сокета NETLINK_KOBJECT_UEVENT на Linux. Таймери сканування послідовних портів і дисків тепер прив’язані до 10-секундного вікна сканування, що перезапускається при кожній події (a6612fec9, 462b55f7b, 17c2e93c7).

Інші зміни та покращення

  • Таймер обробки подій кадрового буфера (раніше спрацьовував кожні 1 мс) тепер запускається при підключенні та зупиняється при відключенні, а таймер миготіння курсора терміналу (500 мс) тепер запускається та зупиняється при отриманні/втраті фокуса терміналом замість постійної роботи (a02afea53).

  • Автоматична синхронізація папок імпорту Examples та Documents/OpenMV вимкнена за замовчуванням, а перемикач прихований; таймери сканування папок більше не запускаються при ініціалізації та працюють лише коли (тепер прихована) дія увімкнена (478f83e97).

  • Кнопка перемикання формату кадрового буфера тепер показує JPG Mode, коли JPEG-стиснення увімкнено, і RAW Mode, коли вимкнено (c48831224).

  • При підключенні IDE тепер завжди застосовує пріоритетне за замовчуванням налаштування JPEG для кадрового буфера плати, замість відновлення попередньо збереженого вибору JPG/RAW для кожної плати (c48831224).

Виправлення помилок

  • Відключення тепер закриває послідовний порт і звільняє камеру (і порт) безпосередньо в close(), роблячи відключення швидшим і надійнішим (1e8941080, 9d31bcf80).

  • Таймер бездіяльності послідовного порту тепер зупиняється, а прапор протоколу v2 скидається при закритті порту, усуваючи застарілу поведінку таймера бездіяльності після відключення (4bd2fd9ea).

  • Тайм-аути команд протоколу налаштовано (тайм-аут відкриття знижено з 5с до 2с, ресинхронізація та CHANNEL_SIZE використовують короткий тайм-аут 1с), і кожна команда послідовного порту тепер знищує об’єкт камери при помилці, тому заблокована камера відновлюється та відключається швидше замість зависання (04aa6aea3).

  • Виправлено проблему блокування/зависання при зупинці скрипту: подія зупинки скрипту тепер також очищає стан події кадру та скидає таймери готовності кадру (3695b0704).

  • Протокол тепер допускає короткі зчитування з камери, повертаючи частковий вміст або текст замість їх відкидання або виникнення помилки (0c8ccd58e).

Підтримка платформ і інструментів

  • База Qt Creator: 14.0.2.

  • Плати, що поєднують модуль AE3 або N6 із датчиком PAG7936 або PS5520, тепер отримують вищий стандарт QVGA (раніше лише AE3 + PAG7936), тому відповідні приклади автоматично оновлюються з QQVGA до QVGA (fcc0c3227).

  • Вбудований zoo моделей ST MoveNet для оцінки пози було очищено: видалено надлишкові варіанти per-tensor (_pt) та дублікати singlepose/st_movenet, а збережені моделі heatmap per-channel перейменовано на movenet_singlepose_192, movenet_singlepose_224 та movenet_singlepose_256 (18f66c4c1).

  • Видалено вбудовану модель семантичної сегментації DeepLabV3 та її приклади з zoo моделей (a929e0dc1).

Критичні зміни

Видимі для користувача зміни поведінки та вбудованих ресурсів між v4.8.8 та v4.8.9.

  • При підключенні кадровий буфер тепер завжди використовує пріоритетне за замовчуванням налаштування JPEG плати та ігнорує будь-який раніше збережений вибір JPG/RAW для кожної плати (c48831224).

  • Фонова синхронізація папок імпорту Examples та Documents/OpenMV вимкнена за замовчуванням, а її перемикач прихований (478f83e97).

  • Кілька вбудованих моделей було видалено або перейменовано: модель семантичної сегментації DeepLabV3 видалена, а моделі ST MoveNet скорочено та перейменовано на movenet_singlepose_192/224/256. Скрипти, що посилаються на старі назви файлів моделей, потребують оновлення (a929e0dc1, 18f66c4c1).