v4.8.1¶
v4.8.1, Qt Creator 14.0.2 üzerine inşa edilmiştir ve yeni bir yüksek güvenilirlikli OpenMV V2 kamera protokolü, dahili bir Code Profiler ve kamerayı çıkarmak yerine bağlı tutan bir kaydetme iş akışı etrafında şekillenir. Birlikte gelen aygıt yazılımı (firmware) ve tüm örnek seti 4.8.1 sürümüne güncellenmiştir. Betik yazma API’sinde herhangi bir kırılma yoktur, ancak kaydetmenin artık kamerayı çıkarmaması ve başlatma sırasındaki birkaç seri bağlantı bayrağının kaldırılması, kullanıcı tarafından görülebilen iş akışı değişiklikleridir.
Öne çıkanlar¶
OpenMV Protocol V2, CRC32, sıralama, ACK/NAK, yeniden iletim, olaylar ve parçalama içeren yeni bir yüksek güvenilirlikli kamera yığınıdır (
OMVCamera/OMVTransport/OMVDebug). Bağlantı sırasında otomatik olarak müzakere edilir ve sıfırlama, önyükleme, akış, betik yürütme ve istatistikleri yönetir.Code Profiler, kameradan işlev başına profil oluşturma kayıtlarını sorgulayan ve çağrıları, min/maks/toplam/ortalama mikrosaniyeyi (μs), ortalama döngüleri, yüzdeyi ve olay sayaçlarını sıralanabilir bir tabloda gösteren yeni bir penceredir (
Window>Show Code Profiler).Yerinde kaydetme artık kamera sürücüsünü çıkarmaz; IDE artık
main.pydosyasını yazar ve birimi diske aktarır, böylece cihaz bağlı kalır.Çoklu sensör tespiti, bir karttaki her kamerayı bildirir; durum çubuğunda ana sensör önce listelenmiş şekilde
Sensors: X, Yolarak gösterilir.Dinamik Çerçeve Okuma, piksel formatı başına en uygun ham akış çözünürlüğünü yeniden hesaplar ve akışı otomatik olarak yeniden yapılandırır.
Birlikte gelen aygıt yazılımı (firmware) ve örnekler tüm kartlarda 4.8.1 sürümüne güncellenmiştir; yeni GenX320 olay kamerası, TensorFlow ML, Alif OLED ve LCD/Touch-LCD shield örnekleri eklenmiştir.
Yeni özellikler¶
OpenMV V2 iletişim protokolü eklendi: CRC32, sıralama, ACK/NAK, yeniden iletim, olaylar ve parçalama içeren tam bir aktarım ve işlem katmanı, ayrıca bağlantıda otomatik müzakere edilen ve seri sürücüye entegre edilmiş bir
OMVCamerasınıfı (2fde9eb3f, fff1bf2ba, 8c41fcfad, 7fc7ed4bc, 84c3956af, 669039adf, a49259852, 07af1922a, 85f0c7c87, 5070cc213, e314459cc, e0367ca95, 0da2f79d0, 2b6fc9866, 534ecffbe).Code Profiler penceresi (
Window>Show Code Profiler) eklendi; bu pencere işlev başına profil oluşturma kayıtlarını sorgular ve çağrıları, min/maks/toplam/ortalama mikrosaniyeyi (μs), ortalama döngüleri, yüzdeyi ve olay sayaçlarını görüntüler, adresleri birlikte gelen bir ELFIO ELF ayrıştırıcısı aracılığıyla sembollere çözer (019d3cd2c, 57cd9e1cc).Her saniye yenilenen canlı System Info, Host Stats ve Device Stats bilgilerini gösteren, kanal başına sorgulama hızlarını ve birleşik karşı ayrık sorgulama denetimlerini açığa çıkaran bir Debug Protocol Settings iletişim kutusu eklendi (5220a6125, 0da2f79d0).
Çoklu sensör tespiti eklendi: birden fazla kamerası olan bir kart, hepsini durum çubuğunda ana sensör önce gelecek şekilde
Sensors: X, Yolarak bildirir (cebc79ce7).Dinamik Çerçeve Okuma eklendi (varsayılan açık); bu özellik piksel formatı (
BINARY,GRAY,RGB565,ARGB8,JPEG,PNG) başına en uygun ham akış çözünürlüğünü yeniden hesaplar ve akışı yeniden yapılandırır (75c073bdb, 0da2f79d0).BINARY(1-bpp tek renk) veARGB8(32-bit alfa) ham piksel formatları için çerçeve arabelleği (frame buffer) çözme eklendi, böylece bu görüntü türleri artık görüntüleyicide işlenir (dabb82062).Windows’ta Connect artık işletim sistemi tarafından sorunlu olarak işaretlenen USB cihazlarını tarar ve bağlantıyı engelleyebilecek hatalı cihazların bir listesiyle uyarı verir (1a5beb081, 1b59cd78e).
Durum çubuğunda bir kayıt göstergesi eklendi: bağlı kamera için yeşil
Registeredveya mercan rengiUnregistereddüğmesi; karta tıklanarak kart kaydedilebilir (a8c98a4b9).Çerçeve arabelleği (frame buffer) görüntüleyicisi artık çalışan betikten yeni bir
FB_MESSAGEkaçış kodu aracılığıyla gönderilen ortalanmış bir metin mesajını bir görüntü yerine görüntüleyebilir (530048201).Yeni model-zoo girdileri eklendi: ST FastDepth derinlik tahmini modelleri (224/256/320), bir ST kafa-işaret noktaları duruş modeli, avuç içi tespiti ve el-işaret noktaları el modelleri ve bir BlazeFace ön yüz tespiti modeli (551668410, 4d64556d4, fadd6c4ed, b8277bb88, a8c98a4b9).
Yalnızca fabrika derlemesinde bulunan bir öz-test betiği (kamera, IMU, ToF, WiFi, LAN) eklendi; bu betik fabrika IDE varyantında birlikte gelir ve başlatma sırasında otomatik olarak açılır (0db7fbbb0); testin RT1060 LAN bölümü şu anda devre dışıdır (48370d022).
Diğer değişiklikler ve iyileştirmeler¶
Yerinde kaydetme: bir betiği kaydetmek artık kamera sürücüsünü çıkarmaz; IDE
main.pydosyasını yazar ve birimi diske aktarır (Windows’taFlushFileBuffers, Linux’tasyncfs, macOS’tasync_volume_np/F_FULLFSYNC), böylece cihaz bağlı kalır (1614c572f, 6928b51ea, 35ed53967).Kamera meşgulken tıklanan araç çubuğu eylemleri (çerçeve arabelleğini devre dışı bırakma, JPEG sıkıştırma, betik kaydetme, ayarları yapılandırma) artık bir Meşgul hatası iletişim kutusu göstermek yerine sıraya alınır ve cihaz boşa çıktığında otomatik olarak çalıştırılır (f4315f0a4).
Çerçeve arabelleği (frame buffer) görüntüleyicisi artık varsayılan olarak görünüme sığdırma modundadır, böylece görüntü başlangıçta pencereye otomatik olarak ölçeklenir ve seri terminal çıktı bölmesi artık başlangıçta varsayılan olarak gösterilir (f3ce4dc75).
.liteuzantılı derlenmiş model dosyaları artık her yerde tanınır: model-zoo tarayıcı filtreleme ve görüntüleme, aygıt yazılımı ROMFS hizalama ve Vela/STEdge AI derleyicileri artık.liteçıktısı üretir (f3ce4dc75).STEdge AI (N6) model derleme iletişim kutusu artık NPU RAM ve hyperRAM kullanım yüzdelerini ayrıştırıp bildirir ve yeniden yerleştirilen ağ çıktısını modelin uzantısıyla eşleşen bir dosyaya kopyalar (f3ce4dc75).
Model-zoo tarayıcısı artık boyutu gizlemek yerine dosya Boyutu sütununu gösterir ve ad sütununu sığacak şekilde genişletir (f3ce4dc75).
Yeni betik şablonu, yeni
csimodül API’sine güncellendi ve varsayılan olarak VGA çerçeve boyutunu kullanır, ayrıca birlikte gelen Hello World örneği QVGA’dan VGA çerçeve boyutuna geçirildi (f3ce4dc75).Convert Video iletişim kutusu, renkli çıktı, başarı/başarısızlık mesajları, kapatmak için bir OK düğmesi ve platformda FFMPEG kullanılamadığında net bir hata içeren paylaşılan yükleyici iletişim kutusunu kullanacak şekilde yeniden yazıldı (f56efc7be).
Çerçeve arabelleği (frame buffer) görüntüleyicisi, bir
JPEG/PNGgörüntüsü arabelleğe alınıp gönderilemeyecek kadar büyük olduğunda artık yeni birFB_BUFFER_ERRORkaçış kodu aracılığıyla yanıp sönen bir uyarı gösterir (fda826126).DFU önyükleyici (bootloader) girişi artık V2 protokol aygıt yazılımında önyükleyicinin yerleşik kalmasını zorlar; zorlandığında takılıp kalabilen eski önyükleyicilerde (<1.0.2) düz bir sıfırlamaya geri dönen sürüm tespiti içerir (975857221).
ST nesne tespiti model klasörleri yeniden adlandırıldı ve yeniden düzenlendi (
st_yolo_lc_v1->yolo_lc,tiny_yolo_v2->yolo_v2,yolov8nkişi modelleri düz boyut adlı dosyalara) ve büyüktiny_yolo_v2int8 varyantları kaldırıldı (34240cc3c).Seri zamanlaması artık başlatma sırasındaki komut satırı bayrakları yerine aygıt yazılımı
settings.jsonprotocolgeçersiz kılma anahtarları (overrideReadTimeout,overrideReadStallTimeout,overridePerCommandWaitve V2overrideCRC/overrideSEQ/overrideACKanahtarları) aracılığıyla ayarlanır (019d8bf1d).Python dil sunucusunun satır uzunluğu sınırı flake8 ve pycodestyle için 120 sütuna ayarlandı, böylece uzun satırlar artık varsayılan 79’da işaretlenmez (dabb82062).
Yükleyiciyi küçültmek için Qualcomm model koleksiyonu ve
google/mobilenet_v1models_unusedklasörüne taşınarak birlikte gelen makine öğrenimi model seti azaltıldı (c44ddba20).
Hata düzeltmeleri¶
Aygıt yazılımı indirme ve kaynak güncelleme ilerleme iletişim kutuları,
QPointerkorumaları kullanılarak çökmeye karşı güvenli hale getirildi; böylece indirme ortasında kapanırsa artık silinmiş bir iletişim kutusunu kullanmazlar (f3ce4dc75).Sürücü tarama artık kameranın USB sürücüsü bulunana kadar yeniden taramaya devam eder ve bağlantı kesildiğinde eski sürücü girdilerini temizler, böylece önceki tek seferlik zamanlayıcı geçici çözümü ortadan kalkar (a31d41b4e).
Çeşitli bağlantı ve seri düzeltmeleri: gizli sensörler (örn.
SoftCSI) artık görüntülenen sensör türünü karıştırmaz, bir Windows seri keep-alive zamanlayıcısı USB takılmalarını önler, Start artık zaten çalışan bir betiği yeniden başlatmaz ve kamera kanalı port kapanışında temiz bir şekilde kesilir (a8e467be6).Profil oluşturma görünümü, sütun başına PMU olay sayacı seçimini (işaretlenebilir olay menüleri) ve geçici olarak devre dışı bırakılmış olan kaydedilmiş sayaç/başlık durumunu geri yükledi (40c679e90).
Platform ve araç desteği¶
Qt Creator tabanı: 14.0.2.
Birlikte gelen aygıt yazılımı (firmware): 4.7.0’dan 4.8.1’e güncellendi; OPENMV2/3/4/4P/PT, OPENMV_N6, OPENMV_AE3, OPENMV_RT1060 ve Arduino GIGA/Nicla Vision/Portenta H7 kartları için aygıt yazılımı yeniden derlendi (2657818ca).
RT1062 ve AE3 kartları için macOS’taki protokol sürümü el sıkışması, çoklu komut USB aktarımı bu kartların işleyebileceği
USBDBG_LENboyutlu parçalara bölünerek düzeltildi (6b9d5f842).Birlikte gelen Windows sürücü paketi yeniden düzenlendi: kart başına imzalı
.cat/.infsürücü dosyaları (AE3, H7, H7Plus, M4, M7, N6, Pico/PT, RT1062) eklendi ve CDC seri sürücüleri, dpinst tabanlı bir otomatik yükleyici ile yeni biropenmvcdcklasörüne taşındı (439557829, ba3b01bfb).Sensör kimlikleri
0x1311ve0x1312(mevcut0x1313ile birlikte)MT9V0X2olarak kaydedilerek eski MT9V032 kamera sensörü revizyonları için destek eklendi (eaaa624e3).
Kırılma yaratan değişiklikler¶
Bu sürümde betik yazma API’sinde herhangi bir kırılma yoktur, ancak kullanıcı tarafından görülebilen birkaç iş akışı değişikliği vardır:
Bir betiği kaydetmek artık kameranın USB sürücüsünü çıkarmaz veya bağlantısını kesmez. IDE artık birim arabelleklerini yerinde diske aktarır, böylece cihaz kaydetme işleminden sonra bağlı kalır.
Başlatma sırasındaki seri bayraklar
-override_read_timeout(varsayılan 5000 ms),-override_read_stall_timeout(varsayılan 1000 ms) ve-override_per_command_wait(varsayılan 1 ms, macOS’ta 2 ms) kaldırıldı; seri zamanlaması artık aygıt yazılımısettings.jsondosyasındakiprotocolgeçersiz kılma anahtarları aracılığıyla yapılandırılır (019d8bf1d).Birlikte gelen önyükleyiciler (bootloader) artık yalnızca
.binolarak gönderilir; kart başına.dfuaygıt yazılımı ve önyükleyici dosyaları kaldırıldı.