v4.0.1¶
A v4.0.1 egy alapokról induló modernizáció, amely az OpenMV IDE-t a régóta használt Qt Creator 4.0.2 alapról a Qt Creator 10.0.1-re helyezi át. A teljes OpenMV plugin-réteg (képkocka-puffer megjelenítő, soros/protokoll, terminál, hisztogram-, küszöbérték- és kulcspont-szerkesztők, videoeszközök és firmware-flashelő burkolók) újra alkalmazásra kerül az új alapra, egy letisztult Flat Light/Flat Dark témapárral, OpenMV-tudatos Python kiemeléssel, egy egységes firmware-betöltő párbeszédablakkal, valamint széles körű ARM64 Linux és macOS eszközfelismerési támogatással együtt. A Qt Creator alapváltása nagy belső modernizáció, de nem töri el a felhasználói projekteket; néhány alapértelmezett viselkedés és lapdefiníció azonban megváltozott (lásd a Töréses változások részt).
Kiemelések¶
Qt Creator 10.0.1 rebase. Az IDE a Qt Creator 4.0.2-ről 10.0.1-re vált: az upstream Qt Creator a build alapokra van lecsupaszítva (98b95fd3b), és a teljes OpenMV plugin újra hozzáadásra kerül az új alapra (0e8047372).
Flat Light és Flat Dark témák. Egy letisztult világos/sötét témapár érkezik egyező egyéni szerkesztő-szintaxiskiemelési stílusokkal; a Téma választó az Általános beállításokban újra elérhetővé válik, kizárólag erre a kettőre korlátozva, és az alapértelmezett téma mostantól a
flat-dark(21348924b, 13c3849e8).Raw-REPL soros terminál. A terminál mostantól egy megfelelő MicroPython raw-REPL (CTRL-A/CTRL-D) állapotgépen keresztül futtatja, szakítja meg, tölti újra és illeszti be a szkripteket, megbízhatóan kezelve a nagyobb szkripteket is (a7241079c).
OpenMV-tudatos Python szerkesztés. Az OpenMV modulok, osztályok, függvények, metódusok és argumentumok a mellékelt dokumentációból kerülnek szintaxiskiemelésre, okosabb automatikus kiegészítéssel és egy zárójel-/kettőspont-tudatos automatikus behúzóval (801eab8a8, 8e9f967e7, 9fdff9c6d).
Egységes firmware-betöltő párbeszédablak. A flashelés mostantól egyetlen kontextusfüggő párbeszédablakot mutat (Lemez törlése / Firmware flashelése / Rendszerbetöltő flashelése) egy folyamatjelző sávval és egy összecsukható, állapotmegjegyző Részletek megjelenítése/elrejtése naplóval (5b51356f8).
OpenMV Cam RT1062 támogatás. Firmware, DFU/flash-betöltők, SDP/blhost enumeráció és egy eFuse-égető programozási lépés kerül hozzáadásra az új i.MX RT1060-osztályú laphoz (a6595f5f7), amely ezután egy önálló Secure Bootloader (SBL) lapváltozatot kap (d2b11c6c8).
Új funkciók¶
Automatizálási kapcsolók. A
-auto_update(release/development/ útvonal),-auto_eraseés-auto_runkapcsolók lehetővé teszik, hogy az IDE betöltse/törölje a firmware-t, majd csatlakozáskor futtassa a megnyitott szkriptet; egy rendszerbetöltő újracsatlakozás után az IDE legfeljebb 10 másodpercig vár, hogy a kamera újra enumerálódjon, mielőtt folytatná (b54affe79, f4e03d978).``-disable_stop`` kapcsoló és egy
stop on connect/disconnectmenüváltó lehetővé teszi a felhasználóknak, hogy letiltsák a szkript leállítását csatlakozáskor vagy lecsatlakozáskor (02724ca7d).A Szkript leállítása csatlakozáskor/lecsatlakozáskor kapcsoló (alapértelmezetten bekapcsolva) szétválasztja a csatlakozást/lecsatlakozást a futó szkript leállításától; az Automatikus újracsatlakozás mostantól alapértelmezetten kikapcsolt (a0e78057f).
Lap-típus kérdés. Amikor egy csatlakoztatott lap olyan architektúrát jelent, amely nem szerepel a firmware-leképezésben, az IDE mostantól arra kéri a felhasználót, hogy válassza ki a lap típusát (megjegyezve az utolsó választást), ahelyett, hogy egy „Unsupported board architecture!” hibával megszakadna (b7165eb3d).
Az OpenMV Python szintaxiskiemelés a mellékelt dokumentációból feltöltött kulcsszólisták segítségével színezi az ismert OpenMV modulokat, osztályokat, adatokat, függvényeket, metódusokat és argumentumokat (801eab8a8, b4d481bf5).
~300 KSyntaxHighlighting nyelvi definíció érkezik a szerkesztővel, így sok nyelven írt forrásfájl alapból kiemelésre kerül (39674a4dc).
Mellékelt OpenMV példaszkriptek (Hello World, pillanatkép, videofelvétel, optikai áramlás, eseménykamerák, global shutter, FLIR Lepton és továbbiak) mostantól bekerülnek az IDE-be és vele együtt szállítódnak (938ac6bbe).
Bináris/hexa szerkesztő engedélyezve van, így a felhasználók megnyithatják és megvizsgálhatják a bináris fájlokat, az eszköztára pedig az OpenMV UI-hoz igazítva van leszűkítve (675bda966).
Memóriabeli dokumentum-összehasonlítás. Az új fájlok és csak olvasható példák mostantól egy háttér-ideiglenes fájlt kapnak, így a nem mentett dokumentumok is összehasonlíthatók, a külső fájl-összehasonlító párbeszédablak pedig megjegyzi az utoljára használt mappát (5281e5f6c, 2934d5216).
A lapozós szerkesztő plugin újra hozzáadásra került, lapozós dokumentumsávot adva az IDE-nek; a minimap plugin forráskódja újra bekerült, de a buildben ehhez a kiadáshoz letiltva maradt (0e8047372).
A DfuSe és pydfu tartalék flashelés helyreáll azoknál a DFU eszközöknél, amelyek nem célozhatók sorozatszám alapján, párbeszédablak nélküli automatikus törléskezeléssel csatlakozás közben (e42a5be7d).
i.MX RT eFuse égetés. A firmware-programozás mostantól eget egy eFuse-t (
efuse-program-once) az RT1060-osztályú lapoknál (8053bb578, a6595f5f7).A Linux root telepítések varázslóoldal lehetővé teszi a felhasználónak, hogy beleegyezzen vagy elutasítsa az emelt jogosultságú apt könyvtár-telepítést és az udev szabályok telepítését, ahelyett, hogy mindig lefuttatná őket (6bac80984).
Egyéb változások és fejlesztések¶
Háttérbeli soros port keresés. A port-enumeráció átkerült a felhasználói felület szálából egy dedikált
ScanSerialPortsThreadmunkaszálba, így az IDE válaszkész marad a keresés közben (7be4dab26).Szélesebb körű eszközfelismerés. A portkeresés egy újrahasználható
filterPorts()segédfüggvénybe lett átszervezve, amely beleveszi a picotool és i.MX DFU eszközöket, és az ismert Arduino rendszerbetöltő soros portokat (NRF/RPI régi és betöltő PID-ek) DFU eszközökként sorolja át (25a5d30fd).Több terminál-tartalék. A mellékelt videolejátszó eszközök (Videofájl lejátszása / RTSP-folyam lejátszása) Linuxon történő indításakor az IDE mostantól az
xtermésgnome-terminalmellett azlxterminal,konsoleésxfce4-terminalterminálokra is visszaesik (df54007e0).Lapkulcs-jelentés. A kamera-regisztráció mostantól értelmez egy „Remaining N” választ, hogy megmondja a felhasználónak, hány lapkulcs maradt, és hozzáad egy önálló „Invalid Board Key for Board Type” hibaüzenetet (5759e73eb).
GitHub-on tárolt letöltések. A verzióellenőrzések és erőforrás-letöltések mostantól a
raw.githubusercontent.com/openmv/openmv-ide-versioncímet és azopenmv/openmv-idekiadásokat használják azupload.openmv.iohelyett (994109c28).HTTPS mindenhol. Az összes OpenMV webes kérés (verzióellenőrzések, SWD ID regisztráció, erőforrás- és firmware-letöltések) mostantól
https://címet használ (54347cad0).Linux beállítás-automatizálás. A telepítő észleli a hiányzó könyvtárakat és udev szabályokat, és szükség esetén generál egy futtatható
setup.shfájlt a pontos apt-get/pip és udev-szabály telepítési parancsokkal (valamint egyREADMEfájlt, amely arra kéri a felhasználót, hogy futtassa le) (c6dc705e6).Lassú lapok tűrése. A soros terminál olvasásonkénti várakozási idejét 1 ms-ról 10 ms-ra emeli, és „OK” nyugtázást küld, amikor egy szkript befejeződik (c935e4489).
Simább flashelési folyamatjelzés. A firmware-betöltő folyamatjelző sávjai mostantól azonnal váltanak a határozatlanról 0-100%-ra, nem pedig az első százalékos lépés után, a dfu-util, bossac, picotool és i.MX flashelésnél (19d947308, 86d021f92).
A régi rendszerbetöltő helyreállítása újra hozzáadásra került egy nem-gyors rendszerbetöltő mód révén, amely a gyors mód lekérdezés-szinkron kitöltése nélkül küld törlési/írási parancsokat (c20112c07).
Tisztább eszközkonzolok. A firmware-flashelő terminálok (bossac, dfu-util, picotool, imx, videoeszközök) mostantól önálló konzolfolyamatokként futnak, jobban formázott parancskimenettel (8053bb578).
Automatikus kiegészítés finomítása. A kiegészítés megkülönbözteti az osztályokat, metódusokat és függvényeket külön argumentum-tippekkel, megfelelő kódmodell-ikonokat használ, és aláhúzás-előtag alapján tiszteletben tartja a publikus/védett/privát hatókört; a kulcsszó-kiegészítő processzor a kifejezetten (kézzel) meghívott kiegészítésnél a kurzor előtti vezető szóközöket is átugorja (8e9f967e7, 68b26b5fc).
Egyesített párbeszédablakok. Az OpenMV eseti „Ne mutasd ezt újra” párbeszédablakai – beleértve az indításkori
OpenMV Cam LED Colorsinformációs párbeszédablakot, valamint a firmware-frissítés és példák kérdéseit – egységesítve lettek aCheckableMessageBox„Ne kérdezd/mutasd újra” párbeszédablakaira, egy „A Ne kérdezd/mutasd újra párbeszédablakok visszaállítása” gomb került az Általános beállításokba, és a kódbehajtási jelölők alapértelmezetten letiltottak (9fdff9c6d).Téma-tudatos arculat. Sötét módú indítóképernyők, sötét/világos ST és NXP chiplogók a Névjegy ablakban, sötét módú elemleírás-színek és megfelelő automatikus kiegészítés ikonszínek kerültek hozzáadásra (d85fdeb19, 9895a8395, f45ceaaea, 7f3e1f383).
Képnézegető tisztítás. A megosztás, háttér, körvonal és „beállítás alapértelmezettként” műveletek elrejtésre kerültek, egy képernyőhöz illesztés művelet került hozzáadásra, és az animált képek méretezése javítva lett (b37c55e25).
Helyi menü tisztítás. A „Megjelenítés a fájlrendszer nézetben”, „Terminál megnyitása”, „Fájl tulajdonságai” és a „UTF-8 BOM hozzáadása/törlése mentéskor” bejegyzések elrejtésre kerültek (5d862c78e).
Sötét soros terminál. Az önálló terminál megfelelő sötét témát használ stilizált görgetősávokkal, frissített eszköztár-ikonokkal és helyes high-DPI görgetősáv-ikon újratöltéssel a képernyők között (5c3af6880).
Keresés tisztítás. Az eredménypanel sötét témát kap, a keresőmotor-választó elrejtésre kerül, a címkék egyszerűsödnek, és a Keresés fájlokban alapértelmezetten a Documents/OpenMV mappára áll (20a806550).
Alkalmazás-identitás. Az IDE mostantól a megfelelő OpenMV ikont mutatja az asztalon, a címsorban és a tálcán (high-DPI kezeléssel Windowson), és az IDE azonosítója
openmvidelett (8ad1eed1f).High-DPI indítóképernyő 2x-es indítóképet jelenít meg a Retina/200%-os skálázású kijelzőkön (626ff673e).
Műveletsáv javítása. A bal oldali műveletsáv (Új fájl, Megnyitás, Mentés, Visszavonás, Újra, Kivágás, Másolás, Beillesztés) javításra került, és egyéni OpenMV ikonokat kapott (b8479b5d0).
Névjegy párbeszédablak logók. Mostantól mind az Arduino, mind az Edge Impulse partnerlogók megjelennek (az Edge Impulse korábban rejtve volt) high-DPI 2x-es változatokkal, és a mellékelt indítóképernyő-grafika frissítésre került (
splash-small-2/splash-large-2) (5facd8d9a).A Kurzor alatti szó kijelölése engedélyezve van; az Ugrás a blokk elejére/végére (Ctrl+[ / Ctrl+]) és a Blokk kijelölése felfelé/lefelé parancsok rövid időre újra engedélyezve voltak (36ed5b1a8), de a kiadásban letiltva maradtak (626ff673e).
A Linux asztali bejegyzés egy Electronics kategóriát, egy leíró megjegyzést és kereső kulcsszavakat kap (embedded electronics, microcontroller, micropython, computer/machine vision) (470e5702e).
Erőforrás-migráció. A felhasználói erőforrások egy verziózott helyre kerültek (a régi qtcreator mappa indításkor eltávolításra kerül), és az ártalmatlan DirectWrite betűtípus-figyelmeztetések Windowson elnyomásra kerülnek (a04af5351, 70765dc2a).
Rejtett belső beállítások. A belső
-colorés-themeCore beállítások el vannak rejtve a súgókimenetből, és a prezentációs mód újra engedélyezve lett (434c7b4cc).Újra alkalmazott alaprendszeri testreszabások a díszes műveletsávhoz/lapwidgethez, az üzenetkezelőhöz/kimeneti ablakhoz, a proxy műveletekhez, a szintaxiskiemelőhöz és a szövegszerkesztőhöz (0e8047372).
QCustomPlot 2.1.1. A mellékelt diagramkönyvtár frissítve lett a Qt 6.4 kompatibilitás és a dinamikusan változó kijelző-DPI helyes kezelése érdekében (8801415fe).
Kozmetikai UI-tisztítások a görgetősáv-nyíl ikonokon, az állapotsoron, a dokumentumlap-sáv bezárás gombjain és a szerkesztő görgető szélességén; a szerkesztő „Fájl sorvég megjelenítése” jelzője mostantól alapértelmezetten ki van kapcsolva (e0c4d2325, 6a26f4430, e130988fb).
Hibajavítások¶
Javítva a Linux VID/PID felismerés a
/sys/class/tty/<port>/device/ueventbeolvasásával a valódi eszköz VID/PID lekéréséhez, megkerülve azt, hogy aQSerialPortInfoaz USB hub azonosítóit adta vissza, így a hubok mögötti kamerák helyesen kerülnek felismerésre (28220b351).Javítva a Mac rendszerbetöltő firmware-flashelés a végpontméret-állítások enyhítésével, és a szinkron-lekérdező csomag csak akkor kerül hozzáfűzésre, amikor egy írás pontosan egy USB végpont méretű (86d021f92).
Javítva a videolejátszó eszközök Linuxon: a Videofájl lejátszása / RTSP-folyam lejátszása mostantól el van rejtve a 32 bites és ARM Linux rendszereken (nincs mellékelt ffplay), gnome-terminal tartalékkal, ha az xterm nem elérhető, és a macOS ffmpeg bináris helyreállításra került egy helykitöltőből (d342649cc, d896f4225).
A rendszerbetöltő visszaállítási kezdő/befejező késleltetéseit 0-ról 5-re növelte, hogy elkerülje a törlési és írási parancsok átfedését firmware-frissítések során (fabc168b6).
Egyszerűsített rendszerbetöltő-visszaállítás: a rendszerbetöltő kényszerítése egy téglásított kamera javításához átugorja a felesleges kérdéseket, és egy DFU rendszerbetöltő visszaállítás után az IDE automatikusan újrapróbálja a frissítést, ahelyett, hogy a felhasználót újracsatlakozásra kérné (12b924088).
Lehetővé tette a soros képkocka-puffer/TX-puffer kiíró parancsok megszakítását a tranzakció közepén (4a4afae1b).
Eltávolította a soros port olvasás-elakadási feladási megoldást, amely nulla bájtokkal tölthette ki a válaszokat, javítva a gyors USB átvitel megbízhatóságát (0ee1d8e91).
Javítva a WiFi hibakeresés és automatikus újracsatlakozás: a WiFi portok újrafelfedezéskor frissítik az utoljára látott időbélyegüket, több törlés-utáni-iterátor hiba a WiFi port nyugdíjazásban és a DFU/rendszerbetöltő felismerésben kijavításra került, és az automatikus újracsatlakozás mostantól megvárja, amíg az IDE nem foglalt, mielőtt újracsatlakozna (cf0b67dc6).
Javítva a videó-MJPEG konvertert úgy, hogy az encoder kimenetéből értelmezze a képkockasebességet és helyes képkockánkénti ezredmásodperc-deltát írjon, így a konvertált videók a megfelelő sebességgel játszódnak le (4a7ad2057).
Javítva a firmware-flashelés és a mellékelt parancssori eszközök indulási hibája a QProcess háttér kényszerítésével és a blokkoló-folyamat eseményhurok-őr javításával (200fe9f3c).
Javítva az adathalmaz-szerkesztő fa kibontás/összecsukás ág-ikonjait, hogy helyesen jelenjenek meg HiDPI kijelzőkön, az ikon stíluslap eszköz-képpontarány-változáskori újratöltésével (a0e78057f).
A csomag-/erőforrás-frissítések mostantól automatikusan újraindítják az OpenMV IDE-t, ahelyett, hogy a telepítés után csak kilépnének (178ee1b8e).
Javítva a Keresés eredmény-kiemelése, és a keresési-eredmény/fájl-megnyitás műveletek mostantól az első látható szerkesztőre esnek vissza, ha nincs aktuális szerkesztő (48c402dfc).
Javítva a firmware-betöltő párbeszédablak úgy, hogy a figyelmeztető szövege törlésre kerül és az ablak helyesen átméreteződik, amikor egy flashelési művelet befejeződik (c505c6ade).
Javítva több macOS UI hiba: a lapsáv már nem árasztja el az ikonbetöltési hibákat, és helyesen jelenik meg fájl megnyitásakor (9be8c58de, 5322cf968).
Javítva az állapotsor / kimeneti panel stílusozása és alapvonal-igazítása macOS és Linux rendszereken (4fc4545de, d29b2baa0, a440d5cd8).
Javítva a forráskód-nyomtatás úgy, hogy az oldalcím-fejlécnek megfelelő felső és oldalsó margói legyenek, ahelyett, hogy az oldal szélét érintené (786d6012c).
Platform- és eszköztámogatás¶
Qt Creator alap: 10.0.1 (a 4.0.2-ről rebase-elve).
OpenMV IDE: 4.0.0 -> 4.0.1.
OpenMV Cam RT1062 (i.MX RT1060): a kezdeti RT1062 firmware, flash-betöltő, aláírt képek,
imx.txtbejegyzés, valamint a secure-bootloader/eFuseblhostkonfigurációs kulcsok azOPENMV5firmware mappában kerültek hozzáadásra (a6595f5f7); a lap ezután egyetlenOPENMV_RT1060mappába lett összevonva, és egy önálló Secure Bootloader (SBL) lapváltozat (OpenMV_Cam_RT1062_SBL) került hozzáadásra (d2b11c6c8, 5baf28c6e).A mellékelt flashelési eszközlánc (blhost, bossac, dfu-util, dfuse + STM32 illesztőprogramok, picotool, sdphost, ffmpeg, FTDI/Arduino illesztőprogramok) újra mellékelésre került Windows/macOS/Linux rendszerekhez, a Linux binárisokat futtathatóként megjelölve (fbfa4903a, bfb6b32e2, 9551c64da).
ARM64 Linux DFU: egy mellékelt aarch64
dfu-utilplusz arm64 felismerés az eszközlistázásban és firmware-letöltésben lehetővé teszi a DFU flashelést olyan hostokon, mint a Raspberry Pi (16bc6fe0f, 470e5702e).Az i.MX eszközfelismerés mostantól működik Linuxon (az
lsusbértelmezésével) és macOS-en (azioregátvizsgálásával), lehetővé téve az i.MX RT firmware betöltését ezeken a platformokon (e03ccbe71, 7cf505d09).Platform-korlátozás: az i.MX használata Windows/macOS/Linux-x86_64 rendszerekre van korlátozva, máshol kritikus hibával, és a Portenta/Nicla flashelés ARM/ARM64 Linuxon egy „DFU Util may not be stable on this platform” figyelmeztetést mutat (9513f6475).
Windows OpenGL: a szoftveres renderelés helyreállításra került az
opengl32sw,Qt6OpenGLés Qt6Gui OpenGL támogatás mellékelésével a telepített csomagban (aaaa1928f).Az Arduino lapmappák/azonosítók átnevezve. A Portenta, Nicla Vision és Nano 33 BLE Sense firmware mappák és
boards.txtlapazonosítók át lettek nevezveARDUINO_PORTENTA_H7,ARDUINO_NICLA_VISIONésARDUINO_NANO_33_BLE_SENSEnévre (a70d6562a); a Nano 33 BLE Sense mappa/lapazonosító ezt követően kisbetűsre lett alakítva (arduino_nano_33_ble_sense), hogy megfeleljen az eszköz által jelentett lapnévnek (22750d8c7, a801a81de).Az OPENMV_RT1060 rendszerbetöltő flash-betöltői (
blhost_flash_loader.bin,sdphost_flash_loader.bin) frissítésre kerültek (5baf28c6e).QCustomPlot: 2.1.1 (mellékelt diagramkönyvtár) (8801415fe).
A lemezen lévő firmware-képek újra mellékelésre kerültek az összes támogatott OpenMV/Arduino laphoz (
OPENMV1-4P,OPENMV4_PRO,OPENMVPT,ARDUINO_NICLA_VISION,arduino_nano_33_ble_sense,ARDUINO_PORTENTA_H7,ARDUINO_NANO_RP2040_CONNECT,OPENMV_RT1060,CYW4343, pluszWINC1500WiFi firmware), firmware-rel és, ahol alkalmazható, rendszerbetöltő/uvc képekkel (fbfa4903a).
Töréses változások¶
Ezek a felhasználó számára látható munkafolyamat- és viselkedésváltozások; maga a Qt Creator 10.0.1 rebase nem töri el a felhasználói projekteket vagy szkripteket.
Az i.MX RT1060 lapdefiníciók megváltoztak. Az
EVKBMIMXRT1060ésOPENMV5bejegyzéseket egyetlenOPENMV_RT1060lap váltotta fel (OpenMV Cam RT1062, plusz egy SBL változat), és a régi firmware mappák eltávolításra kerültek (d2b11c6c8).Az alapértelmezett parancs-válasz időtúllépés 10000 ms (a 4.0.0-ban 5000 ms volt); az
-override_read_timeoutsúgószövege ennek megfelelően frissült (4a4afae1b).A csatlakozás/lecsatlakozás viselkedése megváltozott. Az Automatikus újracsatlakozás mostantól alapértelmezetten KI van kapcsolva, és a csatlakozás vagy lecsatlakozás alapértelmezetten már nem állítja le a futó szkriptet, hacsak az új „Szkript leállítása csatlakozáskor/lecsatlakozáskor” kapcsoló nincs engedélyezve (ami alapértelmezetten be van kapcsolva) (a0e78057f).
A frissítési folyamat újraindítja az IDE-t. A csomag-/erőforrás-frissítések mostantól automatikusan újraindítják az OpenMV IDE-t, ahelyett, hogy a telepítés után kilépnének (178ee1b8e).
Az Arduino lapazonosítók átnevezve. A Portenta, Nicla Vision és Nano 33 BLE Sense
boards.txtlapazonosítói és firmware mappái át lettek nevezveARDUINO_PORTENTA_H7,ARDUINO_NICLA_VISIONésARDUINO_NANO_33_BLE_SENSEnévre (utóbbi később kisbetűsre alakítva:arduino_nano_33_ble_sense) (a70d6562a, 22750d8c7, a801a81de).