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.io adresini 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 .bin dosyalarına ek olarak .dfu dosyaları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/RST jumper’ı eklemeniz konusunda size rehberlik eder.

Yeni özellikler

  • IDE içi güncelleyici. Daha yeni bir IDE sürümü için openmv.io adresini kontrol eder ve openmv.io/download adresini açan bir Download düğmesi sunar; ayrıca yeniden başlatma istenmeden önce openmv-ide-resources-X.Y.Z.zip kaynak 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.txt dosyası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 bir updateCam() akışına bağlı bir QToolButton haline geldi (b2ac8defe).

  • DFU dosya desteği. Önyükleyici (bootloader)/aygıt yazılımı flash iletişim kutusu artık .bin dosyalarına ek olarak .dfu dosyalarını da kabul eder ve bir .dfu flash ederken tam dahili dosya sistemi silme işlemini zorunlu kılar. Aygıt yazılımı seçici filtresi Firmware Binary (*.bin *.dfu) olarak genişletildi ve .dfu zorunlu 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 kutusu b2ac8defe‘de eklendi (4ad2be5f9, b2ac8defe).

  • Önyükleyici (bootloader) hatasında otomatik DFU yedekleme. Bir .bin aygıt yazılımı güncellemesi seri önyükleyiciyi (bootloader) başlatamadığında, IDE artık Unable 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 ve DfuSeCommand.exe (Windows) çalıştırılmadan önce bir BOOT/RST jumper 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() yerine OpenMVPluginSerialPortCommand/Result sınıfları, __USBDBG_* ve __BOOTLDR_* işlem kodları ve command()/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.cmd sürücü betikleri etkileşimli InfDefaultInstall yerine dpinst tabanlı kurulumlara geçirildi ve Visual C++ Redistributable kurulumu (vcr.cmd, vcredist_x86.exe ve vcredist_x64.exe sessizce ç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 Help menüsü ve çıktı bölmeleri düzeltildi: About OpenMV Cam girdisi artık platform About rolüyle çakışmıyor (AboutRoleApplicationSpecificRole) ve çıktı bölmeleri artık Alt/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.bin ve OMV2 ile OMV7 için yeni eklenen firmware.dfu/bootloader.dfu/firmware.elf/bootloader.elf ile 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 bir dfuse.cmd sürücü kurucusu kullanılarak eklendi (4ad2be5f9).

  • macOS ve Linux DFU flash işlemi, önceden derlenmiş dfu-util ikili dosyalarından paketlenmiş bir pydfu.py flash aracına taşındı; IDE gerekli libusb/pyusb kurulum komutlarını gösteriyor. ac248c0ec kısa bir süre Linux x86_64 dfu-util/dfu-prefix/dfu-suffix ikili dosyalarını ekledi, ancak 324f243f9 ardından pydfu.py lehine bunların tümünü kaldırdı. Nihai sürümde hiçbir dfu-util ikili dosyası gönderilmiyor; static.pro, Windows paketlenmiş DfuSe akışını kullanırken Windows dışı tüm ana bilgisayarlar için pydfu veri dizinini paketliyor (ac248c0ec, 324f243f9, 7837a07da).

  • Linux udev kuralları, SUBSYSTEM eş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.