v1.3.0¶
v1.3.0 bygger om kommunikationslagret mot kameran kring ett strukturerat kommando/svar-protokoll och lägger till automatisk uppdatering i IDE:n för både IDE:n och dess medföljande resurser. Den är byggd på Qt Creator 4.0.2 och levereras med OpenMV-kamerans fasta programvara 2.0.0. På macOS och Linux kräver DFU-flashning av fast programvara nu en engångsinstallation av Python plus libusb och pyusb; se Brytande ändringar.
Höjdpunkter¶
Omskrivet kommunikationslager. Den seriella/USB-felsökningskoden byggdes om kring ett strukturerat kommando/svar-protokoll med svarslängder per kommando och vänteförseningar i början/slutet, för mer tillförlitliga operationer för anslutning, skriptkörning, bildbuffert och startladdare.
Automatisk uppdaterare i IDE:n. IDE:n kontrollerar nu
openmv.ioefter en nyare version och erbjuder en Download-knapp, och hämtar och installerar separat uppdaterade resurspaket (exempel, fast programvara, dokumentation) och uppmanar sedan till omstart.Uppdatering av fast programvara med ett klick. Versionen av fast programvara i statusfältet är nu en klickbar knapp som jämför den anslutna kameran med den medföljande fasta programvaran och erbjuder en uppdatering med ett klick när en nyare version är tillgänglig.
DFU-flashning av fast programvara på varje plattform. Fast programvara kan nu flashas över DFU på Windows, macOS, Linux x86 och Linux x86_64, och väljaren för fast programvara accepterar
.dfu-filer förutom.bin.Automatisk DFU-reserv. När den seriella startladdaren inte kan nås under en uppdatering av fast programvara erbjuder IDE:n nu att uppgradera via kamerans DFU-startladdare i stället och vägleder dig genom att lägga till en
BOOT/RST-bygel.
Nya funktioner¶
Uppdaterare i IDE:n. Kontrollerar
openmv.ioefter en nyare IDE-version och erbjuder en Download-knapp som öppnaropenmv.io/download, samt hämtar, packar upp och installeraropenmv-ide-resources-X.Y.Z.zip-resurspaket direkt i IDE:n innan den uppmanar till omstart (8a1f92bb1, 194acd828, b0be97e3e).Klickbar knapp för version av fast programvara. Versionsetiketten i statusfältet blev en
QToolButtonkopplad till ettupdateCam()-flöde som läser den medföljandefirmware/firmware.txt, jämför den med den anslutna kameran och erbjuder en Firmware Update med valfri radering av det interna filsystemet när den är nyare (b2ac8defe).Stöd för DFU-filer. Dialogrutan för startladdare/flashning av fast programvara accepterar nu
.dfu-filer förutom.binoch framtvingar en fullständig radering av det interna filsystemet vid flashning av en.dfu. Filtret i väljaren för fast programvara breddades tillFirmware Binary (*.bin *.dfu)och det framtvingade raderingsflödet för.dfuinfördes i4ad2be5f9, med den alltid markerade men inaktiverade raderingskryssrutan som växlar automatiskt baserat på den valda filändelsen som lades till ib2ac8defe(4ad2be5f9, b2ac8defe).Automatisk DFU-reserv vid fel i startladdaren. När en
.bin-uppdatering av fast programvara inte kan starta den seriella startladdaren rapporterar IDE:n nuUnable to connect to the bootloader!och erbjuder sedan att uppgradera med kamerans DFU-startladdare i stället, med en varning om att DFU raderar det interna flashfilsystemet, och vägleder dig genom att lägga till enBOOT/RST-bygeltråd och återansluta innan den körDfuSeCommand.exe(Windows) (4ad2be5f9).HoG-exempel. Lade till ett visualiseringsexempel för Histogram of Oriented Gradients (
09-Feature-Detection/hog.py) som använderimg.find_hog()(b03a707f7).
Övriga ändringar och förbättringar¶
Ersatte den gamla ad hoc-koden för baudhastighet/paket med klasserna
OpenMVPluginSerialPortCommand/Result, opkoderna__USBDBG_*och__BOOTLDR_*samt hjälpfunktionernacommand()/commandResult()i stället förwrite()/readAll()/isOpen()(b03a707f7, 141122e21, b2ac8defe, 1d72fe4bf, b4cf2fe43, c60936d5f).Installationen av drivrutinen för seriell port på Windows är nu tyst/obevakad, genom att drivrutinsskripten
openmv.cmd/pybcdc.cmdbyttes tilldpinst-baserade installerare i stället för interaktivInfDefaultInstall, och installeraren för Visual C++ Redistributable (vcr.cmd, som körvcredist_x86.exeochvcredist_x64.exetyst) lades till och rättades (a5a6e0590, 754d0776d, b0be97e3e, 452a29f0d, c051c6e30, ad1b674ef, 565f1eccd).
Buggfixar¶
Rättade att flashning av fast programvara och kommunikation slutade fungera inuti virtuella maskiner, och luckrade upp olika kommandotidsgränser och polling av bildbuffert/tx-buffert så att anslutning och körning blir mer robusta. Omprogrammeringsdialogen anger nu att den ”may take up to 5 minutes” och tidsgränsen för DFU-processen höjdes från 240 s till 300 s i
324f243f9(c051c6e30, b0be97e3e, 1d72fe4bf, b4cf2fe43, 324f243f9, c60936d5f).Rättade jämförelsen av tillgänglig uppdatering för fast programvara/IDE så att en nyare delversion eller patch inte längre utlöses felaktigt när ett högre fält är lika, och krävde att startladdardialogen har en giltig vald fil innan flashning (4ad2be5f9).
Stängde filhandtag (kortlista, filer för fast programvara/version) efter läsning och korrigerade utfyllnaden av flashchunkar för fast programvara så att den fylls ut till
FLASH_WRITE_CHUNK_SIZE, vilket förhindrar läckta handtag och felaktigt utfyllda slutchunkar under uppdateringar av fast programvara (4ad2be5f9).Rättade OpenMV-menyn
Helpoch utmatningsrutorna: posten About OpenMV Cam krockar inte längre med plattformens About-roll (AboutRole→ApplicationSpecificRole), och utmatningsrutorna fångar inte längreAlt/Cmd+ sifferkortkommandon (a0694eac7).Att öppna externa OpenMV-webblänkar (forum, nedladdning, support) rapporterar nu en ”Failed to open”-felruta när URL:en inte kan startas i stället för att tyst inte göra något (b0be97e3e).
Plattforms- och verktygsstöd¶
Qt Creator-bas: 4.0.2.
Medföljande kamerafast programvara: uppdaterad till 2.0.0, med nya
firmware.bin/openmv.binoch nytillkomnafirmware.dfu/bootloader.dfu/firmware.elf/bootloader.elfför OMV2 och OMV7.DFU-flashning på Windows lades till med en medföljande ST
DfuSeCommand.exe, ST DfuSe USB-drivrutinspaketet (DfuSe v3.0.4.0 på Win7/Win8, v3.0.5.0 på Win8.1) och endfuse.cmd-drivrutinsinstallerare (4ad2be5f9).DFU-flashning på macOS och Linux flyttades från förbyggda
dfu-util-binärer till en medföljandepydfu.py-flashare, där IDE:n visar de nödvändiga installationskommandona för libusb/pyusb.ac248c0eclade kortvarigt till Linux x86_64-binärernadfu-util/dfu-prefix/dfu-suffix, men324f243f9tog sedan bort alla till förmån förpydfu.py. Ingadfu-util-binärer levereras i den slutliga utgåvan;static.prolevererar datakatalogenpydfuför alla värdar som inte är Windows, medan Windows använder det medföljande DfuSe-flödet (ac248c0ec, 324f243f9, 7837a07da).Linux udev-regler uppdaterades till att använda
SUBSYSTEM-matchning (kamera VID 1209/PID abd1 tty och STM DFU 0483/df11) så att enhets- och DFU-symlänkarna fungerar på 32-bitars Linux, och nätverksbegäranden som följer omdirigeringar skyddades för äldre Qt (194acd828).
Brytande ändringar¶
De medföljande fristående dfu-util-binärerna för macOS och Linux togs bort och ersattes av en Python-pydfu.py-flashare. På macOS och Linux kräver DFU-flashning av fast programvara nu en engångsinstallation av Python plus libusb och pyusb (IDE:n visar de exakta kommandona för MacPorts/HomeBrew/apt-get). Windows fortsätter att använda det medföljande DfuSe-baserade flödet. Det finns inga brott i skript-API:et, och Qt Creator 4.0.2-basen är oförändrad.