v5.1.0#
A v5.1.0 funkciókiadás. A képkocka-puffer alatti ablaktábla hisztogramból élő nézetek készletévé nő – Kártyaadatok, Memória, Statisztika és az új Csatornák nézet, amely a szkript által közzétett értékeket widgetekké, grafikonokká, spektrumokká és mélységtérképekké alakítja, és fájlba rögzíti őket –, a képkocka-puffer forrásválasztót kap a többérzékelős kamerákhoz, az IDE megtanul kártyák, firmware, példák, modellek és csonkok harmadik féltől származó tárolóit betölteni, a videofelvételek pedig H.264-re váltanak. Új kártyák és érzékelők kapnak támogatást, a firmware-eszközöket a v5.0.0 óta történt minden változtatás teljes auditja tette robusztusabbá, és néhány viselkedés az OpenMV Studióból került át. A Qt Creator 14.0.2-re épül, és a v5.0.1 firmware-t csomagolja.
Kiemelt újdonságok#
Ablaktábla-nézetek – a hisztogram ablaktábla címsora egy választót kap, amely az ablaktáblát a Hisztogram, a Kártyaadatok (a csatlakoztatott kamera hardvere, verziói és képességei), a Memória (a MicroPython heap és minden UMA készlet élő grafikonjai csúcskövetéssel), a Statisztika (a hibakeresési protokoll csomag-, hiba- és csatornánkénti eseményszámlálói) és a Csatornák nézet között váltja.
Csatornák nézet – egy szkript a hibakeresési protokollon keresztül nevesített adat- és vezérlőcsatornákat tehet közzé, az IDE pedig élőben jeleníti meg őket: címkék, kapcsolók, csúszkák, léptetőmezők, választógombok, szövegmezők, választók, nyomógombok és szövegblokkok, amelyek visszaírnak a kamerára; hullámformagrafikonok pásztázással, nagyítással, jelölőkkel, kioldókkal, előzményekkel és spektrumanalizátorral; valamint mélységtérképek a kamera saját palettáival, három méretezési szűrővel és tónusleképezéssel. Bármely grafikon vagy térkép CSV, WAV, NumPy vagy Edge Impulse JSON és CBOR fájlba rögzíthető – beleértve egy egész csatornára kiterjedő Record All lehetőséget is – tanítóadatok gyűjtéséhez. A szkript leállásakor az utolsó értékek a képernyőn maradnak.
Képkocka-puffer forrásválasztó – az egynél több képérzékelővel rendelkező kamerák a képkocka-puffer címsorában egy választót mutatnak, amellyel kiválasztható, melyik érzékelő közvetítsen az IDE-be (vagy kikapcsolható a közvetítés), a JPG kapcsoló JPG / RAW közvetítésimód-választóvá vált, az ablaktábla címe pedig megnevezi, milyen formátumban érkezett az adott képkocka.
Harmadik féltől származó tárolók – egy gyártó kártyák, firmware (kiadási és fejlesztői csatornák), példák, gépi tanulási modellek és
.pyicsonkok tárolóját teheti közzé; az IDE URL-ről vagy egy telepítő által elhelyezett mappából telepíti, összefésüli a saját tartalmával, naprakészen tartja, és lehetővé teszi a gyártók prioritás szerinti sorba rendezését. Kezelése: Preferences → OpenMV → Third Party Repositories.Új hardver – az OpenMV N6 Classic kártya (beleértve a rendszerbetöltő-illesztőprogramját, udev szabályát és ROM-DFU helyreállítási bejegyzését), valamint a FLIR Lepton 3.1R és UW érzékelők.
H.264 felvételek – a képkocka-puffer felvevője és a videóátalakító mostantól MPEG-4 Part 2 helyett H.264-be kódol, rögzített kulcskocka-intervallummal, hogy a felvételekben tisztán lehessen tekerni, a képkockasebesség pedig egész számra kerekítve.
Auditjavítások – a v5.0.0 óta készült minden commitot kétszer átvizsgáltunk regressziók után kutatva, különös figyelmet fordítva a firmware-, rendszerbetöltő- és ROMFS-útvonalakra; a talált hibákat ez a kiadás javítja (lásd hibajavítások).
Új funkciók#
Kártyaadatok, Memória és Statisztika nézetek a hisztogram ablaktáblában, a sötét és a világos témában is a teljes felületet kitöltő stílussal és kijelölhető szöveggel (cdea506655b, 7629a588db9, e21bd94a395, b55dcc412f6, fc744920011, e7dc3bf0092, 448e21db0bd).
Csatornák nézet – a teljes vezérlőkészlet (label, toggle, slider, spin box, radio, line edit, select, push button, text), hullámformagrafikonok spektrumanalizátorral (Hann, Hamming, Blackman és négyszögletes ablakok, átlagolás, csúcstartás, logaritmikus frekvencia), felfutó és lefutó élre kioldó triggerek, jelölők, előzmények és grafikonexport; mélységtérképek Depth, Rainbow, Ironbow és Event palettákkal, legközelebbi / bilineáris / bikubikus méretezéssel, Script Range / Auto Range / Equalize tónusleképezéssel, szünet gombbal, egérmutató alatti kiolvasással, a deklarált tartományt és a képkocka min / max / átlag értékeit mutató fejléccel, valamint Save Image funkcióval; rögzítés CSV, WAV, NumPy és Edge Impulse JSON / CBOR formátumba opcionális Edge Impulse címkével, hosszú felvételek részekre bontásával és Record All lehetőséggel; Channel Polling intervallum a protokoll beállításaiban (5b4f31a6b3a, d1252a24f14, bfd7fd72f94, d1c2ab02a5f, 4808b8ffe26, dfc323b4ec7, 61c077df9a5, 8c2cd6cf1f1, 1534225fcee).
Képkocka-puffer forrásválasztó és formátumkijelzés – a többérzékelős kamerákon kiválasztható a közvetítő érzékelő, vagy az Off; a fogadott képkockaformátum az ablaktábla címében jelenik meg; a JPG kapcsoló mostantól JPG Mode / RAW Mode választó (e76284bde9e, c2baff8d60c, afece31cb6a, 76448d7b9dd).
Harmadik féltől származó tárolók – fájlvezérelt firmware-tárolók a beépített kártyalistával összefésülve, hálózati frissítések Preferences oldallal, gyártónkénti fejlesztői firmware-csatorna, felhasználó által szabályozott gyártói prioritás, a File → Examples menübe fésült gyártói példák, a Model Zoo-ba fésült gyártói modellek, a kódkiegészítésnek átadott egyéni
.pyicsonkok, felülírási figyelmeztetések, amikor egy gyártó beépített tartalmat takar el, valamint licencellenőrzés a gyártói kártyákhoz (21a63a74949, b5512efe949, b15afdac479, 1fe693f0b61, ae11ffeffc4, cf47a37ba65, 100bdeb530b, 252924901f7, c75a81f2a4a, 3e7f077a738, 5c5aa3e657c, e3f36adbdcb, b04da8ee888).Megjegyzések eltávolítása futtatás előtt – a megjegyzések a szkript kamerára küldése előtt eltávolításra kerülnek, ami a megjegyzésekben gazdag szkripteknél kamera-RAM-ot takarít meg; a sorok megmaradnak, így a hibakövetés sorszámai továbbra is egyeznek a szerkesztővel (677546ee033).
Beágyazott hibajelölés – amikor egy szkript kivétellel elhal, a szerkesztő pirossal jelöli a hibás sort, mellette a hibaszöveggel; a jelölés eltűnik, amikor szerkeszted a fájlt, újra futtatod, vagy leválasztasz (677546ee033).
Húzd és ejtsd a ROMFS-szerkesztőre – az asztalról behúzott fájlok ugyanazon a szkriptfordításon és modellátalakításon mennek keresztül, mint az Add File esetén, abba a mappába, amelyre ejtették őket (677546ee033).
Szerkesztő-, terminál- és felületi fejlesztések#
A hisztogramok teljes 8 bites RGB-ből számolódnak a kamera RGB565 táblái helyett, közös grafikonpalettával, alfa-keverésű kitöltésekkel és halványabb rácsvonalakkal (238e099373e, f126e8f34c0, cebbf0c9e2c).
A rejtett ablaktábla-nézetek nem dolgoznak – a hisztogram kihagyja a számítását és az újrarajzolást, amíg egy másik nézet látszik vagy az ablaktábla össze van csukva, és újbóli megjelenítéskor felzárkózik; a nulla méretű újrarajzolások el vannak némítva (c8730df8399).
A példaszkriptek az importok után egy üres sorral nyílnak meg, és a csomagolt példák ugyanígy lettek újraformázva (1f88f617ec5, 87c8f7d41c7).
A kódkiegészítés mutatja a privát neveket – a beágyazott nyelvi szerver már nem szűri ki a
_előtagú tagokat, amelyeket a kamera moduljai használnak (23ab5b38bb3).macOS – a beállításokban a protokollvezérlők csoportdobozai már nem zsúfoltak, az elemnézetek védve vannak a Cocoa kisegítő lehetőségek okozta összeomlásoktól, az Apple Silicon felhasználók figyelmeztetést kapnak az „Allow accessories to connect” biztonsági beállításról, az RT1062 felhasználók pedig akkor, ha az Input Monitoring nincs engedélyezve (a firmware-frissítésekhez szükséges); mindkét figyelmeztetés csatlakozás után jelenik meg (7d7b69367bf, 69fe7ffc913, 742cb4d8c0b, 8890eb77834, 89646292e8d).
Viewer módú billentyűparancsok – a viewer módot (és a normál IDE-t) elrontó kósza billentyűparancsok le lettek tiltva, és a viewer mód már nem menti el a törölt billentyűparancsait a teljes IDE beállításaiba (251b422f642, 0d153671c1d).
Az ismeretlen érzékelők chipazonosítóval vannak megnevezve az állapotsorban, hogy azonosíthatók és felvehetők legyenek az érzékelőtáblába (df561775b54).
Firmware, kártyák és eszközök#
OpenMV N6 Classic támogatás: kártyabejegyzés, Windows DFU illesztőprogram és telepítőkódok, Linux udev szabály (4ff4a1f239d, bdd6c96ef47, 25fcdc13c6a, 7730b699f60).
FLIR Lepton 3.1R és UW érzékelők támogatása (12c03024f3c).
IMX rendszerbetöltő-átadás – egy előre élesített elkapó abban a pillanatban lefoglalja az RT1062 rendszerbetöltőjét, amint az felbukkan az USB-n, felváltva a próbánként új folyamatot indító ciklust, amely egy leterhelt gazdagépen elvéthette az egymásodperces ablakot (3d8b63c6859).
Firmware zipek – a Load Custom Firmware elfogadja a csak ROMFS-t tartalmazó és a ROMFS nélküli csomagokat is, az egyéni vagy fejlesztői firmware pedig a már rendszerbetöltő módban lévő IMX kártyákhoz is előkészítésre kerül (b6f16f54c1a, 94d5fd5c30e).
Privát átmeneti könyvtárak a fejlesztői / egyéni firmware-hez, a ROMFS-szerkesztő képfájljaihoz és a videóeszközök ideiglenes fájljaihoz, így más folyamatok elavult fájljai soha nem flashelhetők vagy alakíthatók át véletlenül (939154501af, a288fe712e7, 5c8c717adec).
H.264 videó – a felvételek és az átalakítások H.264-be kódolnak rögzített kulcskocka-intervallummal; az egész számhoz közeli felvételi képkockasebesség arra kerekítődik, így a lejátszók 29,97 helyett 30 FPS-t jelentenek (6ad1968341d, d62c110e155, bab488a54fe).
Erőforrás-zip ellenőrző összeg – az IDE erőforrás-frissítése a verzió mellett közzétett SHA-256 alapján kerül ellenőrzésre (677546ee033).
Őszinte User-Agent az OpenMV szervereihez intézett kéréseken (c4279c0213e).
Hibajavítások#
A v5.0.0 óta történt minden változtatás két átvizsgálása a következőket találta és javította (ccea3b17d01, 71826200611):
Firmware- és rendszerbetöltő-útvonalak – egy Load Custom Firmware zip egy már rendszerbetöltő módban lévő kártyára a kiadási buildet flashelte helyette; az Alif helyreállítási útvonal mostantól elutasítja az egyéni buildet, ahelyett hogy a kiadásit flashelné; egy lefagyott (bricked) N6 Classic a sima N6 rendszerbetöltővel és firmware-rel lett helyreállítva; egy elavult harmadik féltől származó erőforrásgyökér a gyártó fájljai felé terelhetett egy lefagyott beépített kártyát; az IMX elkapó az összeomlása után is továbbléphetett a flasheléshez, figyelmen kívül hagyta a Cancel gombot a flashloaderre várva, és nyitva hagyta a soros portot az élesítés közbeni megszakítás után; az N6 Classic rendszerbetöltőnek nem volt udev szabálya; a Windows illesztőprogram-telepítő elfogadott kilépési kódjaiban elírás volt.
ROMFS-szerkesztő – a ROMFS-olvasás közbeni Cancel „Failed to unpack ROMFS!” hibát jelzett, és tíz másodpercig várt egy még rendszerbetöltőben lévő kamerára; az írás közbeni Cancel csendben, esetleg részlegesen írt ROMFS-sel ért véget; az írás közbeni dfu-util hiba sikerként lett jelentve; a követő párbeszédablak Cancel gombja minden szerkesztést eldobott; az Auto Reconnect a nyitott szerkesztő alatt csatlakozhatott; a csatlakoztatott állapotban kiadott Edit ROMFS feleslegesen előbb leválasztott és újracsatlakozott; az átalakító ideiglenes könyvtárai szivárogtak. Egy megszakított művelet után a rendszerbetöltő mostantól utasítást kap a DFU elhagyására, így a kamera magától visszatér.
Harmadik féltől származó tárolók – a zip bejegyzések kibontás előtt ellenőrzésre kerülnek (nincs útvonal-bejárás vagy szimbolikus link), a részleges telepítések és az újratelepítések megtartják a régi példányt, amíg az új a helyére nem kerül, egy elutasított gyártói kártya már nem rántja magával az általa átfedett beépített kártyát, a hiányzó PID-maszk futásidőben semmire sem illeszkedett, és az alap példa- / modellindex sorai már nem fogják be az azonos nevű gyártói fájlokat.
Képkocka-puffer és érzékelők – a GENX320 eseményérzékelő (
0x80000000feletti chipazonosító) letiltotta a képkocka-puffert; a mentett érzékelőválasztás nem élte túl az újraindítást; a régi „disable frame buffer” beállítás nem lett átvéve; az adatfolyamforrás-parancs a protokollverzióhoz van kötve; a fókuszmetrika lefagyott, amíg a hisztogram oldal rejtve volt; a képkockaformátum a leválasztás után is a címben maradt.Csatlakozási folyamat – a macOS figyelmeztetések elnyelhették a firmware-frissítési kérdés „Yes” válaszát; a Model Zoo mindig összecsukva nyílt meg, a kijelölés visszaállítása nélkül; a kamera meghajtójának egymeghajtós tartalék útvonala elérhetetlen volt, ha a kamera már több mint tíz másodperce csatlakoztatva volt.
Csatornák nézet és felvevő – rosszindulatú képkockaméretek túlcsordíthatták a méretellenőrzéseket; az Edge Impulse felvevők minden adatdarabnál újrafoglaltak, és most részenként 64 MB-ra vannak korlátozva; egy elválasztókat tartalmazó nevekkel rendelkező séma a rekordlistán túlra indexelhetett; az ismétlődő rekordok gazdátlanul hagytak egy futó felvevőt; az írások el lesznek dobva, amíg a nézet le van fagyasztva; a csatornalista mostantól frissül a regisztráció megszüntetésekor és soft-reboot eseményekkor.
Videó – egy felhasználó által megadott páratlan szélesség elrontotta a H.264 kódolást a libx264 buildeken; a megszakított vagy sikertelen
.binátalakítások olyan képkockákat hagytak hátra, amelyeket a következő futás beolvasztott.Protokoll – a protokollfelismerés előtt futó olvasási ürítés korlátos (336-os hibajegy) (77cd13af76f); a kamera-meghajtó társítás már nem veszíti el a versenyt más kötetekkel szemben (9877480c304).
Egy
-Wdeprecated-copyfigyelmeztetés a soros port információs burkolójában (abcfaa8af5e).
Honosítás#
Mind a 37 katalógus frissült az ablaktábla-nézetekhez, a Csatornák nézethez és annak mélységtérképéhez, valamint a kiadás minden új karakterláncához (1b71f243733, dc13c23ed81, a7debafdafa, 173a57422f7).
Platform- és eszköztámogatás#
Qt Creator alap: 14.0.2.
Az OpenMV IDE verziója 5.1.0-ra lépett.
Csomagolt firmware: v5.0.1 (lásd a firmware változásnaplóját).
Új kártyák és érzékelők: OpenMV N6 Classic; FLIR Lepton 3.1R és UW.
Törő változások#
Nincs a meglévő projektek számára. A képkocka-puffer címsorában lévő JPG kapcsoló mostantól JPG Mode / RAW Mode választó, a régi „disable frame buffer” beállítása pedig az új forrásválasztó Off bejegyzésébe kerül át. A megjegyzések futtatás előtt eltávolításra kerülnek a szkriptekből; egy szkript ne támaszkodjon arra, hogy futásidőben a saját forrásszövegét olvassa.