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 avaaopenmv.io/download-osoitteen, sekä lataa, purkaa ja asentaaopenmv-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 kytkettyupdateCam()-toimintoon. Se lukee mukana toimitetunfirmware/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 muotoonFirmware Binary (*.bin *.dfu), ja.dfu-pakotettu tyhjennystoiminto otettiin käyttöön commitissa4ad2be5f9, kun taas aina valittu, poistettu tyhjennysvalintaruutu, joka vaihtuu automaattisesti valitun tiedostopäätteen mukaan, lisättiin commitissab2ac8defe(4ad2be5f9, b2ac8defe).Automaattinen DFU-varajärjestelmä käynnistyslataimen vikatilanteessa. Kun
.bin-laiteohjelmistopäivitys ei pysty käynnistämään sarjakäynnistyslatainta, IDE ilmoittaa nytUnable 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 sinutBOOT/RST-hyppylangan lisäämisessä sekä uudelleenliittämisessä ennen kuin se ajaaDfuSeCommand.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ä apufunktioillacommand()/commandResult(), jotka korvasivatwrite()/readAll()/isOpen()-kutsut (b03a707f7, 141122e21, b2ac8defe, 1d72fe4bf, b4cf2fe43, c60936d5f).Windowsin sarjaporttiajurin asennus on nyt hiljainen/valvomaton:
openmv.cmd/pybcdc.cmd-ajuriskriptit vaihdettiindpinst-pohjaisiksi asentajiksi interaktiivisenInfDefaultInstall-asennuksen sijaan, ja Visual C++ Redistributable -asennusohjelma (vcr.cmd, joka ajaa hiljaisestivcredist_x86.exejavcredist_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 (AboutRole→ApplicationSpecificRole), eivätkä tulosteruudut enää kaappaaAlt/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ä) jadfuse.cmd-ajuriasentajaa (4ad2be5f9).macOS:n ja Linuxin DFU-flashaus siirtyi esikäännetyistä
dfu-util-binääreistä mukana toimitettuunpydfu.py-flashaajaan, jolloin IDE näyttää tarvittavat libusb/pyusb-asennuskomennot.ac248c0eclisäsi hetkellisesti Linux x86_64 -binääritdfu-util/dfu-prefix/dfu-suffix, mutta324f243f9poisti ne sitten kaikkipydfu.py:n hyväksi. Lopullisessa julkaisussa ei toimiteta yhtäändfu-util-binääriä;static.prosisä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.