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.io za 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 .dfu datoteke 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/RST premosnika.

Nove značajke

  • Ažuriranje unutar IDE-a. Provjerava openmv.io za noviju verziju IDE-a i nudi gumb Download koji otvara openmv.io/download te preuzima, raspakirava i instalira openmv-ide-resources-X.Y.Z.zip pakete 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 QToolButton povezan s tijekom updateCam() koji čita ugrađeni firmware/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 .dfu datoteke uz .bin i prisiljava potpuno brisanje internog datotečnog sustava pri bljeskanju .dfu. Filter birača firmwarea proširen je na Firmware Binary (*.bin *.dfu), a tijek prisilnog brisanja za .dfu uveden je u 4ad2be5f9, dok je uvijek označeni onemogućeni potvrdni okvir za brisanje koji se automatski prebacuje ovisno o ekstenziji odabrane datoteke dodan u b2ac8defe (4ad2be5f9, b2ac8defe).

  • Automatsko vraćanje na DFU pri kvaru pokretača. Kada ažuriranje .bin firmwarea ne može pokrenuti serijski pokretač (bootloader), IDE sada javlja Unable 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 dodavanje BOOT/RST premosne žice i ponovno povezivanje prije nego što pokrene DfuSeCommand.exe (Windows) (4ad2be5f9).

  • HoG primjer. Dodan je primjer vizualizacije histograma orijentiranih gradijenata (09-Feature-Detection/hog.py) koji koristi img.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 funkcijama command()/commandResult() umjesto write()/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.cmd na instalatere temeljene na dpinst umjesto interaktivnog InfDefaultInstall, a dodan je i ispravljen instalater Visual C++ Redistributable (vcr.cmd, koji tiho pokreće vcredist_x86.exe i vcredist_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 Help i izlazna okna: stavka About OpenMV Cam više se ne sukobljava s platformskom About ulogom (AboutRoleApplicationSpecificRole), a izlazna okna više ne preuzimaju prečace Alt/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.bin te novododanim firmware.dfu/bootloader.dfu/firmware.elf/bootloader.elf za 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 programa dfuse.cmd (4ad2be5f9).

  • DFU bljeskanje na macOS-u i Linuxu prešlo je s unaprijed izgrađenih dfu-util binarnih datoteka na ugrađeni pydfu.py bljeskalo, pri čemu IDE prikazuje potrebne naredbe za instalaciju libusb/pyusb. ac248c0ec je nakratko dodao Linux x86_64 dfu-util/dfu-prefix/dfu-suffix binarne datoteke, ali ih je 324f243f9 zatim sve uklonio u korist pydfu.py. U konačnom izdanju ne isporučuju se dfu-util binarne datoteke; static.pro uključuje podatkovni direktorij pydfu za sve hostove koji nisu Windows, dok Windows koristi ugrađeni DfuSe tijek (ac248c0ec, 324f243f9, 7837a07da).

  • Linux udev pravila ažurirana su tako da koriste SUBSYSTEM podudaranje (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.