v1.3.0¶
v1.3.0, kamera iletişim katmanını yapılandırılmış bir komut/yanıt protokolü etrafında yeniden yazar ve hem IDE hem de paketlenmiş kaynakları için IDE içi otomatik güncellemeyi ekler. Qt Creator 4.0.2 üzerine inşa edilmiştir ve OpenMV kamera aygıt yazılımı (firmware) 2.0.0 ile paketlenir. macOS ve Linux’ta, DFU aygıt yazılımı flash işlemi artık Python ile birlikte libusb ve pyusb’un bir kerelik kurulumunu gerektirir; bkz. Geriye dönük uyumsuz değişiklikler.
Öne çıkanlar¶
Yeniden yazılan iletişim katmanı. Seri/USB hata ayıklama kodu, komut başına yanıt uzunlukları ve başlangıç/bitiş bekleme gecikmeleriyle yapılandırılmış bir komut/yanıt protokolü etrafında yeniden inşa edildi; böylece bağlanma, betik çalıştırma, frame buffer ve önyükleyici (bootloader) işlemleri daha güvenilir hale geldi.
IDE içi otomatik güncelleyici. IDE artık daha yeni bir sürüm için
openmv.ioadresini kontrol eder ve bir Download düğmesi sunar; ayrıca güncellenmiş kaynak paketlerini (örnekler, aygıt yazılımı, dokümantasyon) ayrıca indirir ve kurar, ardından yeniden başlatma için ister.Tek tıkla aygıt yazılımı güncellemesi. Durum çubuğundaki aygıt yazılımı sürümü artık tıklanabilir bir düğmedir; bağlı kamerayı paketlenmiş aygıt yazılımıyla karşılaştırır ve daha yeni bir sürüm mevcut olduğunda tek tıkla güncelleme sunar.
Her platformda DFU aygıt yazılımı flash işlemi. Aygıt yazılımı artık Windows, macOS, Linux x86 ve Linux x86_64 üzerinde DFU ile flash edilebilir ve aygıt yazılımı seçici
.bindosyalarına ek olarak.dfudosyalarını da kabul eder.Otomatik DFU yedekleme. Bir aygıt yazılımı güncellemesi sırasında seri önyükleyiciye (bootloader) ulaşılamadığında, IDE artık bunun yerine kameranın DFU önyükleyicisi (bootloader) üzerinden yükseltme yapmayı önerir ve bir
BOOT/RSTjumper’ı eklemeniz konusunda size rehberlik eder.
Yeni özellikler¶
IDE içi güncelleyici. Daha yeni bir IDE sürümü için
openmv.ioadresini kontrol eder veopenmv.io/downloadadresini açan bir Download düğmesi sunar; ayrıca yeniden başlatma istenmeden önceopenmv-ide-resources-X.Y.Z.zipkaynak paketlerini doğrudan IDE’ye indirir, açar ve kurar (8a1f92bb1, 194acd828, b0be97e3e).Tıklanabilir aygıt yazılımı sürüm düğmesi. Durum çubuğundaki sürüm etiketi, paketlenmiş
firmware/firmware.txtdosyasını okuyan, bunu bağlı kamerayla karşılaştıran ve daha yeni olduğunda isteğe bağlı dahili dosya sistemi silme seçeneğiyle bir Firmware Update sunan birupdateCam()akışına bağlı birQToolButtonhaline geldi (b2ac8defe).DFU dosya desteği. Önyükleyici (bootloader)/aygıt yazılımı flash iletişim kutusu artık
.bindosyalarına ek olarak.dfudosyalarını da kabul eder ve bir.dfuflash ederken tam dahili dosya sistemi silme işlemini zorunlu kılar. Aygıt yazılımı seçici filtresiFirmware Binary (*.bin *.dfu)olarak genişletildi ve.dfuzorunlu silme akışı4ad2be5f9‘da tanıtıldı; seçilen dosya uzantısına göre otomatik geçiş yapan, her zaman işaretli ve devre dışı silme onay kutusub2ac8defe‘de eklendi (4ad2be5f9, b2ac8defe).Önyükleyici (bootloader) hatasında otomatik DFU yedekleme. Bir
.binaygıt yazılımı güncellemesi seri önyükleyiciyi (bootloader) başlatamadığında, IDE artıkUnable to connect to the bootloader!raporu verir ve ardından bunun yerine kameranın DFU önyükleyicisini (bootloader) kullanarak yükseltme yapmayı önerir; DFU’nun dahili flash dosya sistemini sildiği konusunda uyarır veDfuSeCommand.exe(Windows) çalıştırılmadan önce birBOOT/RSTjumper kablosu ekleyip yeniden bağlanma konusunda size rehberlik eder (4ad2be5f9).HoG örneği.
img.find_hog()kullanan bir Yönlü Gradyan Histogramı görselleştirme örneği (09-Feature-Detection/hog.py) eklendi (b03a707f7).
Diğer değişiklikler ve iyileştirmeler¶
Eski geçici baud hızı/paket kodu,
write()/readAll()/isOpen()yerineOpenMVPluginSerialPortCommand/Resultsınıfları,__USBDBG_*ve__BOOTLDR_*işlem kodları vecommand()/commandResult()yardımcılarıyla değiştirildi (b03a707f7, 141122e21, b2ac8defe, 1d72fe4bf, b4cf2fe43, c60936d5f).Windows seri port sürücüsü kurulumu artık sessiz/gözetimsizdir;
openmv.cmd/pybcdc.cmdsürücü betikleri etkileşimliInfDefaultInstallyerinedpinsttabanlı kurulumlara geçirildi ve Visual C++ Redistributable kurulumu (vcr.cmd,vcredist_x86.exevevcredist_x64.exesessizce çalıştırarak) eklendi ve düzeltildi (a5a6e0590, 754d0776d, b0be97e3e, 452a29f0d, c051c6e30, ad1b674ef, 565f1eccd).
Hata düzeltmeleri¶
Sanal makineler içinde aygıt yazılımı flash işleminin ve iletişimin bozulması düzeltildi ve bağlanma ile çalıştırmanın daha sağlam olması için çeşitli komut zaman aşımları ve frame buffer/tx buffer yoklamaları gevşetildi. Yeniden programlama iletişim kutusu artık “5 dakikaya kadar sürebilir” notunu gösteriyor ve DFU işlem zaman aşımı
324f243f9‘da 240 sn’den 300 sn’ye yükseltildi (c051c6e30, b0be97e3e, 1d72fe4bf, b4cf2fe43, 324f243f9, c60936d5f).Aygıt yazılımı/IDE güncelleme-mevcut karşılaştırması düzeltildi; böylece daha yeni bir minor veya patch sürümü, daha üst bir alan eşit olduğunda artık yanlışlıkla tetiklenmiyor ve önyükleyici (bootloader) iletişim kutusunun flash etmeden önce geçerli bir seçili dosyaya sahip olması zorunlu kılındı (4ad2be5f9).
Okuduktan sonra dosya tanıtıcıları (kart listesi, aygıt yazılımı/sürüm dosyaları) kapatıldı ve aygıt yazılımı flash yığını dolgusu
FLASH_WRITE_CHUNK_SIZE‘a dolgu yapacak şekilde düzeltildi; bu, aygıt yazılımı güncellemeleri sırasında sızdırılan tanıtıcıları ve yanlış dolgulanmış son yığınları önler (4ad2be5f9).OpenMV
Helpmenüsü ve çıktı bölmeleri düzeltildi: About OpenMV Cam girdisi artık platform About rolüyle çakışmıyor (AboutRole→ApplicationSpecificRole) ve çıktı bölmeleri artıkAlt/Cmd+ sayı kısayollarını ele geçirmiyor (a0694eac7).Harici OpenMV web bağlantılarını (forumlar, indirme, destek) açma işlemi, URL başlatılamadığında artık sessizce hiçbir şey yapmamak yerine bir “Failed to open” hata iletişim kutusu raporluyor (b0be97e3e).
Platform ve araç desteği¶
Qt Creator tabanı: 4.0.2.
Paketlenmiş kamera aygıt yazılımı: 2.0.0‘a güncellendi; yeni
firmware.bin/openmv.binve OMV2 ile OMV7 için yeni eklenenfirmware.dfu/bootloader.dfu/firmware.elf/bootloader.elfile birlikte.Windows DFU flash işlemi, paketlenmiş bir ST
DfuSeCommand.exe, ST DfuSe USB sürücü paketi (Win7/Win8’de DfuSe v3.0.4.0, Win8.1’de v3.0.5.0) ve birdfuse.cmdsürücü kurucusu kullanılarak eklendi (4ad2be5f9).macOS ve Linux DFU flash işlemi, önceden derlenmiş
dfu-utilikili dosyalarından paketlenmiş birpydfu.pyflash aracına taşındı; IDE gerekli libusb/pyusb kurulum komutlarını gösteriyor.ac248c0eckısa bir süre Linux x86_64dfu-util/dfu-prefix/dfu-suffixikili dosyalarını ekledi, ancak324f243f9ardındanpydfu.pylehine bunların tümünü kaldırdı. Nihai sürümde hiçbirdfu-utilikili dosyası gönderilmiyor;static.pro, Windows paketlenmiş DfuSe akışını kullanırken Windows dışı tüm ana bilgisayarlar içinpydfuveri dizinini paketliyor (ac248c0ec, 324f243f9, 7837a07da).Linux udev kuralları,
SUBSYSTEMeşleştirmesi (kamera VID 1209/PID abd1 tty ve STM DFU 0483/df11) kullanacak şekilde güncellendi; böylece cihaz ve DFU sembolik bağlantıları 32 bit Linux’ta çalışıyor ve yönlendirme takip eden ağ istekleri eski Qt için korumaya alındı (194acd828).
Geriye dönük uyumsuz değişiklikler¶
macOS ve Linux için paketlenmiş bağımsız dfu-util ikili dosyaları kaldırıldı ve bir Python pydfu.py flash aracıyla değiştirildi. macOS ve Linux’ta, aygıt yazılımı DFU flash işlemi artık Python ile birlikte libusb ve pyusb’un bir kerelik kurulumunu gerektiriyor (IDE tam MacPorts/HomeBrew/apt-get komutlarını gösterir). Windows, paketlenmiş DfuSe tabanlı akışı kullanmaya devam ediyor. Hiçbir betik (script) API kırılması yoktur ve Qt Creator 4.0.2 tabanı değişmemiştir.