v4.8.1

A v4.8.1 a Qt Creator 14.0.2 alapjain épül, és egy új, nagy megbízhatóságú OpenMV V2 kameraprotokollra, egy beépített Code Profiler eszközre, valamint egy olyan mentési munkafolyamatra összpontosít, amely a kamerát csatlakoztatva tartja a leválasztás helyett. A mellékelt firmware és a teljes példakészlet 4.8.1-re frissült. Nincsenek szkriptelési API-törések, de a mentés-többé-nem-választ-le viselkedés és néhány indításkori soros paraméter eltávolítása felhasználó számára látható munkafolyamat-változások.

Kiemelt újdonságok

  • Az OpenMV Protocol V2 egy új, nagy megbízhatóságú kamerastack (OMVCamera/OMVTransport/OMVDebug), amely CRC32-t, sorszámozást, ACK/NAK-ot, újraküldést, eseményeket és töredezést tartalmaz. Csatlakozáskor automatikusan egyeztetésre kerül, és a visszaállítást, a rendszerindítást, a streamelést, a szkriptfuttatást és a statisztikákat vezérli.

  • A Code Profiler egy új ablak (Window > Show Code Profiler), amely függvényenkénti profilozási rekordokat kérdez le a kamerától, és egy rendezhető táblázatban mutatja a hívásokat, a min./max./összes/átlagos mikroszekundumot (μs), az átlagos ciklusokat, a százalékos arányt és az eseményszámlálókat.

  • A Save in place (helyben mentés) többé nem választja le a kamera meghajtóját; az IDE most beírja a main.py fájlt, és a kötetet lemezre üríti, így az eszköz csatlakoztatva marad.

  • A többérzékelős észlelés egy lap minden kameráját jelenti, amelyek az állapotsorban Sensors: X, Y formában jelennek meg, a fő érzékelővel az élen.

  • A dinamikus képkocka-olvasás képpontformátumonként újraszámítja a legjobban illeszkedő nyers streamelési felbontást, és automatikusan újrakonfigurálja a streamet.

  • A mellékelt firmware és példák minden lapon 4.8.1-re frissültek, új GenX320 eseménykamera-, TensorFlow ML-, Alif OLED- és LCD/Touch-LCD shield-példákkal bővülve.

Új funkciók

  • Hozzáadva az OpenMV V2 kommunikációs protokoll: egy teljes átviteli és tranzakciós réteg CRC32-vel, sorszámozással, ACK/NAK-kal, újraküldéssel, eseményekkel és töredezéssel, valamint egy OMVCamera osztály, amelyet csatlakozáskor automatikusan egyeztet, és integrálva van a soros illesztőprogramba (2fde9eb3f, fff1bf2ba, 8c41fcfad, 7fc7ed4bc, 84c3956af, 669039adf, a49259852, 07af1922a, 85f0c7c87, 5070cc213, e314459cc, e0367ca95, 0da2f79d0, 2b6fc9866, 534ecffbe).

  • Hozzáadva a Code Profiler ablak (Window > Show Code Profiler), amely függvényenkénti profilozási rekordokat kérdez le, és megjeleníti a hívásokat, a min./max./összes/átlagos mikroszekundumot (μs), az átlagos ciklusokat, a százalékos arányt és az eseményszámlálókat, a címeket egy mellékelt ELFIO ELF-elemzővel szimbólumokra feloldva (019d3cd2c, 57cd9e1cc).

  • Hozzáadva egy Debug Protocol Settings párbeszédablak, amely másodpercenként frissített élő System Info, Host Stats és Device Stats adatokat mutat, csatornánkénti lekérdezési sebességeket, valamint kombinált vs. szétválasztott lekérdezési vezérlőket tesz elérhetővé (5220a6125, 0da2f79d0).

  • Hozzáadva a többérzékelős észlelés: egy egynél több kamerával rendelkező lap mindegyiket jelenti az állapotsorban Sensors: X, Y formában, a fő érzékelővel az élen (cebc79ce7).

  • Hozzáadva a dinamikus képkocka-olvasás (alapértelmezetten bekapcsolva), amely képpontformátumonként (BINARY, GRAY, RGB565, ARGB8, JPEG, PNG) újraszámítja a legjobban illeszkedő nyers streamelési felbontást, és újrakonfigurálja a streamet (75c073bdb, 0da2f79d0).

  • Hozzáadva a képkocka-puffer dekódolása BINARY (1-bpp monokróm) és ARGB8 (32 bites alfa) nyers képpontformátumokhoz, így ezek a képtípusok mostantól megjelennek a megjelenítőben (dabb82062).

  • Windows rendszeren a Connect mostantól megkeresi az operációs rendszer által problémásként megjelölt USB-eszközöket, és figyelmeztet egy listával a hibás eszközökről, amelyek megakadályozhatják a csatlakozást (1a5beb081, 1b59cd78e).

  • Hozzáadva egy állapotsorbeli regisztrációs jelző: egy zöld Registered vagy korall színű Unregistered gomb a csatlakoztatott kamerához, amelyre kattintva regisztrálható a lap (a8c98a4b9).

  • A képkocka-puffer megjelenítő mostantól kép helyett egy középre igazított szöveges üzenetet is meg tud jeleníteni, amelyet a futó szkript küld egy új FB_MESSAGE escape kód segítségével (530048201).

  • Hozzáadva új model-zoo bejegyzések: ST FastDepth mélységbecslő modellek (224/256/320), egy ST fej-jellegzetességpont pózmodell, palm-detection és hand-landmarks kézmodellek, valamint egy BlazeFace elülső arcészlelő modell (551668410, 4d64556d4, fadd6c4ed, b8277bb88, a8c98a4b9).

  • Hozzáadva egy csak gyári buildhez tartozó öntesztelő szkript (kamera, IMU, ToF, WiFi, LAN), amely a gyári IDE-változatban mellékelve van, és indításkor automatikusan megnyílik (0db7fbbb0); a teszt RT1060 LAN része jelenleg le van tiltva (48370d022).

Egyéb változások és fejlesztések

  • Save in place (helyben mentés): egy szkript mentése többé nem választja le a kamera meghajtóját; az IDE beírja a main.py fájlt, és a kötetet lemezre üríti (FlushFileBuffers Windows rendszeren, syncfs Linuxon, sync_volume_np/F_FULLFSYNC macOS rendszeren), így az eszköz csatlakoztatva marad (1614c572f, 6928b51ea, 35ed53967).

  • Az eszköztár azon műveletei, amelyekre a kamera foglaltsága közben kattintanak (képkocka-puffer letiltása, JPEG-tömörítés, szkript mentése, beállítások konfigurálása), mostantól sorba kerülnek, és automatikusan lefutnak, amikor az eszköz szabaddá válik, ahelyett, hogy egy Busy hibapárbeszédet jelenítenének meg (f4315f0a4).

  • A képkocka-puffer megjelenítő mostantól alapértelmezetten illeszt a nézethez, így a kép indításkor automatikusan a méretre skálázódik, a soros terminál kimeneti panele pedig mostantól indításkor alapértelmezetten látható (f3ce4dc75).

  • A .lite kiterjesztésű lefordított modellfájlokat mostantól mindenhol felismeri a rendszer: a model-zoo böngésző szűrésénél és megjelenítésénél, a firmware ROMFS-igazításánál, a Vela/STEdge AI fordítók pedig mostantól .lite kimenetet állítanak elő (f3ce4dc75).

  • Az STEdge AI (N6) modellfordító párbeszédablak mostantól elemzi és jelenti az NPU RAM- és hyperRAM-használat százalékos arányát, és az áthelyezett hálózati kimenetet a modell kiterjesztéséhez illeszkedő fájlba másolja (f3ce4dc75).

  • A model-zoo böngésző mostantól megjeleníti a Size (méret) oszlopot, és kiszélesíti a név oszlopot az illesztéshez, ahelyett, hogy elrejtené a méretet (f3ce4dc75).

  • Az új szkript sablon frissült az új csi modul API-ra, és alapértelmezetten VGA képkockaméretet használ, a mellékelt Hello World példa pedig QVGA-ról VGA képkockaméretre váltott (f3ce4dc75).

  • A Convert Video párbeszédablakot átírták, hogy a megosztott betöltő párbeszédablakot használja színes kimenettel, siker/hiba üzenetekkel, egy OK-to-close gombbal és egy egyértelmű hibaüzenettel, ha az FFMPEG nem érhető el az adott platformon (f56efc7be).

  • A képkocka-puffer megjelenítő mostantól villogó figyelmeztetést mutat, amikor egy JPEG/PNG kép túl nagy ahhoz, hogy pufferelni és elküldeni lehessen, egy új FB_BUFFER_ERROR escape kód segítségével (fda826126).

  • A DFU rendszerbetöltőbe való belépés mostantól arra kényszeríti a rendszerbetöltőt, hogy V2-protokollú firmware-en rezidens maradjon, verzióérzékeléssel, amely visszaesik egy egyszerű visszaállításra a régebbi (1.0.2-nél korábbi) rendszerbetöltőkön, amelyek kényszerítve elakadhatnának (975857221).

  • Átnevezték és átszervezték az ST objektumészlelési modellmappákat (st_yolo_lc_v1 -> yolo_lc, tiny_yolo_v2 -> yolo_v2, yolov8n személymodellek egyszerű, méret szerint elnevezett fájlokká), és eltávolították a nagy tiny_yolo_v2 int8 változatokat (34240cc3c).

  • A soros időzítés mostantól a firmware settings.json fájljának protocol felülíró kulcsain keresztül van hangolva (overrideReadTimeout, overrideReadStallTimeout, overridePerCommandWait és a V2 overrideCRC/overrideSEQ/overrideACK kulcsok), az indításkori parancssori paraméterek helyett (019d8bf1d).

  • A Python nyelvi kiszolgáló sorhossz-korlátja 120 oszlopra lett állítva a flake8 és a pycodestyle számára, így a hosszú sorok már nem kerülnek megjelölésre az alapértelmezett 79-nél (dabb82062).

  • Csökkentették a mellékelt gépi tanulási modellkészletet a Qualcomm modellgyűjtemény és a google/mobilenet_v1 áthelyezésével a models_unused mappába, hogy kisebb legyen a telepítő (c44ddba20).

Hibajavítások

  • A firmware-letöltési és erőforrás-frissítési folyamatpárbeszédeket összeomlásbiztossá tették QPointer védelmekkel, így már nem használnak törölt párbeszédablakot, ha az letöltés közben bezárul (f3ce4dc75).

  • A meghajtó-vizsgálat mostantól addig folytatja az újravizsgálatot, amíg meg nem találja a kamera USB-meghajtóját, és lecsatlakozáskor törli az elavult meghajtóbejegyzéseket, eltávolítva a korábbi egyszeri időzítő-hack megoldást (a31d41b4e).

  • Több csatlakozási és soros hibajavítás: a rejtett érzékelők (pl. SoftCSI) többé nem zsúfolják össze a megjelenített érzékelőtípust, egy Windows soros keep-alive időzítő megakadályozza az USB-elakadásokat, a Start többé nem indít újra egy már futó szkriptet, és a kameracsatorna tisztán lecsatlakozik a port bezárásakor (a8e467be6).

  • A profiler nézet visszaállította az oszloponkénti PMU eseményszámláló-kiválasztását (bejelölhető eseménymenük), és elmentette a számláló/fejléc állapotot, amely ideiglenesen le volt tiltva (40c679e90).

Platform- és eszköztámogatás

  • Qt Creator alap: 14.0.2.

  • Mellékelt firmware: 4.7.0-ról 4.8.1-re frissítve, újraépítve a firmware-t az OPENMV2/3/4/4P/PT, OPENMV_N6, OPENMV_AE3, OPENMV_RT1060, valamint az Arduino GIGA/Nicla Vision/Portenta H7 lapokhoz (2657818ca).

  • Javítva a protokollverzió-kézfogás macOS rendszeren az RT1062 és AE3 lapokon a többparancsos USB-átvitel USBDBG_LEN méretű darabokra való felosztásával, amelyeket ezek a lapok kezelni tudnak (6b9d5f842).

  • Átdolgozták a mellékelt Windows illesztőprogram-csomagot: laponkénti aláírt .cat/.inf illesztőprogram-fájlokat adtak hozzá (AE3, H7, H7Plus, M4, M7, N6, Pico/PT, RT1062), és áthelyezték a CDC soros illesztőprogramokat egy új openmvcdc mappába egy dpinst-alapú automatikus telepítővel (439557829, ba3b01bfb).

  • Hozzáadva a régebbi MT9V032 kameraérzékelő-revíziók támogatása a 0x1311 és 0x1312 érzékelő-azonosítók (a meglévő 0x1313 mellett) MT9V0X2 néven történő regisztrálásával (eaaa624e3).

Töréssel járó változások

Ez a kiadás nem tartalmaz szkriptelési API-töréseket, de van néhány felhasználó számára látható munkafolyamat-változás:

  • Egy szkript mentése többé nem választja le vagy csatolja le a kamera USB-meghajtóját. Az IDE mostantól helyben üríti a kötet puffereit, így az eszköz mentés után is csatlakoztatva marad.

  • Az indításkori soros paraméterek -override_read_timeout (alapértelmezett 5000 ms), -override_read_stall_timeout (alapértelmezett 1000 ms) és -override_per_command_wait (alapértelmezett 1 ms, macOS rendszeren 2 ms) eltávolításra kerültek; a soros időzítés mostantól a firmware settings.json fájljának protocol felülíró kulcsain keresztül van konfigurálva (019d8bf1d).

  • A mellékelt rendszerbetöltők mostantól csak .bin formátumban kerülnek szállításra; a laponkénti .dfu firmware- és rendszerbetöltő-fájlok eltávolításra kerültek.