v1.3.0¶
v1.3.0 přepisuje komunikační vrstvu kamery kolem strukturovaného protokolu příkaz/odpověď a přidává automatické aktualizace přímo v IDE jak pro samotné IDE, tak pro jeho přibalené prostředky. Je postaveno na Qt Creator 4.0.2 a obsahuje firmware kamery OpenMV 2.0.0. Na systémech macOS a Linux nyní flashování firmwaru přes DFU vyžaduje jednorázovou instalaci Pythonu spolu s libusb a pyusb; viz Zásadní změny.
Hlavní novinky¶
Přepsaná komunikační vrstva. Kód pro sériové/USB ladění byl přebudován kolem strukturovaného protokolu příkaz/odpověď s délkami odpovědí pro jednotlivé příkazy a čekacími prodlevami na začátku/konci, což zajišťuje spolehlivější operace připojení, spuštění skriptu, práce se snímkovým bufferem (frame buffer) a bootloaderem.
Automatický aktualizátor v IDE. IDE nyní kontroluje
openmv.iona novější verzi a nabízí tlačítko Download, a samostatně stahuje a instaluje aktualizované balíčky prostředků (příklady, firmware, dokumentace) a poté vyzve k restartu.Aktualizace firmwaru jedním kliknutím. Verze firmwaru ve stavovém řádku je nyní klikatelné tlačítko, které porovnává připojenou kameru s přibaleným firmwarem a nabízí aktualizaci jedním kliknutím, pokud je dostupná novější verze.
Flashování firmwaru přes DFU na každé platformě. Firmware lze nyní flashovat přes DFU na Windows, macOS, Linux x86 a Linux x86_64 a výběr firmwaru přijímá kromě
.bini soubory.dfu.Automatické přepnutí na DFU. Pokud během aktualizace firmwaru nelze dosáhnout sériového bootloaderu, IDE nyní nabídne provedení aktualizace přes DFU bootloader kamery a provede vás přidáním propojky
BOOT/RST.
Nové funkce¶
Aktualizátor v IDE. Kontroluje
openmv.iona novější verzi IDE a nabízí tlačítko Download, které otevřeopenmv.io/download, a stahuje, rozbaluje a instaluje balíčky prostředkůopenmv-ide-resources-X.Y.Z.zippřímo do IDE, než vyzve k restartu (8a1f92bb1, 194acd828, b0be97e3e).Klikatelné tlačítko verze firmwaru. Popisek verze ve stavovém řádku se stal
QToolButtonnapojeným na tokupdateCam(), který načte přibalenýfirmware/firmware.txt, porovná jej s připojenou kamerou a nabídne Firmware Update s volitelným smazáním interního souborového systému, je-li novější (b2ac8defe).Podpora souborů DFU. Dialog flashování bootloaderu/firmwaru nyní přijímá kromě
.bini soubory.dfua při flashování.dfuvynucuje úplné smazání interního souborového systému. Filtr výběru firmwaru byl rozšířen naFirmware Binary (*.bin *.dfu)a tok vynuceného smazání pro.dfubyl zaveden v4ad2be5f9, přičemž vždy zaškrtnuté a zakázané políčko smazání, které se automaticky přepíná podle zvolené přípony souboru, bylo přidáno vb2ac8defe(4ad2be5f9, b2ac8defe).Automatické přepnutí na DFU při selhání bootloaderu. Pokud aktualizace firmwaru
.binnedokáže spustit sériový bootloader, IDE nyní nahlásíUnable to connect to the bootloader!a poté nabídne aktualizaci pomocí DFU bootloaderu kamery, přičemž upozorní, že DFU smaže interní souborový systém ve flash paměti, a provede vás přidáním propojkyBOOT/RSTa opětovným připojením, než spustíDfuSeCommand.exe(Windows) (4ad2be5f9).Příklad HoG. Přidán příklad vizualizace Histogramu orientovaných gradientů (
09-Feature-Detection/hog.py) využívajícíimg.find_hog()(b03a707f7).
Další změny a vylepšení¶
Nahradil starý ad-hoc kód pro přenosovou rychlost/pakety třídami
OpenMVPluginSerialPortCommand/Result, opkódy__USBDBG_*a__BOOTLDR_*a pomocnými funkcemicommand()/commandResult()namístowrite()/readAll()/isOpen()(b03a707f7, 141122e21, b2ac8defe, 1d72fe4bf, b4cf2fe43, c60936d5f).Instalace ovladače sériového portu ve Windows je nyní tichá/bezobslužná, přepnutím ovladačových skriptů
openmv.cmd/pybcdc.cmdna instalátory založené nadpinstnamísto interaktivníhoInfDefaultInstall, a byl přidán a opraven instalátor Visual C++ Redistributable (vcr.cmdtiše spouštějícívcredist_x86.exeavcredist_x64.exe) (a5a6e0590, 754d0776d, b0be97e3e, 452a29f0d, c051c6e30, ad1b674ef, 565f1eccd).
Opravy chyb¶
Opraveno selhávání flashování firmwaru a komunikace uvnitř virtuálních strojů a uvolněny různé časové limity příkazů a dotazování snímkového bufferu (frame buffer)/tx-bufferu, takže připojení a spuštění jsou robustnější. Dialog přeprogramování nyní uvádí, že „může trvat až 5 minut“, a časový limit procesu DFU byl zvýšen z 240 s na 300 s v
324f243f9(c051c6e30, b0be97e3e, 1d72fe4bf, b4cf2fe43, 324f243f9, c60936d5f).Opraveno porovnání dostupnosti aktualizace firmwaru/IDE tak, aby novější vedlejší nebo opravná verze již chybně nespouštěla aktualizaci, když je vyšší pole shodné, a vyžadováno, aby dialog bootloaderu měl před flashováním platný vybraný soubor (4ad2be5f9).
Uzavřeny popisovače souborů (seznam desek, soubory firmwaru/verze) po jejich přečtení a opraveno doplnění bloků při flashování firmwaru tak, aby doplňovalo na
FLASH_WRITE_CHUNK_SIZE, čímž se zabrání úniku popisovačů a špatně doplněným posledním blokům během aktualizací firmwaru (4ad2be5f9).Opravena nabídka
HelpOpenMV a výstupní panely: položka About OpenMV Cam již nekoliduje s platformovou rolí About (AboutRole→ApplicationSpecificRole) a výstupní panely již nezachycují klávesové zkratkyAlt/Cmd+ číslo (a0694eac7).Otevírání externích webových odkazů OpenMV (fóra, stahování, podpora) nyní zobrazí chybový dialog „Failed to open“, pokud URL nelze otevřít, namísto tichého nečinění (b0be97e3e).
Podpora platforem a nástrojů¶
Základ Qt Creator: 4.0.2.
Přibalený firmware kamery: aktualizován na 2.0.0, s novými
firmware.bin/openmv.bina nově přidanýmifirmware.dfu/bootloader.dfu/firmware.elf/bootloader.elfpro OMV2 a OMV7.Flashování DFU ve Windows přidáno pomocí přibaleného ST
DfuSeCommand.exe, balíčku USB ovladače ST DfuSe (DfuSe v3.0.4.0 na Win7/Win8, v3.0.5.0 na Win8.1) a instalátoru ovladačedfuse.cmd(4ad2be5f9).Flashování DFU na macOS a Linux přesunuto z předkompilovaných binárek
dfu-utilna přibalený flasherpydfu.py, přičemž IDE zobrazuje potřebné instalační příkazy libusb/pyusb.ac248c0eckrátce přidal binárky Linux x86_64dfu-util/dfu-prefix/dfu-suffix, ale324f243f9je poté všechny odebral ve prospěchpydfu.py. V konečném vydání se žádné binárkydfu-utilnedodávají;static.propřibaluje datový adresářpydfupro všechny ne-Windows hostitele, zatímco Windows používá přibalený tok DfuSe (ac248c0ec, 324f243f9, 7837a07da).Pravidla udev pro Linux aktualizována na použití párování
SUBSYSTEM(cam VID 1209/PID abd1 tty a STM DFU 0483/df11), takže symbolické odkazy zařízení a DFU fungují na 32bitovém Linuxu, a síťové požadavky následující přesměrování byly ošetřeny pro starší Qt (194acd828).
Zásadní změny¶
Přibalené samostatné binárky dfu-util pro macOS a Linux byly odebrány a nahrazeny Python flasherem pydfu.py. Na macOS a Linux nyní flashování firmwaru přes DFU vyžaduje jednorázovou instalaci Pythonu spolu s libusb a pyusb (IDE zobrazuje přesné příkazy MacPorts/HomeBrew/apt-get). Windows nadále používá přibalený tok založený na DfuSe. Nedošlo k žádným změnám ve skriptovacím API a základ Qt Creator 4.0.2 zůstává beze změny.