v2.4.0

A v2.4.0 a Qt Creator 4.0.2-re épül, és középpontjában az új V3 rendszerbetöltő (a QSPI flash memória elrendezésének lekérdezése a firmware betöltése közben, valamint törlése a teljes beépített adat-flash törlése során), az élő érzékelő- és kártyajelentés az állapotsorban, valamint egy új 32 bites USB hibakeresési protokoll áll, amely megfelel a mellékelt firmware-nek. Hozzáad továbbá egy első indításkor megjelenő LED-útmutatót, valamint egy nagy adag új TensorFlow, Modbus és WiFi példát. Mivel a hibakeresési protokoll megváltozott, a kameráknak az új mellékelt firmware-t kell futtatniuk a csatlakozáshoz.

Kiemelt újdonságok

  • A V3 rendszerbetöltő támogatása lekérdezi a kártya külső QSPI flash memóriájának elrendezését a firmware betöltése közben, és törli azt a teljes beépített adat-flash törlése során (d953df62f).

  • Az érzékelő- és kártyajelentés csatlakozáskor lekérdezi a csatlakoztatott kamera érzékelőmoduljának típusát, és megjeleníti azt az állapotsorban (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON), egy új kártyatípus-címke mellett (0ffa82958).

  • A TensorFlow-modellmásolás lehetővé teszi a .tflite modellek kamerára másolását, nem csak a .network neurális hálózati fájlokét (ad1aa98f0).

  • A beépített adat-flash törlése egy új Tools parancs, amely megerősítő kérdés után csak a kamera beépített fájlrendszer-flash memóriáját törli, a firmware újraírása nélkül (d953df62f, 98686ac46).

  • Az első indításkor megjelenő LED-útmutató egy új OpenMV Cam LED Colors párbeszédablak, amely elmagyarázza a beépített LED állapotait, és véglegesen elrejthető (c2d00422f).

Új funkciók

  • A V3 rendszerbetöltő lekérdezi a QSPI flash memória elrendezését a firmware betöltése közben, és a külső QSPI flash memóriát csak a teljes beépített adat-flash törlése során törli; a connectClicked V3 kártyákon mindig meghívja a bootloaderQSPIFLayout függvényt, de a bootloaderQSPIFErase függvényt csak akkor futtatja, ha a forceFlashFSErase be van állítva (a QSPI write/memtest parancsok megvalósultak az IO rétegben, de a betöltő nem használja őket) (d953df62f).

  • Az érzékelő- és kártyaállapot csatlakozáskor lekérdezi a kamera érzékelőmodulját, és megjeleníti azt (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) az állapotsorban, egy új kártyatípus-címke mellett, egy új sensors.txt azonosító-névhez rendelő leképezés segítségével (0ffa82958).

  • Az első indításkor megjelenő LED-útmutató egy új OpenMV Cam LED Colors párbeszédablakot ad hozzá, amely rövid késleltetés után felugrik, ha az első indításkor a helloworld_1.py a megnyitott dokumentum, és elmagyarázza a beépített LED állapotait (villogó zöld = a rendszerbetöltő fut, kék = a main.py fut, fehér = hardverhiba okozta pánik); egy „Don’t show this message again.” jelölőnégyzet egy DONT_SHOW_LED_STATES_AGAIN beállításon keresztül tartósan elrejti az ablakot (c2d00422f).

  • Az OpenMV Cam meghajtó mappájának megnyitása egy új Tools menüpont, amely megnyitja a kamera csatlakoztatott meghajtóját a rendszer fájlböngészőjében (a49f54305).

  • A beépített adat-flash törlése egy új Tools parancs, amely megerősítő kérdés után csak a beépített fájlrendszer-flash memóriát törli, a firmware újraírása nélkül (d953df62f, 98686ac46).

  • A TensorFlow-modellmásolás lehetővé teszi, hogy a modellmásoló párbeszédablak a .network neurális hálózati fájlok mellett .tflite modelleket is a kamerára másoljon; a párbeszédablak szűrője Label Files (*.txt) és All Files bejegyzésekkel is bővült (ad1aa98f0, 0ffa82958, c0dbdd9e5).

  • A hibakeresési protokoll verzióváltása a megbízhatóság érdekében feldarabolja a GetAttribute, SetAttribute, FBEnable és JPEGEnable soros parancsokat, amikor a 3.5.3 vagy újabb firmware-rel kommunikál (83b9ca18f).

  • Új mellékelt példák kerültek hozzáadásra: TensorFlow Lite mobilenet és személyészlelő csúszóablakos szkriptek, valamint egy STM32Cube.AI (nn_stm32cubeai.py) MNIST példa, egy új 32-modbus mappa (modbus_rtu_slave.py, modbus_apriltag.py), WiFi shield kiegészítések (http_client_ssl, static_ip, mqtt_pub/mqtt_sub), Arduino UART/SPI-slave és CAN (e26b90d79, 42ba8f5c4).

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

  • Frissült az USB hibakeresési protokoll az új firmware-hez: az attribútumolvasások az új 32 bites ATTR_READ_2 (0xCA) parancsot használják, az attribútum-, érték- és képkocka-puffer-engedélyező adatok pedig 16 bites szavak helyett 32 bites long értékként kerülnek elküldésre (55d7cfe70).

  • A Save open script to OpenMV Cam átnevezve Save open script to OpenMV Cam (as main.py) névre, hogy egyértelmű legyen, hogy a main.py fájlba ír (a49f54305).

  • A Run Bootloader átnevezve Run Bootloader (Load Firmware) névre, hogy egyértelmű legyen a célja (ad1aa98f0).

  • A példamenük mostantól numerikus mappa-/fájlelőtagjuk szerint rendeződnek, és a megjelenített nevekből eltávolításra kerülnek a kezdő NN- számjegyek (ad1aa98f0).

  • A kimeneti és soros terminálok mostantól szóközként jelenítik meg a tabulátorokat, a szövegszerkesztő beállításaiból származó, konfigurálható soros terminál tabulátorszélességet használva a fixen beégetett 8-as szélesség helyett (98686ac46).

  • A Linux meghajtófelismerés mostantól a kameramegthajtó hozzárendelésekor a fuseblk csatolású fájlrendszereket (például exFAT/NTFS köteteket) is elfogadja (c0dbdd9e5).

  • Frissült az IDE súgójában megjelenő, mellékelt MicroPython HTML dokumentációkészlet (függvénykönyvtár-hivatkozás, esp8266/esp32 oktatóanyagok, generált oldalak és képek) (e69d71f7c, 90b5c6eb5, 97b0f645a).

Hibajavítások

  • Javításra került egy numerikus túlcsordulás a hisztogram statisztikáiban (átlag, kvartilisek, medián, szórás) az akkumulátorok int típusról 64 bitesre szélesítésével, megelőzve a nagy képeken kapott hibás statisztikákat (55d7cfe70).

  • Átdolgozásra került a leválasztás/kiadás Linuxon: a megbízhatatlan syncfs/closedir ürítés eltávolításra került, a meghajtó leválasztása mostantól egy egyszerű umount paranccsal történik, folyamatjelző párbeszédablak nélkül (b86d5c62c, c0dbdd9e5, 30d4a7d2d).

  • A kártya USB meghajtója mostantól csak akkor kerül hozzárendelésre, ha a firmware elég új, vagy ha jelen van egy .openmv_disk jelölőfájl, megakadályozva, hogy az IDE rossz cserélhető meghajtót foglaljon le (e464eaed4).

  • Javításra került az újracsatlakozási logika, így egy rendszerbetöltő/törlés művelet csatlakoztatott állapotban való indítása mostantól előbb tisztán leválasztja a kamerát, majd újrapróbálkozik, elkerülve a beragadt munkaállapotot (d953df62f).

  • A kamerára küldött szkriptek megjegyzés-/szóköztisztítója újraírásra került mint karakterláncra figyelő állapotgép, így a karakterláncokon belüli # karakterek többé nem tévesztődnek össze megjegyzésekkel, és a záró szóközök és docstringek megfelelően kezelődnek (24dff1b2f).

  • Javításra került több csatlakozási/terminál párbeszédablak-üzenet fordítási karakterlánc-kezelése, így a beágyazott shell parancsok (sudo adduser, pydfu telepítési lépések) többé nem részei a fordítható szövegnek, és helyesen jelennek meg (b5705a57e).

Platform- és eszköztámogatás

  • Qt Creator alap: 4.0.2.

  • Az OpenMV Cam H7 Plus kártya/firmware átnevezve OPENMV4R névről OPENMV4P névre (OMV4P_H7_32768_SDRAM), és a firmware-e az új néven került mellékelésre (c0dbdd9e5).

  • Javításra került a H7 Plus kártya megjelenítési neve, hogy szóközök helyett aláhúzásjeleket használjon (OpenMV_Cam_H7_Plus_(STM32H743_w/_SDRAM)) (75764132c).

  • A mellékelt firmware a kiadás során több lépésben frissült, az OPENMV2/3/4/4P esetében a 3.5.2 verzióval zárult (az utolsó emelés a 15c07498c commitban; korábbi kumulatív emelések: 42ba8f5c4 a 3.4.2-re, a99c2e3e1 a 3.4.3-ra, e26b90d79 a 3.5.0-ra, valamint 97b0f645a a 3.5.1-re).

  • Mellékelt firmware-verziók: OPENMV2 (Cam M4) 1.4.11, OPENMV3 (Cam M7) 1.4.11, OPENMV4 (Cam H7) 1.2.15, OPENMV4P (Cam H7 Plus) 1.2.15.

  • Az OpenMV IDE verziója a 2.2.1-ről 2.4.0-ra emelkedett.

Kompatibilitást törő változások

Az USB hibakeresési attribútumolvasási protokoll a régi 16 bites ATTR_READ (0x8A) parancsról az új 32 bites ATTR_READ_2 (0xCA) parancsra váltott, az attribútum-, érték- és engedélyező adatok pedig mostantól 32 bites long értékként kerülnek elküldésre; az IDE továbbá csatlakozáskor lekérdezi a kamera érzékelőazonosítóját. Ehhez olyan firmware szükséges, amely megvalósítja az új protokollt. A mellékelt 1.2.15 / 1.4.11 firmware biztosítja ezt, így a régebbi kamerákat az új firmware-re kell frissíteni a csatlakozáshoz.