v4.0.1¶
v4.0.1 je modernizace od základu, která přenáší OpenMV IDE z jeho dlouho používaného základu Qt Creator 4.0.2 na Qt Creator 10.0.1. Celý zásobník zásuvných modulů OpenMV (prohlížeč frame bufferu, sériová/protokolová komunikace, terminál, editory histogramu, prahu a klíčových bodů, video nástroje a obaly pro flashování firmwaru) je znovu aplikován na novém základu, společně s vyladěnou dvojicí motivů Flat Light/Flat Dark, zvýrazňováním Pythonu se znalostí OpenMV, sjednoceným dialogem nahrávání firmwaru a širokou podporou detekce zařízení na ARM64 Linuxu a macOS. Změna základu Qt Creator je rozsáhlá interní modernizace, ale nenarušuje uživatelské projekty; několik výchozích chování a definic desek se přesto změnilo (viz Zásadní změny).
Hlavní novinky¶
Přechod na Qt Creator 10.0.1. IDE přechází z Qt Creator 4.0.2 na 10.0.1: upstreamový Qt Creator je oříznut na své základní stavební součásti (98b95fd3b) a celý zásuvný modul OpenMV je znovu přidán na nový základ (0e8047372).
Motivy Flat Light a Flat Dark. Dodává se vyladěná dvojice světlého/tmavého motivu s odpovídajícími vlastními styly zvýrazňování syntaxe editoru; volba motivu je znovu zpřístupněna v Obecných nastaveních a omezena pouze na tyto dva, přičemž výchozím motivem je nyní
flat-dark(21348924b, 13c3849e8).Sériový terminál s raw-REPL. Terminál nyní spouští, přerušuje, znovu načítá a vkládá skripty přes řádný stavový automat raw-REPL MicroPythonu (CTRL-A/CTRL-D) a spolehlivě zvládá i větší skripty (a7241079c).
Editace Pythonu se znalostí OpenMV. Moduly, třídy, funkce, metody a argumenty OpenMV jsou zvýrazněny v syntaxi na základě přibalené dokumentace, s chytřejším automatickým doplňováním a automatickým odsazováním zohledňujícím závorky a dvojtečky (801eab8a8, 8e9f967e7, 9fdff9c6d).
Sjednocený dialog nahrávání firmwaru. Flashování nyní zobrazuje jediný kontextový dialog (Mazání disku / Flashování firmwaru / Flashování bootloaderu) s ukazatelem průběhu a sbalitelným záznamem Zobrazit/Skrýt podrobnosti, který si pamatuje svůj stav (5b51356f8).
Podpora OpenMV Cam RT1062. Pro novou desku třídy i.MX RT1060 byly přidány firmware, DFU/flash-loadery, enumerace SDP/blhost a programovací krok vypálení eFuse (a6595f5f7), které pak dostala samostatnou variantu desky se Secure Bootloaderem (SBL) (d2b11c6c8).
Nové funkce¶
Příznaky automatizace. Příznaky
-auto_update(release/development/ cesta),-auto_erasea-auto_runumožňují IDE při připojení nahrát/smazat firmware a poté spustit otevřený skript; po opětovném připojení bootloaderu IDE před pokračováním čeká až 10 s na novou enumeraci kamery (b54affe79, f4e03d978).Příznak ``-disable_stop`` a přepínač nabídky
stop on connect/disconnectumožňují uživatelům vypnout zastavení skriptu při připojení nebo odpojení (02724ca7d).Přepínač Stop Script on Connect/Disconnect (ve výchozím stavu zapnutý) odděluje připojení/odpojení od zastavení běžícího skriptu; Auto Reconnect je nyní ve výchozím stavu vypnutý (a0e78057f).
Výzva k volbě typu desky. Když připojená deska hlásí architekturu, která není ve firmwarovém mapování, IDE nyní vyzve uživatele k výběru typu desky (a zapamatuje si poslední volbu) namísto přerušení s chybou „Unsupported board architecture!“ (b7165eb3d).
Zvýrazňování syntaxe Pythonu OpenMV obarvuje známé moduly, třídy, data, funkce, metody a argumenty OpenMV pomocí seznamů klíčových slov naplněných z přibalené dokumentace (801eab8a8, b4d481bf5).
~300 jazykových definic KSyntaxHighlighting se dodává s editorem, takže zdrojové soubory v mnoha jazycích jsou zvýrazněny hned po instalaci (39674a4dc).
Přibalené ukázkové skripty OpenMV (Hello World, snímek, nahrávání videa, optický tok, event kamery, global shutter, FLIR Lepton a další) jsou nyní zařazeny a dodávány s IDE (938ac6bbe).
Binární/hex editor je povolen, takže uživatelé mohou otevírat a prohlížet binární soubory, s panelem nástrojů upraveným tak, aby zapadl do uživatelského rozhraní OpenMV (675bda966).
Porovnávání dokumentů v paměti. Nové soubory a příklady jen pro čtení nyní získají podpůrný dočasný soubor, takže lze porovnávat i neuložené dokumenty, a dialog porovnání externích souborů si pamatuje naposledy použitou složku (5281e5f6c, 2934d5216).
Zásuvný modul záložkového editoru je znovu přidán, čímž IDE získává lištu dokumentů se záložkami; zdrojový kód zásuvného modulu minimapy byl znovu přidán, ale v sestavení pro toto vydání ponechán vypnutý (0e8047372).
Záložní flashování přes DfuSe a pydfu je obnoveno pro DFU zařízení, která nelze cílit podle sériového čísla, s automatickým mazáním bez dialogu během připojení (e42a5be7d).
Vypálení eFuse pro i.MX RT. Programování firmwaru nyní vypaluje eFuse (
efuse-program-once) pro desky třídy RT1060 (8053bb578, a6595f5f7).Stránka průvodce Linux Root Installs umožňuje uživateli zvolit, zda se má provést instalace knihovny apt s vyššími oprávněními a instalace pravidel udev, namísto jejich vždy automatického spouštění (6bac80984).
Další změny a vylepšení¶
Skenování sériových portů na pozadí. Enumerace portů byla přesunuta z vlákna uživatelského rozhraní do vyhrazeného pracovního vlákna
ScanSerialPortsThread, takže IDE zůstává během skenování responzivní (7be4dab26).Širší detekce zařízení. Skenování portů bylo přepracováno do znovupoužitelné pomocné funkce
filterPorts(), která zahrnuje zařízení picotool a i.MX DFU a překlasifikovává známé sériové porty bootloaderu Arduino (staré PID NRF/RPI a PID loaderu) na DFU zařízení (25a5d30fd).Více záložních terminálů. Při spouštění přibalených nástrojů pro přehrávání videa (Play Video File / Play RTSP Stream) na Linuxu se IDE nyní kromě
xtermagnome-terminalpostupně pokouší i olxterminal,konsoleaxfce4-terminal(df54007e0).Hlášení klíčů desek. Registrace kamery nyní parsuje odpověď „Remaining N“, aby uživateli sdělila, kolik klíčů desek zbývá, a přidává samostatnou chybovou zprávu „Invalid Board Key for Board Type“ (5759e73eb).
Stahování hostovaná na GitHubu. Kontroly verzí a stahování zdrojů nyní používají
raw.githubusercontent.com/openmv/openmv-ide-versiona vydáníopenmv/openmv-idenamístoupload.openmv.io(994109c28).HTTPS všude. Všechny webové požadavky OpenMV (kontroly verzí, registrace SWD ID, stahování zdrojů a firmwaru) nyní používají
https://(54347cad0).Automatizace nastavení na Linuxu. Instalátor detekuje chybějící knihovny a pravidla udev a v případě potřeby vygeneruje spustitelný
setup.shs přesnými instalačními příkazy apt-get/pip a pravidly udev (a souborREADMEs pokynem uživateli, aby jej spustil) (c6dc705e6).Tolerance pomalých desek. Sériový terminál zvyšuje svou dobu čekání na čtení z 1 ms na 10 ms a po dokončení skriptu vysílá potvrzení „OK“ (c935e4489).
Plynulejší průběh flashování. Ukazatele průběhu nahrávání firmwaru nyní přepínají z neurčitého stavu na 0-100 % okamžitě, nikoli až po prvním procentuálním kroku, a to napříč dfu-util, bossac, picotool a flashováním i.MX (19d947308, 86d021f92).
Obnova starého bootloaderu je znovu přidána prostřednictvím nerychlého režimu bootloaderu, který odesílá příkazy mazání/zápisu bez výplně dotaz-synchronizace rychlého režimu (c20112c07).
Čistší konzole nástrojů. Terminály flashování firmwaru (bossac, dfu-util, picotool, imx, video nástroje) nyní běží jako samostatné konzolové procesy s lépe formátovaným výstupem příkazů (8053bb578).
Vylepšení automatického doplňování. Doplňování rozlišuje třídy, metody a funkce se samostatnými nápovědami k argumentům, používá správné ikony kódového modelu a respektuje veřejný/chráněný/soukromý rozsah podle prefixu podtržítkem; procesor doplňování klíčových slov také přeskakuje úvodní mezery před kurzorem při explicitně (ručně) vyvolaném doplňování (8e9f967e7, 68b26b5fc).
Konsolidované dialogy. Provizorní dialogy OpenMV „Don’t show this again“ – včetně úvodního informačního dialogu
OpenMV Cam LED Colorsa výzev k aktualizaci firmwaru a k příkladům – jsou sjednoceny na dialogyCheckableMessageBox„Do Not Ask/Show Again“, do Obecných nastavení bylo přidáno tlačítko „Reset Do Not Ask/Show Again Dialogs“ a značky skládání kódu jsou ve výchozím stavu vypnuté (9fdff9c6d).Branding zohledňující motiv. Byly přidány úvodní obrazovky pro tmavý režim, tmavá/světlá loga čipů ST a NXP v okně About, barvy nápověd pro tmavý režim a správné barvy ikon automatického doplňování (d85fdeb19, 9895a8395, f45ceaaea, 7f3e1f383).
Vyčištění prohlížeče obrázků. Akce sdílet, pozadí, obrys a „nastavit jako výchozí“ jsou skryty, byla přidána akce přizpůsobit obrazovce a bylo opraveno škálování animovaných obrázků (b37c55e25).
Vyčištění kontextové nabídky. Položky „Show in File System View“, „Open Terminal“, „File Properties“ a „Add/Delete UTF-8 BOM on Save“ jsou skryty (5d862c78e).
Tmavý sériový terminál. Samostatný terminál používá řádný tmavý motiv se stylovanými posuvníky, aktualizovanými ikonami panelu nástrojů a správným opětovným načítáním ikon posuvníku ve vysokém DPI napříč obrazovkami (5c3af6880).
Vyčištění Najít/Hledat. Panel výsledků získává tmavý motiv, volič vyhledávacího jádra je skryt, popisky jsou zjednodušeny a Najít v souborech se ve výchozím stavu nastaví na složku Documents/OpenMV (20a806550).
Identita aplikace. IDE nyní zobrazuje správnou ikonu OpenMV na ploše, v titulkovém pruhu a na hlavním panelu (s podporou vysokého DPI na Windows) a id IDE bylo změněno na
openmvide(8ad1eed1f).Úvodní obrazovka pro vysoké DPI zobrazuje 2x úvodní obrázek na displejích Retina/se škálováním 200 % (626ff673e).
Oprava panelu akcí. Levý panel akcí (New File, Open, Save, Undo, Redo, Cut, Copy, Paste) byl opraven a získal vlastní ikony OpenMV (b8479b5d0).
Loga v dialogu About. Nyní jsou zobrazena partnerská loga Arduino i Edge Impulse (Edge Impulse bylo dříve skryto) s variantami 2x pro vysoké DPI a přibalené grafiky úvodní obrazovky byly aktualizovány (
splash-small-2/splash-large-2) (5facd8d9a).Vybrat slovo pod kurzorem je povoleno; příkazy Go to Block Start/End (Ctrl+[ / Ctrl+]) a Select Block Up/Down byly krátce znovu povoleny (36ed5b1a8), ale ve vydání ponechány vypnuté (626ff673e).
Položka plochy na Linuxu získává kategorii Electronics, popisný komentář a vyhledávací klíčová slova (embedded electronics, microcontroller, micropython, computer/machine vision) (470e5702e).
Migrace zdrojů. Uživatelské zdroje byly přesunuty do umístění s verzí (stará složka qtcreator je při startu odstraněna) a neškodná varování DirectWrite o řezu písma na Windows jsou potlačena (a04af5351, 70765dc2a).
Skryté interní volby. Interní volby jádra
-colora-themejsou skryty z výstupu nápovědy a prezentační režim byl znovu povolen (434c7b4cc).Znovu aplikované úpravy jádra na ozdobný panel akcí / widget záložek, správce zpráv / okno výstupu, proxy akce, zvýrazňovač syntaxe a textový editor (0e8047372).
QCustomPlot 2.1.1. Přibalená knihovna pro vykreslování grafů byla aktualizována pro kompatibilitu s Qt 6.4 a správné zpracování dynamicky se měnícího DPI displeje (8801415fe).
Kosmetické vyčištění uživatelského rozhraní u ikon šipek posuvníků, stavového řádku, tlačítek pro zavření na liště záložek dokumentů a šířky posuvníku editoru; indikátor editoru „Display File Line Ending“ je nyní ve výchozím stavu vypnutý (e0c4d2325, 6a26f4430, e130988fb).
Opravy chyb¶
Opravena detekce VID/PID na Linuxu čtením
/sys/class/tty/<port>/device/ueventpro získání skutečného VID/PID zařízení, čímž se obchází vracení identifikátorů USB hubu funkcíQSerialPortInfo, takže kamery za huby jsou detekovány správně (28220b351).Opraveno flashování firmwaru bootloaderu na Macu uvolněním kontrol velikosti endpointu a přidáním synchronizačního dotazovacího paketu pouze tehdy, když má zápis přesně velikost jednoho USB endpointu (86d021f92).
Opraveny nástroje pro přehrávání videa na Linuxu: Play Video File / Play RTSP Stream jsou nyní skryty na 32bitovém a ARM Linuxu (bez přibaleného ffplay), se záložním řešením přes gnome-terminal, když není k dispozici xterm, a binárka ffmpeg pro macOS byla obnovena ze zástupného souboru (d342649cc, d896f4225).
Zvýšeny počáteční/koncové prodlevy resetu bootloaderu z 0 na 5, aby se zabránilo překrývání příkazů mazání a zápisu během aktualizací firmwaru (fabc168b6).
Zefektivněna obnova bootloaderu: vynucení bootloaderu k opravě zablokované kamery přeskakuje nadbytečné výzvy a po resetu DFU bootloaderu se IDE automaticky pokusí o opětovnou aktualizaci namísto vyzývání uživatele k opětovnému připojení (12b924088).
Umožněno přerušení příkazů výpisu sériového frame bufferu/TX bufferu uprostřed transakce (4a4afae1b).
Odstraněno provizorní řešení vzdávání se při zaseknutém čtení sériového portu, které mohlo doplňovat odpovědi nulovými bajty, čímž se zlepšuje spolehlivost rychlého přenosu přes USB (0ee1d8e91).
Opraveno ladění přes WiFi a automatické opětovné připojení: WiFi porty obnovují svou časovou značku posledního výskytu při opětovném objevení, bylo opraveno několik chyb iterátoru po smazání při vyřazování WiFi portů a detekci DFU/bootloaderu a automatické opětovné připojení nyní před připojením čeká, dokud IDE není zaneprázdněno (cf0b67dc6).
Opraven převodník video-na-MJPEG tak, aby parsoval snímkovou frekvenci z výstupu enkodéru a zapisoval správný milisekundový rozdíl na snímek, takže převedená videa se přehrávají správnou rychlostí (4a7ad2057).
Opraveno selhávání spouštění flashování firmwaru a přibalených nástrojů příkazové řádky vynucením backendu QProcess a opravou ochrany smyčky událostí blokujícího procesu (200fe9f3c).
Opraveny ikony větví rozbalení/sbalení stromu editoru datové sady tak, aby se správně vykreslovaly na displejích HiDPI, opětovným načtením stylu ikon při změně poměru pixelů zařízení (a0e78057f).
Aktualizace balíčků/zdrojů nyní po instalaci automaticky restartují OpenMV IDE namísto pouhého ukončení (178ee1b8e).
Opraveno zvýrazňování výsledků Najít/hledat a akce výsledek hledání / otevření souboru nyní přechází na první viditelný editor, pokud není žádný aktuální editor (48c402dfc).
Opraven dialog nahrávání firmwaru tak, aby se jeho varovný text vymazal a okno se po dokončení flashovací operace správně přizpůsobilo velikostí (c505c6ade).
Opraveno několik chyb uživatelského rozhraní na macOS: lišta záložek již nezahlcuje chybami načítání ikon a zobrazuje se správně při otevření souboru (9be8c58de, 5322cf968).
Opraveno stylování stavového řádku / výstupního panelu a zarovnání na účaří na macOS a Linuxu (4fc4545de, d29b2baa0, a440d5cd8).
Opraven tisk zdrojového kódu tak, aby záhlaví s názvem stránky mělo řádné horní a boční okraje namísto dotýkání se okraje stránky (786d6012c).
Podpora platforem a nástrojů¶
Základ Qt Creator: 10.0.1 (přenesen z 4.0.2).
OpenMV IDE: 4.0.0 -> 4.0.1.
OpenMV Cam RT1062 (i.MX RT1060): počáteční firmware RT1062, flash-loader, podepsané obrazy, položka
imx.txta konfigurační klíčeblhostpro secure-bootloader/eFuse byly přidány do firmwarové složkyOPENMV5(a6595f5f7); deska pak byla sjednocena do jediné složkyOPENMV_RT1060a byla přidána samostatná varianta desky se Secure Bootloaderem (SBL) (OpenMV_Cam_RT1062_SBL) (d2b11c6c8, 5baf28c6e).Přibalený flashovací nástrojový řetězec (blhost, bossac, dfu-util, dfuse + ovladače STM32, picotool, sdphost, ffmpeg, ovladače FTDI/Arduino) byl znovu přibalen pro Windows/macOS/Linux, přičemž linuxové binárky jsou označeny jako spustitelné (fbfa4903a, bfb6b32e2, 9551c64da).
ARM64 Linux DFU: přibalený aarch64
dfu-utilplus detekce arm64 ve výpisu zařízení a stahování firmwaru umožňuje DFU flashování na hostitelích, jako je Raspberry Pi (16bc6fe0f, 470e5702e).Detekce zařízení i.MX nyní funguje na Linuxu (parsováním
lsusb) a macOS (skenovánímioreg), což na těchto platformách umožňuje nahrávání firmwaru i.MX RT (e03ccbe71, 7cf505d09).Omezení podle platformy: použití i.MX je omezeno na Windows/macOS/Linux-x86_64 s kritickou chybou jinde a flashování Portenta/Nicla na ARM/ARM64 Linuxu zobrazuje varování „DFU Util may not be stable on this platform“ (9513f6475).
OpenGL na Windows: softwarové vykreslování bylo obnoveno přibalením podpory
opengl32sw,Qt6OpenGLa OpenGL z Qt6Gui do nasazeného balíčku (aaaa1928f).Přejmenovány složky/id desek Arduino. Firmwarové složky a id desek v
boards.txtpro Portenta, Nicla Vision a Nano 33 BLE Sense byly přejmenovány naARDUINO_PORTENTA_H7,ARDUINO_NICLA_VISIONaARDUINO_NANO_33_BLE_SENSE(a70d6562a); složka/id desky Nano 33 BLE Sense byly následně převedeny na malá písmenaarduino_nano_33_ble_sense, aby odpovídaly názvu desky hlášenému zařízením (22750d8c7, a801a81de).Flash loadery bootloaderu OPENMV_RT1060 (
blhost_flash_loader.bin,sdphost_flash_loader.bin) byly aktualizovány (5baf28c6e).QCustomPlot: 2.1.1 (přibalená knihovna pro vykreslování grafů) (8801415fe).
Firmwarové obrazy na disku byly znovu přibaleny pro všechny podporované desky OpenMV/Arduino (
OPENMV1-4P,OPENMV4_PRO,OPENMVPT,ARDUINO_NICLA_VISION,arduino_nano_33_ble_sense,ARDUINO_PORTENTA_H7,ARDUINO_NANO_RP2040_CONNECT,OPENMV_RT1060,CYW4343plus WiFi firmwareWINC1500), s firmwarem a, kde je to relevantní, obrazy bootloaderu/uvc (fbfa4903a).
Zásadní změny¶
Toto jsou pro uživatele viditelné změny pracovních postupů a chování; samotný přechod na Qt Creator 10.0.1 nenarušuje uživatelské projekty ani skripty.
Změnily se definice desek i.MX RT1060. Položky
EVKBMIMXRT1060aOPENMV5byly nahrazeny jedinou deskouOPENMV_RT1060(OpenMV Cam RT1062 plus varianta SBL) a staré firmwarové složky byly odstraněny (d2b11c6c8).Výchozí časový limit odpovědi na příkaz je 10000 ms (v 4.0.0 byl 5000 ms); text nápovědy
-override_read_timeoutbyl odpovídajícím způsobem aktualizován (4a4afae1b).Změnilo se chování při připojení/odpojení. Auto Reconnect je nyní ve výchozím stavu VYPNUTÝ a připojení nebo odpojení již ve výchozím stavu nezastavuje běžící skript, pokud není povolen nový přepínač „Stop Script on Connect/Disconnect“ (ten je ve výchozím stavu zapnutý) (a0e78057f).
Aktualizační proces restartuje IDE. Aktualizace balíčků/zdrojů nyní po instalaci automaticky restartují OpenMV IDE namísto ukončení (178ee1b8e).
Přejmenována id desek Arduino. Id desek v
boards.txta firmwarové složky pro Portenta, Nicla Vision a Nano 33 BLE Sense byly přejmenovány naARDUINO_PORTENTA_H7,ARDUINO_NICLA_VISIONaARDUINO_NANO_33_BLE_SENSE(poslední později převedeno na malá písmenaarduino_nano_33_ble_sense) (a70d6562a, 22750d8c7, a801a81de).