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_run kapcsoló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/disconnect menü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 ScanSerialPortsThread munkaszá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 és gnome-terminal mellett az lxterminal, konsole és xfce4-terminal terminá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-version címet és az openmv/openmv-ide kiadásokat használják az upload.openmv.io helyett (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.sh fájlt a pontos apt-get/pip és udev-szabály telepítési parancsokkal (valamint egy README fá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 Colors információs párbeszédablakot, valamint a firmware-frissítés és példák kérdéseit – egységesítve lettek a CheckableMessageBox „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 openmvide lett (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 -theme Core 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/uevent beolvasásával a valódi eszköz VID/PID lekéréséhez, megkerülve azt, hogy a QSerialPortInfo az 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.txt bejegyzés, valamint a secure-bootloader/eFuse blhost konfigurációs kulcsok az OPENMV5 firmware mappában kerültek hozzáadásra (a6595f5f7); a lap ezután egyetlen OPENMV_RT1060 mappá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-util plusz 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 (az ioreg á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.txt lapazonosítók át lettek nevezve ARDUINO_PORTENTA_H7, ARDUINO_NICLA_VISION és ARDUINO_NANO_33_BLE_SENSE né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, plusz WINC1500 WiFi 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 és OPENMV5 bejegyzéseket egyetlen OPENMV_RT1060 lap 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_timeout sú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.txt lapazonosítói és firmware mappái át lettek nevezve ARDUINO_PORTENTA_H7, ARDUINO_NICLA_VISION és ARDUINO_NANO_33_BLE_SENSE névre (utóbbi később kisbetűsre alakítva: arduino_nano_33_ble_sense) (a70d6562a, 22750d8c7, a801a81de).