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.pyfá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, Yformá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
OMVCameraosztá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, Yformá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) ésARGB8(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
Registeredvagy korall színűUnregisteredgomb 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_MESSAGEescape 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.pyfájlt, és a kötetet lemezre üríti (FlushFileBuffersWindows rendszeren,syncfsLinuxon,sync_volume_np/F_FULLFSYNCmacOS 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
.litekiterjeszté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.litekimenetet á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
csimodul 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/PNGkép túl nagy ahhoz, hogy pufferelni és elküldeni lehessen, egy újFB_BUFFER_ERRORescape 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,yolov8nszemélymodellek egyszerű, méret szerint elnevezett fájlokká), és eltávolították a nagytiny_yolo_v2int8 változatokat (34240cc3c).A soros időzítés mostantól a firmware
settings.jsonfájljánakprotocolfelülíró kulcsain keresztül van hangolva (overrideReadTimeout,overrideReadStallTimeout,overridePerCommandWaités a V2overrideCRC/overrideSEQ/overrideACKkulcsok), 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 amodels_unusedmappá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
QPointervé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_LENmé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/.infillesztőprogram-fájlokat adtak hozzá (AE3, H7, H7Plus, M4, M7, N6, Pico/PT, RT1062), és áthelyezték a CDC soros illesztőprogramokat egy újopenmvcdcmappá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és0x1312érzékelő-azonosítók (a meglévő0x1313mellett)MT9V0X2né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 firmwaresettings.jsonfájljánakprotocolfelülíró kulcsain keresztül van konfigurálva (019d8bf1d).A mellékelt rendszerbetöltők mostantól csak
.binformátumban kerülnek szállításra; a laponkénti.dfufirmware- és rendszerbetöltő-fájlok eltávolításra kerültek.