v1.3.0¶
v1.3.0 ponovno gradi sloj komunikacije s kamerom oko strukturiranog protokola naredbi/odgovora te dodaje automatsko ažuriranje unutar IDE-a kako za sam IDE tako i za njegove ugrađene resurse. Izgrađen je na Qt Creatoru 4.0.2 i uključuje OpenMV firmware za kamere 2.0.0. Na macOS-u i Linuxu DFU bljeskanje firmwarea sada zahtijeva jednokratnu instalaciju Pythona zajedno s libusb i pyusb; pogledajte Promjene koje narušavaju kompatibilnost.
Najvažnije¶
Ponovno napisan komunikacijski sloj. Serijski/USB-debug kod ponovno je izgrađen oko strukturiranog protokola naredbi/odgovora s duljinama odgovora po pojedinoj naredbi te kašnjenjima čekanja na početku/kraju, radi pouzdanijih operacija povezivanja, pokretanja skripte, međuspremnika slike i pokretača (bootloader).
Automatsko ažuriranje unutar IDE-a. IDE sada provjerava
openmv.ioza noviju verziju i nudi gumb Download, a zasebno preuzima i instalira ažurirane pakete resursa (primjeri, firmware, dokumentacija) te zatim traži ponovno pokretanje.Ažuriranje firmwarea jednim klikom. Verzija firmwarea u statusnoj traci sada je gumb na koji se može kliknuti i koji uspoređuje povezanu kameru s ugrađenim firmwareom te nudi ažuriranje jednim klikom kada je dostupna novija verzija.
DFU bljeskanje firmwarea na svakoj platformi. Firmware se sada može bljeskati preko DFU-a na Windowsima, macOS-u, Linuxu x86 i Linuxu x86_64, a birač firmwarea prihvaća
.dfudatoteke uz.bin.Automatsko vraćanje na DFU. Kada se serijski pokretač (bootloader) ne može dosegnuti tijekom ažuriranja firmwarea, IDE sada umjesto toga nudi nadogradnju preko DFU pokretača kamere, vodeći vas kroz dodavanje
BOOT/RSTpremosnika.
Nove značajke¶
Ažuriranje unutar IDE-a. Provjerava
openmv.ioza noviju verziju IDE-a i nudi gumb Download koji otvaraopenmv.io/downloadte preuzima, raspakirava i instaliraopenmv-ide-resources-X.Y.Z.zippakete resursa izravno u IDE prije nego što zatraži ponovno pokretanje (8a1f92bb1, 194acd828, b0be97e3e).Gumb verzije firmwarea na koji se može kliknuti. Oznaka verzije u statusnoj traci postala je
QToolButtonpovezan s tijekomupdateCam()koji čita ugrađenifirmware/firmware.txt, uspoređuje ga s povezanom kamerom te nudi Firmware Update s opcionalnim brisanjem internog datotečnog sustava kada je dostupna novija verzija (b2ac8defe).Podrška za DFU datoteke. Dijalog pokretača/bljeskanja firmwarea sada prihvaća
.dfudatoteke uz.bini prisiljava potpuno brisanje internog datotečnog sustava pri bljeskanju.dfu. Filter birača firmwarea proširen je naFirmware Binary (*.bin *.dfu), a tijek prisilnog brisanja za.dfuuveden je u4ad2be5f9, dok je uvijek označeni onemogućeni potvrdni okvir za brisanje koji se automatski prebacuje ovisno o ekstenziji odabrane datoteke dodan ub2ac8defe(4ad2be5f9, b2ac8defe).Automatsko vraćanje na DFU pri kvaru pokretača. Kada ažuriranje
.binfirmwarea ne može pokrenuti serijski pokretač (bootloader), IDE sada javljaUnable to connect to the bootloader!te zatim nudi nadogradnju pomoću DFU pokretača kamere, upozoravajući da DFU briše interni datotečni sustav na flash memoriji i vodeći vas kroz dodavanjeBOOT/RSTpremosne žice i ponovno povezivanje prije nego što pokreneDfuSeCommand.exe(Windows) (4ad2be5f9).HoG primjer. Dodan je primjer vizualizacije histograma orijentiranih gradijenata (
09-Feature-Detection/hog.py) koji koristiimg.find_hog()(b03a707f7).
Ostale promjene i poboljšanja¶
Stari ad-hoc kod za brzinu prijenosa/pakete zamijenjen je klasama
OpenMVPluginSerialPortCommand/Result, opkodovima__USBDBG_*i__BOOTLDR_*te pomoćnim funkcijamacommand()/commandResult()umjestowrite()/readAll()/isOpen()(b03a707f7, 141122e21, b2ac8defe, 1d72fe4bf, b4cf2fe43, c60936d5f).Instalacija upravljačkog programa za serijski port na Windowsima sada je tiha/bez nadzora, prebacujući upravljačke skripte
openmv.cmd/pybcdc.cmdna instalatere temeljene nadpinstumjesto interaktivnogInfDefaultInstall, a dodan je i ispravljen instalater Visual C++ Redistributable (vcr.cmd, koji tiho pokrećevcredist_x86.exeivcredist_x64.exe) (a5a6e0590, 754d0776d, b0be97e3e, 452a29f0d, c051c6e30, ad1b674ef, 565f1eccd).
Ispravci grešaka¶
Ispravljeno je bljeskanje firmwarea i komunikacija koji su se kvarili unutar virtualnih strojeva te su olabavljeni razni vremenski limiti naredbi i pollanje međuspremnika slike/tx-buffera kako bi povezivanje i pokretanje bili robusniji. Dijalog za ponovno programiranje sada napominje da „može potrajati do 5 minuta”, a vremensko ograničenje DFU procesa povećano je s 240 s na 300 s u
324f243f9(c051c6e30, b0be97e3e, 1d72fe4bf, b4cf2fe43, 324f243f9, c60936d5f).Ispravljena je usporedba dostupnosti ažuriranja firmwarea/IDE-a tako da novija manja ili zakrpana verzija više ne aktivira lažno ažuriranje kada je viša razina jednaka, te se zahtijeva da dijalog pokretača (bootloader) ima valjanu odabranu datoteku prije bljeskanja (4ad2be5f9).
Zatvoreni su rukovatelji datoteka (popis pločica, datoteke firmwarea/verzije) nakon čitanja i ispravljeno je nadopunjavanje firmware flash-segmenta tako da se nadopunjuje do
FLASH_WRITE_CHUNK_SIZE, čime se sprječavaju procurjeli rukovatelji i pogrešno nadopunjeni završni segmenti tijekom ažuriranja firmwarea (4ad2be5f9).Ispravljen je OpenMV izbornik
Helpi izlazna okna: stavka About OpenMV Cam više se ne sukobljava s platformskom About ulogom (AboutRole→ApplicationSpecificRole), a izlazna okna više ne preuzimaju prečaceAlt/Cmd+ broj (a0694eac7).Otvaranje vanjskih OpenMV web poveznica (forumi, preuzimanje, podrška) sada prikazuje dijalog s pogreškom „Failed to open” kada se URL ne može pokrenuti umjesto da tiho ne radi ništa (b0be97e3e).
Podrška za platforme i alate¶
Qt Creator baza: 4.0.2.
Ugrađeni firmware kamere: ažuriran na 2.0.0, s novim
firmware.bin/openmv.binte novododanimfirmware.dfu/bootloader.dfu/firmware.elf/bootloader.elfza OMV2 i OMV7.DFU bljeskanje na Windowsima dodano je pomoću ugrađenog ST
DfuSeCommand.exe, paketa upravljačkog programa ST DfuSe USB (DfuSe v3.0.4.0 na Win7/Win8, v3.0.5.0 na Win8.1) i instalatera upravljačkog programadfuse.cmd(4ad2be5f9).DFU bljeskanje na macOS-u i Linuxu prešlo je s unaprijed izgrađenih
dfu-utilbinarnih datoteka na ugrađenipydfu.pybljeskalo, pri čemu IDE prikazuje potrebne naredbe za instalaciju libusb/pyusb.ac248c0ecje nakratko dodao Linux x86_64dfu-util/dfu-prefix/dfu-suffixbinarne datoteke, ali ih je324f243f9zatim sve uklonio u koristpydfu.py. U konačnom izdanju ne isporučuju sedfu-utilbinarne datoteke;static.prouključuje podatkovni direktorijpydfuza sve hostove koji nisu Windows, dok Windows koristi ugrađeni DfuSe tijek (ac248c0ec, 324f243f9, 7837a07da).Linux udev pravila ažurirana su tako da koriste
SUBSYSTEMpodudaranje (kamera VID 1209/PID abd1 tty i STM DFU 0483/df11) kako bi simbolične veze uređaja i DFU-a radile na 32-bitnom Linuxu, a mrežni zahtjevi koji prate preusmjeravanja zaštićeni su za starije Qt verzije (194acd828).
Promjene koje narušavaju kompatibilnost¶
Ugrađene samostalne dfu-util binarne datoteke za macOS i Linux uklonjene su i zamijenjene Python pydfu.py bljeskalom. Na macOS-u i Linuxu DFU bljeskanje firmwarea sada zahtijeva jednokratnu instalaciju Pythona zajedno s libusb i pyusb (IDE prikazuje točne MacPorts/HomeBrew/apt-get naredbe). Windows nastavlja koristiti ugrađeni tijek temeljen na DfuSe. Nema prekida u skriptnom API-ju, a baza Qt Creator 4.0.2 ostaje nepromijenjena.