v1.3.0¶
v1.3.0 переписує рівень зв’язку з камерою навколо структурованого протоколу команд/відповідей та додає автооновлення прямо в IDE як для самого IDE, так і для його вбудованих ресурсів. Побудовано на Qt Creator 4.0.2 та містить мікропрограму камери OpenMV версії 2.0.0. На macOS та Linux прошивка через DFU тепер вимагає одноразового встановлення Python разом із libusb та pyusb; дивіться розділ «Критичні зміни».
Основне¶
Переписаний рівень зв’язку. Код послідовного/USB-налагодження перебудовано навколо структурованого протоколу команд/відповідей із заданими довжинами відповідей і затримками очікування початку/кінця для кожної команди, що забезпечує надійніше підключення, запуск скриптів, операції з кадровим буфером та завантажувачем.
Автооновлення в IDE. IDE тепер перевіряє
openmv.ioна наявність новішої версії та пропонує кнопку Download, а також окремо завантажує та встановлює оновлені пакети ресурсів (приклади, мікропрограму, документацію), після чого пропонує перезапустити IDE.Оновлення мікропрограми одним кліком. Версія мікропрограми у рядку стану тепер є кнопкою, яка порівнює підключену камеру з вбудованою мікропрограмою і пропонує оновлення одним кліком, якщо доступна новіша версія.
Прошивка через DFU на всіх платформах. Мікропрограму тепер можна прошивати через DFU на Windows, macOS, Linux x86 та Linux x86_64, а вікно вибору мікропрограми приймає файли
.dfuна додаток до.bin.Автоматичне переключення на DFU. Якщо під час оновлення мікропрограми не вдається з’єднатися з послідовним завантажувачем, IDE тепер пропонує перейти на оновлення через DFU-завантажувач камери, пропонуючи додати перемичку
BOOT/RST.
Нові функції¶
Оновлювач в IDE. Перевіряє
openmv.ioна наявність новішої версії IDE та пропонує кнопку Download, яка відкриваєopenmv.io/download, а також завантажує, розпаковує та встановлює пакети ресурсівopenmv-ide-resources-X.Y.Z.zipбезпосередньо в IDE, після чого пропонує перезапустити (8a1f92bb1, 194acd828, b0be97e3e).Кнопка версії мікропрограми. Мітка версії у рядку стану стала
QToolButton, прив’язаним до потокуupdateCam(), який зчитує вбудованийfirmware/firmware.txt, порівнює його з підключеною камерою і пропонує Firmware Update з можливістю стирання внутрішньої файлової системи, якщо доступна новіша версія (b2ac8defe).Підтримка файлів DFU. Діалог завантажувача/прошивки тепер приймає файли
.dfuна додаток до.binта примусово виконує повне стирання внутрішньої файлової системи при прошивці.dfu. Фільтр вибору мікропрограми розширено доFirmware Binary (*.bin *.dfu), примусове стирання для.dfuвведено в4ad2be5f9, а прапорець стирання, що автоматично перемикається залежно від обраного розширення файлу, додано вb2ac8defe(4ad2be5f9, b2ac8defe).Автоматичне переключення на DFU при збої завантажувача. Якщо оновлення мікропрограми
.binне може запустити послідовний завантажувач, IDE тепер виводить повідомленняUnable to connect to the bootloader!та пропонує оновлення через DFU-завантажувач камери, попереджаючи, що DFU стирає внутрішню файлову систему, і супроводжує вас через встановлення перемичкиBOOT/RSTта повторне підключення перед запускомDfuSeCommand.exe(Windows) (4ad2be5f9).Приклад HoG. Додано приклад візуалізації гістограми орієнтованих градієнтів (
09-Feature-Detection/hog.py) з використаннямimg.find_hog()(b03a707f7).
Інші зміни та покращення¶
Старий адаптований код швидкості передачі/пакетів замінено класами
OpenMVPluginSerialPortCommand/Result, кодами операцій__USBDBG_*та__BOOTLDR_*, а також допоміжними функціямиcommand()/commandResult()замістьwrite()/readAll()/isOpen()(b03a707f7, 141122e21, b2ac8defe, 1d72fe4bf, b4cf2fe43, c60936d5f).Встановлення драйвера послідовного порту Windows тепер виконується в тихому/автоматичному режимі: скрипти встановлення драйверів
openmv.cmd/pybcdc.cmdпереведено на інсталятори на основіdpinstзамість інтерактивногоInfDefaultInstall, а також додано та виправлено інсталятор Visual C++ Redistributable (vcr.cmd, що тихо запускаєvcredist_x86.exeіvcredist_x64.exe) (a5a6e0590, 754d0776d, b0be97e3e, 452a29f0d, c051c6e30, ad1b674ef, 565f1eccd).
Виправлення помилок¶
Виправлено прошивку та збій зв’язку всередині віртуальних машин, а також пом’якшено різні тайм-аути команд і опитування кадрового буфера/буфера передачі, щоб підключення та запуск були більш надійними. У діалозі перепрограмування тепер зазначено, що процес «може зайняти до 5 хвилин», а тайм-аут процесу DFU збільшено з 240 с до 300 с у
324f243f9(c051c6e30, b0be97e3e, 1d72fe4bf, b4cf2fe43, 324f243f9, c60936d5f).Виправлено порівняння доступності оновлення мікропрограми/IDE, щоб новіший другорядний або патч-номер більше не спрацьовував хибно, коли старший розряд рівний, і тепер діалог завантажувача вимагає вибрати дійсний файл перед прошивкою (4ad2be5f9).
Закрито файлові дескриптори (список плат, файли мікропрограми/версії) після читання та виправлено вирівнювання блоків прошивки до
FLASH_WRITE_CHUNK_SIZE, що запобігає витокам дескрипторів і неправильному вирівнюванню останніх блоків під час оновлення мікропрограми (4ad2be5f9).Виправлено меню
HelpOpenMV та панелі виводу: пункт About OpenMV Cam більше не конфліктує з роллю About платформи (AboutRole→ApplicationSpecificRole), а панелі виводу більше не захоплюють комбінації клавішAlt/Cmd+ цифра (a0694eac7).Відкриття зовнішніх веб-посилань OpenMV (форуми, завантаження, підтримка) тепер показує діалог помилки «Failed to open», якщо URL неможливо відкрити, замість того щоб мовчки нічого не робити (b0be97e3e).
Підтримка платформ та інструментів¶
База Qt Creator: 4.0.2.
Вбудована мікропрограма камери: оновлено до 2.0.0, з новими
firmware.bin/openmv.binі новимиfirmware.dfu/bootloader.dfu/firmware.elf/bootloader.elfдля OMV2 та OMV7.Прошивка через DFU для Windows реалізована за допомогою вбудованого
DfuSeCommand.exeвід ST, пакету DFU-драйверів ST DfuSe (DfuSe v3.0.4.0 для Win7/Win8, v3.0.5.0 для Win8.1) та інсталятора драйвераdfuse.cmd(4ad2be5f9).Прошивка через DFU для macOS та Linux переведено з попередньо скомпільованих бінарних файлів
dfu-utilна вбудований прошивачpydfu.py, при цьому IDE показує необхідні команди встановлення libusb/pyusb.ac248c0ecтимчасово додав бінарні файлиdfu-util/dfu-prefix/dfu-suffixдля Linux x86_64, але324f243f9видалив їх усі на користьpydfu.py. Бінарні файлиdfu-utilне постачаються в фінальному релізі;static.proвключає директорію данихpydfuдля всіх не-Windows платформ, а Windows використовує вбудований потік DfuSe (ac248c0ec, 324f243f9, 7837a07da).Правила udev для Linux оновлено для використання збігу
SUBSYSTEM(VID камери 1209/PID abd1 tty та STM DFU 0483/df11), щоб символічні посилання пристрою та DFU працювали на 32-бітному Linux, а мережеві запити з переспрямуванням захищено для старіших версій Qt (194acd828).
Критичні зміни¶
Вбудовані автономні бінарні файли dfu-util для macOS та Linux видалено і замінено на прошивач pydfu.py на Python. На macOS та Linux прошивка DFU тепер вимагає одноразового встановлення Python разом із libusb та pyusb (IDE показує точні команди MacPorts/HomeBrew/apt-get). Windows продовжує використовувати вбудований потік на основі DfuSe. Розриви скриптового API відсутні, база Qt Creator 4.0.2 залишається незмінною.