v1.3.0

v1.3.0 rakentaa kameran tiedonsiirtokerroksen uudelleen jäsennellyn komento/vastaus-protokollan ympärille ja lisää IDE:n sisäisen automaattisen päivityksen sekä IDE:lle että sen mukana toimitetuille resursseille. Se perustuu Qt Creator 4.0.2:een ja sisältää OpenMV-kameran laiteohjelmiston 2.0.0. macOS- ja Linux-järjestelmissä DFU-laiteohjelmiston flashaus vaatii nyt Pythonin sekä libusbin ja pyusbin kertaluonteisen asennuksen; katso Yhteensopivuutta rikkovat muutokset.

Kohokohdat

  • Uudelleenkirjoitettu tiedonsiirtokerros. Sarja-/USB-debug-koodi rakennettiin uudelleen jäsennellyn komento/vastaus-protokollan ympärille komentokohtaisilla vastauspituuksilla sekä alku-/loppuviiveillä, jotta yhteyden muodostus, skriptin ajo, kehyspuskuri- ja käynnistyslataintoiminnot olisivat luotettavampia.

  • IDE:n sisäinen automaattinen päivitin. IDE tarkistaa nyt openmv.io-osoitteesta uudemman version ja tarjoaa Download-painikkeen, sekä lataa ja asentaa erikseen päivitetyt resurssipaketit (esimerkit, laiteohjelmisto, dokumentaatio) ja kehottaa sen jälkeen käynnistämään uudelleen.

  • Yhden napsautuksen laiteohjelmistopäivitys. Tilarivin laiteohjelmistoversio on nyt napsautettava painike, joka vertaa liitettyä kameraa mukana toimitettuun laiteohjelmistoon ja tarjoaa yhden napsautuksen päivityksen, kun uudempi versio on saatavilla.

  • DFU-laiteohjelmiston flashaus jokaisella alustalla. Laiteohjelmisto voidaan nyt flashata DFU:n kautta Windowsissa, macOS:ssä, Linux x86:ssa ja Linux x86_64:ssä, ja laiteohjelmiston valitsin hyväksyy .dfu-tiedostot .bin-tiedostojen lisäksi.

  • Automaattinen DFU-varajärjestelmä. Kun sarjakäynnistyslatainta ei tavoiteta laiteohjelmistopäivityksen aikana, IDE tarjoaa nyt vaihtoehtona päivityksen kameran DFU-käynnistyslataimen kautta ja opastaa sinut BOOT/RST-hyppylangan lisäämisessä.

Uudet ominaisuudet

  • IDE:n sisäinen päivitin. Tarkistaa openmv.io-osoitteesta uudemman IDE-version ja tarjoaa Download-painikkeen, joka avaa openmv.io/download-osoitteen, sekä lataa, purkaa ja asentaa openmv-ide-resources-X.Y.Z.zip-resurssipaketit suoraan IDE:hen ennen uudelleenkäynnistyskehotusta (8a1f92bb1, 194acd828, b0be97e3e).

  • Napsautettava laiteohjelmistoversion painike. Tilarivin versiotunnisteesta tuli QToolButton, joka on kytketty updateCam()-toimintoon. Se lukee mukana toimitetun firmware/firmware.txt-tiedoston, vertaa sitä liitettyyn kameraan ja tarjoaa Firmware Update -päivityksen valinnaisella sisäisen tiedostojärjestelmän tyhjennyksellä, kun uudempi on saatavilla (b2ac8defe).

  • DFU-tiedostotuki. Käynnistyslatain-/laiteohjelmiston flashaus-valintaikkuna hyväksyy nyt .dfu-tiedostot .bin-tiedostojen lisäksi ja pakottaa sisäisen tiedostojärjestelmän täydellisen tyhjennyksen flashattaessa .dfu-tiedostoa. Laiteohjelmiston valitsimen suodatin laajennettiin muotoon Firmware Binary (*.bin *.dfu), ja .dfu-pakotettu tyhjennystoiminto otettiin käyttöön commitissa 4ad2be5f9, kun taas aina valittu, poistettu tyhjennysvalintaruutu, joka vaihtuu automaattisesti valitun tiedostopäätteen mukaan, lisättiin commitissa b2ac8defe (4ad2be5f9, b2ac8defe).

  • Automaattinen DFU-varajärjestelmä käynnistyslataimen vikatilanteessa. Kun .bin-laiteohjelmistopäivitys ei pysty käynnistämään sarjakäynnistyslatainta, IDE ilmoittaa nyt Unable to connect to the bootloader! ja tarjoaa sen jälkeen päivitystä kameran DFU-käynnistyslataimen kautta varoittaen, että DFU tyhjentää sisäisen flash-muistin tiedostojärjestelmän, ja opastaa sinut BOOT/RST-hyppylangan lisäämisessä sekä uudelleenliittämisessä ennen kuin se ajaa DfuSeCommand.exe (Windows) (4ad2be5f9).

  • HoG-esimerkki. Lisättiin Histogram of Oriented Gradients -visualisointiesimerkki (09-Feature-Detection/hog.py), joka käyttää img.find_hog()-funktiota (b03a707f7).

Muut muutokset ja parannukset

  • Korvattiin vanha tilapäinen siirtonopeus-/pakettikoodi luokilla OpenMVPluginSerialPortCommand/Result, opkoodeilla __USBDBG_* ja __BOOTLDR_* sekä apufunktioilla command()/commandResult(), jotka korvasivat write()/readAll()/isOpen()-kutsut (b03a707f7, 141122e21, b2ac8defe, 1d72fe4bf, b4cf2fe43, c60936d5f).

  • Windowsin sarjaporttiajurin asennus on nyt hiljainen/valvomaton: openmv.cmd/pybcdc.cmd-ajuriskriptit vaihdettiin dpinst-pohjaisiksi asentajiksi interaktiivisen InfDefaultInstall-asennuksen sijaan, ja Visual C++ Redistributable -asennusohjelma (vcr.cmd, joka ajaa hiljaisesti vcredist_x86.exe ja vcredist_x64.exe) lisättiin ja korjattiin (a5a6e0590, 754d0776d, b0be97e3e, 452a29f0d, c051c6e30, ad1b674ef, 565f1eccd).

Virheenkorjaukset

  • Korjattiin laiteohjelmiston flashaus ja tiedonsiirto, jotka rikkoutuivat virtuaalikoneissa, sekä löysennettiin useita komentojen aikakatkaisuja ja kehyspuskurin/tx-puskurin kyselyä, jotta yhteyden muodostus ja ajo olisivat vakaampia. Uudelleenohjelmointivalintaikkunassa todetaan nyt, että se ”voi kestää jopa 5 minuuttia”, ja DFU-prosessin aikakatkaisu nostettiin 240 sekunnista 300 sekuntiin commitissa 324f243f9 (c051c6e30, b0be97e3e, 1d72fe4bf, b4cf2fe43, 324f243f9, c60936d5f).

  • Korjattiin laiteohjelmiston/IDE:n päivityksen saatavuusvertailu siten, ettei uudempi pää- tai korjausversio enää virheellisesti laukea, kun korkeampi kenttä on yhtä suuri, ja vaadittiin, että käynnistyslatain-valintaikkunassa on kelvollinen valittu tiedosto ennen flashausta (4ad2be5f9).

  • Suljettiin tiedostokahvat (kortit-luettelo, laiteohjelmisto-/versiotiedostot) lukemisen jälkeen ja korjattiin laiteohjelmiston flashauslohkon täyttö täyttämään kokoon FLASH_WRITE_CHUNK_SIZE, mikä estää vuotaneet kahvat ja väärin täytetyt viimeiset lohkot laiteohjelmistopäivitysten aikana (4ad2be5f9).

  • Korjattiin OpenMV:n Help-valikko ja tulosteruudut: About OpenMV Cam -kohta ei enää törmää alustan About-rooliin (AboutRoleApplicationSpecificRole), eivätkä tulosteruudut enää kaappaa Alt/Cmd + numero -pikanäppäimiä (a0694eac7).

  • Ulkoisten OpenMV-verkkolinkkien (foorumit, lataus, tuki) avaaminen näyttää nyt ”Failed to open” -virhevalintaikkunan, kun URL-osoitetta ei voida avata, sen sijaan että se ei tekisi mitään (b0be97e3e).

Alusta- ja työkalutuki

  • Qt Creator -pohja: 4.0.2.

  • Mukana toimitettu kameran laiteohjelmisto: päivitetty versioon 2.0.0, uusilla firmware.bin/openmv.bin-tiedostoilla ja äskettäin lisätyillä firmware.dfu/bootloader.dfu/firmware.elf/bootloader.elf-tiedostoilla OMV2:lle ja OMV7:lle.

  • Windowsin DFU-flashaus lisättiin käyttäen mukana toimitettua ST:n DfuSeCommand.exe-ohjelmaa, ST DfuSe USB -ajuripakettia (DfuSe v3.0.4.0 Win7:ssä/Win8:ssa, v3.0.5.0 Win8.1:ssä) ja dfuse.cmd-ajuriasentajaa (4ad2be5f9).

  • macOS:n ja Linuxin DFU-flashaus siirtyi esikäännetyistä dfu-util-binääreistä mukana toimitettuun pydfu.py-flashaajaan, jolloin IDE näyttää tarvittavat libusb/pyusb-asennuskomennot. ac248c0ec lisäsi hetkellisesti Linux x86_64 -binäärit dfu-util/dfu-prefix/dfu-suffix, mutta 324f243f9 poisti ne sitten kaikki pydfu.py:n hyväksi. Lopullisessa julkaisussa ei toimiteta yhtään dfu-util-binääriä; static.pro sisältää pydfu-datahakemiston kaikille muille kuin Windows-järjestelmille, kun taas Windows käyttää mukana toimitettua DfuSe-toimintoa (ac248c0ec, 324f243f9, 7837a07da).

  • Linuxin udev-säännöt päivitettiin käyttämään SUBSYSTEM-täsmäystä (kameran VID 1209/PID abd1 tty ja STM DFU 0483/df11), jotta laite- ja DFU-symlinkit toimivat 32-bittisessä Linuxissa, ja uudelleenohjausta seuraavat verkkopyynnöt suojattiin vanhempaa Qt:ta varten (194acd828).

Yhteensopivuutta rikkovat muutokset

Mukana toimitetut erilliset dfu-util-binäärit macOS:lle ja Linuxille poistettiin ja korvattiin Python-pohjaisella pydfu.py-flashaajalla. macOS:ssä ja Linuxissa laiteohjelmiston DFU-flashaus vaatii nyt Pythonin sekä libusbin ja pyusbin kertaluonteisen asennuksen (IDE näyttää tarkat MacPorts-/HomeBrew-/apt-get-komennot). Windows käyttää edelleen mukana toimitettua DfuSe-pohjaista toimintoa. Skriptaus-API:ssa ei ole yhteensopivuutta rikkovia muutoksia, ja Qt Creator 4.0.2 -pohja on muuttumaton.