v1.3.0

A v1.3.0 átírja a kamerakommunikációs réteget egy strukturált parancs/válasz protokoll köré, és bevezeti az IDE, valamint a benne csomagolt erőforrások IDE-n belüli automatikus frissítését. A Qt Creator 4.0.2 alapra épül, és az OpenMV kamera firmware 2.0.0 verzióját tartalmazza. macOS és Linux rendszeren a DFU firmware-felvitel mostantól a Python, valamint a libusb és pyusb egyszeri telepítését igényli; lásd a Kompatibilitást törő változásokat.

Kiemelt változások

  • Átírt kommunikációs réteg. A soros/USB-hibakeresési kódot egy strukturált parancs/válasz protokoll köré építették újra, parancsonkénti válaszhosszokkal és kezdő/záró várakozási késleltetésekkel, a megbízhatóbb csatlakozás, szkriptfuttatás, framebuffer- és rendszerbetöltő-műveletek érdekében.

  • IDE-n belüli automatikus frissítő. Az IDE mostantól ellenőrzi az openmv.io címen, van-e újabb verzió, és felkínál egy Download gombot, valamint külön letölti és telepíti a frissített erőforráscsomagokat (példák, firmware, dokumentáció), majd újraindítást kér.

  • Egykattintásos firmware-frissítés. Az állapotsoron lévő firmware-verzió mostantól egy kattintható gomb, amely összehasonlítja a csatlakoztatott kamerát a csomagolt firmware-rel, és egykattintásos frissítést kínál, ha újabb verzió érhető el.

  • DFU firmware-felvitel minden platformon. A firmware mostantól DFU-n keresztül felvihető Windows, macOS, Linux x86 és Linux x86_64 rendszeren, a firmware-választó pedig a .bin mellett .dfu fájlokat is elfogad.

  • Automatikus DFU tartalék. Ha a soros rendszerbetöltő nem érhető el a firmware-frissítés során, az IDE mostantól felkínálja a kamera DFU rendszerbetöltőjén keresztüli frissítést, végigvezetve a BOOT/RST áthidaló (jumper) hozzáadásán.

Új funkciók

  • IDE-n belüli frissítő. Ellenőrzi az openmv.io címen, van-e újabb IDE-verzió, és felkínál egy Download gombot, amely megnyitja az openmv.io/download címet, valamint letölti, kicsomagolja és telepíti az openmv-ide-resources-X.Y.Z.zip erőforráscsomagokat közvetlenül az IDE-be, mielőtt újraindítást kérne (8a1f92bb1, 194acd828, b0be97e3e).

  • Kattintható firmware-verzió gomb. Az állapotsoron lévő verziócímke QToolButton lett, amely egy updateCam() folyamathoz kapcsolódik, amely beolvassa a csomagolt firmware/firmware.txt fájlt, összehasonlítja a csatlakoztatott kamerával, és Firmware Update lehetőséget kínál, opcionális belső fájlrendszer-törléssel, ha újabb verzió érhető el (b2ac8defe).

  • DFU fájltámogatás. A rendszerbetöltő/firmware-felvitel párbeszédablak mostantól a .bin mellett .dfu fájlokat is elfogad, és .dfu felvitelekor teljes belső fájlrendszer-törlést kényszerít ki. A firmware-választó szűrőjét Firmware Binary (*.bin *.dfu) értékre bővítették, a .dfu kényszerített törlési folyamatát pedig a 4ad2be5f9 vezette be, a mindig bejelölt, letiltott törlési jelölőnégyzettel, amely a választott fájlkiterjesztés alapján automatikusan vált, és amelyet a b2ac8defe adott hozzá (4ad2be5f9, b2ac8defe).

  • Automatikus DFU tartalék rendszerbetöltő-hiba esetén. Ha egy .bin firmware-frissítés nem tudja elindítani a soros rendszerbetöltőt, az IDE mostantól Unable to connect to the bootloader! üzenetet jelez, majd felkínálja a frissítést a kamera DFU rendszerbetöltőjén keresztül, figyelmeztetve, hogy a DFU törli a belső flash memória fájlrendszerét, és végigvezet egy BOOT/RST áthidaló vezeték hozzáadásán és az újracsatlakozáson, mielőtt lefuttatná a DfuSeCommand.exe programot (Windows) (4ad2be5f9).

  • HoG példa. Hozzáadtak egy Histogram of Oriented Gradients megjelenítési példát (09-Feature-Detection/hog.py), amely az img.find_hog() függvényt használja (b03a707f7).

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

  • A régi, eseti átviteli sebesség/csomag kódot OpenMVPluginSerialPortCommand/Result osztályokra, __USBDBG_* és __BOOTLDR_* műveleti kódokra, valamint command()/commandResult() segédfüggvényekre cserélték a write()/readAll()/isOpen() helyett (b03a707f7, 141122e21, b2ac8defe, 1d72fe4bf, b4cf2fe43, c60936d5f).

  • A Windows soros port illesztőprogram-telepítése mostantól csendes/felügyelet nélküli: az openmv.cmd/pybcdc.cmd illesztőprogram-szkriptek az interaktív InfDefaultInstall helyett dpinst alapú telepítőkre váltottak, és hozzáadták (majd javították) a Visual C++ Redistributable telepítőt (vcr.cmd, amely csendesen futtatja a vcredist_x86.exe és vcredist_x64.exe programokat) (a5a6e0590, 754d0776d, b0be97e3e, 452a29f0d, c051c6e30, ad1b674ef, 565f1eccd).

Hibajavítások

  • Javítva a firmware-felvitel és kommunikáció hibája virtuális gépeken belül, és lazítottak több parancs-időtúllépésen, valamint a frame-buffer/tx-buffer lekérdezésen, hogy a csatlakozás és a futtatás robusztusabb legyen. Az újraprogramozási párbeszédablak mostantól megjegyzi, hogy „akár 5 percig is eltarthat”, a DFU-folyamat időtúllépését pedig a 324f243f9 240 mp-ről 300 mp-re emelte (c051c6e30, b0be97e3e, 1d72fe4bf, b4cf2fe43, 324f243f9, c60936d5f).

  • Javítva a firmware/IDE frissítés-elérhetőség összehasonlítása, hogy egy újabb alverzió vagy javítás már ne adjon téves találatot, ha egy magasabb mező egyenlő, valamint megkövetelték, hogy a rendszerbetöltő párbeszédablakban érvényes kiválasztott fájl legyen a felvitel előtt (4ad2be5f9).

  • A fájlkezelők (kártyák listája, firmware/verzió fájlok) lezárása beolvasás után, és a firmware felvitelekori darab-kitöltés javítása, hogy FLASH_WRITE_CHUNK_SIZE méretre tömjön, megakadályozva a szivárgó fájlkezelőket és a rosszul kitöltött utolsó darabokat firmware-frissítés közben (4ad2be5f9).

  • Javítva az OpenMV Help menü és a kimeneti panelek: az About OpenMV Cam bejegyzés már nem ütközik a platform About szerepkörével (AboutRoleApplicationSpecificRole), és a kimeneti panelek már nem foglalják le az Alt/Cmd + szám gyorsbillentyűket (a0694eac7).

  • A külső OpenMV webes hivatkozások megnyitása (fórumok, letöltés, támogatás) mostantól „Failed to open” hibapárbeszédet jelez, ha az URL nem nyitható meg, ahelyett, hogy csendben nem tenne semmit (b0be97e3e).

Platform- és eszköztámogatás

  • Qt Creator alap: 4.0.2.

  • Csomagolt kamera firmware: 2.0.0 verzióra frissítve, új firmware.bin/openmv.bin fájlokkal, valamint az újonnan hozzáadott firmware.dfu/bootloader.dfu/firmware.elf/bootloader.elf fájlokkal az OMV2 és OMV7 számára.

  • Windows DFU felvitel hozzáadva egy csomagolt ST DfuSeCommand.exe, az ST DfuSe USB illesztőprogram-csomag (DfuSe v3.0.4.0 Win7/Win8 rendszeren, v3.0.5.0 Win8.1 rendszeren) és egy dfuse.cmd illesztőprogram-telepítő segítségével (4ad2be5f9).

  • A macOS és Linux DFU felvitel az előre lefordított dfu-util binárisokról egy csomagolt pydfu.py felviteli eszközre váltott, az IDE pedig megjeleníti a szükséges libusb/pyusb telepítési parancsokat. Az ac248c0ec rövid időre hozzáadott Linux x86_64 dfu-util/dfu-prefix/dfu-suffix binárisokat, de a 324f243f9 ezután mindet eltávolította a pydfu.py javára. A végleges kiadásban nem szállítanak dfu-util binárisokat; a static.pro minden nem Windows gazdagéphez csomagolja a pydfu adatkönyvtárat, míg a Windows a csomagolt DfuSe folyamatot használja (ac248c0ec, 324f243f9, 7837a07da).

  • A Linux udev szabályok frissítve SUBSYSTEM illesztésre (kamera VID 1209/PID abd1 tty és STM DFU 0483/df11), hogy az eszköz- és DFU-szimbolikus hivatkozások 32 bites Linuxon is működjenek, és az átirányítást követő hálózati kéréseket régebbi Qt esetére védték (194acd828).

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

A macOS és Linux számára csomagolt önálló dfu-util binárisokat eltávolították, és egy Python pydfu.py felviteli eszközre cserélték. macOS és Linux rendszeren a firmware DFU-felvitele mostantól a Python, valamint a libusb és pyusb egyszeri telepítését igényli (az IDE megjeleníti a pontos MacPorts/HomeBrew/apt-get parancsokat). A Windows továbbra is a csomagolt DfuSe alapú folyamatot használja. Nincsenek szkriptelési API-törések, és a Qt Creator 4.0.2 alap változatlan.