v2.4.0¶
v2.4.0 побудовано на Qt Creator 4.0.2 і зосереджено на новому завантажувачі V3 (запит розмітки QSPI флеш-пам’яті під час завантаження мікропрограми та очищення під час повного стирання вбудованого флеш-накопичувача), живому звітуванні про датчик та плату в рядку стану, а також новому 32-бітному протоколі налагодження USB, що відповідає комплектній мікропрограмі. Також додано посібник зі світлодіодами для першого запуску та великий набір нових прикладів TensorFlow, Modbus і WiFi. Оскільки протокол налагодження змінився, камери повинні мати нову комплектну мікропрограму для підключення.
Основні можливості¶
Підтримка завантажувача V3 запитує розмітку зовнішньої QSPI флеш-пам’яті плати під час завантаження мікропрограми та очищує її під час повного стирання вбудованого флеш-накопичувача (d953df62f).
Звітування про датчик та плату запитує модуль датчика підключеної камери при підключенні та відображає його в рядку стану (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) поряд з новою міткою типу плати (0ffa82958).
Копіювання моделі TensorFlow дозволяє копіювати моделі
.tfliteна камеру, а не лише файли нейронної мережі.network(ad1aa98f0).Стирання вбудованого флеш-накопичувача — нова команда меню
Tools, яка стирає лише вбудовану файлову систему флеш-пам’яті камери після підтвердження без перепрошивки мікропрограми (d953df62f, 98686ac46).Посібник зі світлодіодами для першого запуску — нове діалогове вікно
OpenMV Cam LED Colors, яке пояснює стани вбудованого світлодіода та може бути назавжди закрите (c2d00422f).
Нові функції¶
Завантажувач V3 запитує розмітку QSPI флеш-пам’яті під час завантаження мікропрограми та очищує зовнішню QSPI флеш-пам’ять лише під час повного стирання вбудованого флеш-накопичувача;
connectClickedзавжди виконуєbootloaderQSPIFLayoutна платах V3, але запускаєbootloaderQSPIFEraseлише якщо встановленоforceFlashFSErase(команди запису/тестування пам’яті QSPI реалізовано у шарі введення-виведення, але не використовуються завантажувачем) (d953df62f).Стан датчика та плати запитує модуль датчика камери при підключенні та відображає його (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) у рядку стану разом із новою міткою типу плати, використовуючи нову карту відповідності ідентифікаторів
sensors.txt(0ffa82958).Посібник зі світлодіодами для першого запуску додає нове діалогове вікно
OpenMV Cam LED Colors, яке з’являється після короткої затримки, колиhelloworld_1.pyє відкритим документом при першому запуску, пояснюючи стани вбудованого світлодіода (мигання зеленого = завантажувач запущено, синій = виконуєтьсяmain.py, білий = паніка через апаратний збій); прапорець «Don’t show this message again.» зберігає вибір за допомогою налаштуванняDONT_SHOW_LED_STATES_AGAIN(c2d00422f).Відкрити папку диска OpenMV Cam — новий пункт меню
Tools, що відкриває змонтований диск камери у системному файловому браузері (a49f54305).Стирання вбудованого флеш-накопичувача — нова команда
Tools, яка стирає лише вбудовану файлову систему флеш-пам’яті після підтвердження без перепрошивки мікропрограми (d953df62f, 98686ac46).Копіювання моделі TensorFlow дозволяє діалогу копіювання моделей копіювати моделі
.tfliteна камеру на додаток до файлів нейронної мережі.network; до фільтра діалогу також додано пунктиLabel Files (*.txt)таAll Files(ad1aa98f0, 0ffa82958, c0dbdd9e5).Перемикання версії протоколу налагодження розбиває послідовні команди
GetAttribute,SetAttribute,FBEnableтаJPEGEnableпри взаємодії з мікропрограмою версії 3.5.3+ для підвищення надійності (83b9ca18f).Нові приклади — додано скрипти ковзного вікна TensorFlow Lite mobilenet та виявлення осіб, приклад MNIST для STM32Cube.AI (
nn_stm32cubeai.py), нова папка32-modbus(modbus_rtu_slave.py,modbus_apriltag.py), доповнення для WiFi-щита (http_client_ssl,static_ip,mqtt_pub/mqtt_sub), Arduino UART/SPI-slave та CAN (e26b90d79, 42ba8f5c4).
Інші зміни та покращення¶
Оновлено протокол налагодження USB відповідно до нової мікропрограми: для зчитування атрибутів використовується нова 32-бітна команда
ATTR_READ_2(0xCA), а корисне навантаження атрибутів, значень та дозволу кадрового буфера надсилається як 32-бітні long замість 16-бітних word (55d7cfe70).Перейменовано Save open script to OpenMV Cam на Save open script to OpenMV Cam (as main.py) для уточнення, що записується
main.py(a49f54305).Перейменовано Run Bootloader на Run Bootloader (Load Firmware) для уточнення призначення (ad1aa98f0).
Меню прикладів тепер відсортовано за числовим префіксом папки/файлу, а провідні цифри
NN-видалено з відображуваних назв (ad1aa98f0).Виведення та послідовні термінали тепер відображають табуляцію як пробіли з використанням налаштовуваної ширини табуляції послідовного термінала з налаштувань текстового редактора замість жорстко заданої ширини 8 (98686ac46).
Виявлення дисків у Linux тепер також приймає файлові системи, змонтовані через
fuseblk(наприклад, томи exFAT/NTFS), під час асоціювання диску камери (c0dbdd9e5).Оновлено комплектну документацію MicroPython у форматі HTML (довідник бібліотеки, посібники esp8266/esp32, згенеровані сторінки та зображення), що відображається у довідці IDE (e69d71f7c, 90b5c6eb5, 97b0f645a).
Виправлення помилок¶
Виправлено числове переповнення у статистиці гістограми (середнє, квартилі, медіана, стандартне відхилення) шляхом розширення акумуляторів з
intдо 64-бітних, що запобігає неправильній статистиці для великих зображень (55d7cfe70).Переопрацьовано від’єднання/виштовхування у Linux: ненадійне очищення
syncfs/closedirбуло видалено, а диск тепер відмонтовується звичайною командоюumountбез діалогового вікна прогресу (b86d5c62c, c0dbdd9e5, 30d4a7d2d).USB-диск плати тепер асоціюється лише якщо мікропрограма достатньо нова або присутній файл-маркер
.openmv_disk, що запобігає захопленню IDE неправильного знімного диску (e464eaed4).Виправлено логіку повторного підключення: запуск операції завантажувача/стирання під час з’єднання тепер спочатку коректно відключається, а потім повторює спробу, уникаючи зависання у стані роботи (d953df62f).
Переписано стриппер коментарів/пробілів, що використовується під час надсилання скриптів на камеру, як машину стану з урахуванням рядків, щоб символи
#всередині рядків більше не приймалися за коментарі, а завершальні пробіли та рядки документації оброблялися правильно (24dff1b2f).Виправлено обробку рядків перекладу для кількох повідомлень діалогів підключення/терміналу, щоб вбудовані команди оболонки (
sudo adduser, кроки встановленняpydfu) більше не входили до перекладуваного тексту та відображалися правильно (b5705a57e).
Підтримка платформ та інструментів¶
База Qt Creator: 4.0.2.
Перейменовано плату/мікропрограму OpenMV Cam H7 Plus з
OPENMV4RнаOPENMV4P(OMV4P_H7_32768_SDRAM) та включено її мікропрограму під новою назвою (c0dbdd9e5).Виправлено відображувану назву плати H7 Plus: тепер використовуються підкреслення замість пробілів (
OpenMV_Cam_H7_Plus_(STM32H743_w/_SDRAM)) (75764132c).Комплектна мікропрограма оновлювалась протягом усього випуску, завершившись версією 3.5.2 для OPENMV2/3/4/4P (фінальне оновлення у 15c07498c; попередні накопичувальні оновлення у 42ba8f5c4 до 3.4.2, a99c2e3e1 до 3.4.3, e26b90d79 до 3.5.0 та 97b0f645a до 3.5.1).
Версії комплектної мікропрограми: OPENMV2 (Cam M4) 1.4.11, OPENMV3 (Cam M7) 1.4.11, OPENMV4 (Cam H7) 1.2.15, OPENMV4P (Cam H7 Plus) 1.2.15.
Версію OpenMV IDE збільшено з 2.2.1 до 2.4.0.
Критичні зміни¶
Протокол зчитування атрибутів USB налагодження було перемкнуто зі старої 16-бітної команди ATTR_READ (0x8A) на нову 32-бітну команду ATTR_READ_2 (0xCA), а корисне навантаження атрибутів, значень та дозволів тепер надсилається як 32-бітні long; IDE також запитує ідентифікатор датчика камери при підключенні. Це вимагає мікропрограми, що реалізує новий протокол. Комплектна мікропрограма 1.2.15 / 1.4.11 підтримує його, тому старі камери необхідно перепрошити для підключення.