v4.4.0¶
v4.4.0, OpenMV IDE’yi uzun süredir kullanılan Qt Creator 10.0.1 tabanından Qt Creator 14.0.2’ye taşıyan, tam OpenMV eklentisini ve her bir fork özelleştirmesini daha yeni tabanın üzerine yeniden uygulayan büyük bir modernizasyon sürümüdür. Bunun yanı sıra bu sürüm, çevrimdışı kod tamamlama için gömülü bir Python dil sunucusu paketler, GitHub Copilot’u her platformda etkinleştirir, yeni bir özel OpenMV DFU önyükleyicisi (bootloader) sunar ve OpenMV kameralarını yeni bir 37C5 USB satıcı kimliğine (vendor ID) taşır. Taban değişikliği büyük bir dahili modernizasyondur ancak kullanıcı projelerini bozmaz; az sayıdaki kullanıcıya görünür iş akışı değişikliği için Bozucu değişiklikler bölümüne bakın.
Öne çıkanlar¶
Qt Creator 14.0.2’ye geçiş. IDE, Qt Creator 10.0.1’den 14.0.2’ye geçiyor; tüm OpenMV eklentisi ve tüm
// OPENMV-DIFF //özelleştirmeleri modern tabanın üzerine yeniden uygulanıyor (d6c895be8, 1fa75b397).Gömülü Python dil sunucusu. IDE artık paketlenmiş bir
pylsp(astroid 3.3.5 ile) içeriyor ve bunu otomatik kullanıyor; bu, Windows, macOS ve Linux x86_64’te ayrı bir pip kurulumu olmadan çevrimdışı Python/MicroPython kod tamamlaması sağlıyor (257addee0, 5a2b3e72f, 94470798d).Tüm platformlarda GitHub Copilot. Copilot entegre edildi ve varsayılan olarak etkinleştirildi; Windows, macOS ve Linux için paketlenmiş bir Node.js 20.18.0 çalışma zamanı ile artık yalnızca belirli makinelerle sınırlı değil, ayrıca onu açmak için bir başlangıç iletişim kutusu eklendi (bb07d582b, 1cb967c5a, b37e48040).
Yeni OpenMV DFU önyükleyicisi. Tam olarak uygulanmış özel bir
openmv_dfuönyükleyici (bootloader) akışı, aygıt yazılımı (firmware) güncellemelerinisettings.jsonüzerinden yönetir; bu, en son sürümü yükle, belirli aygıt yazılımını yükle ve dosya sistemini sil seçeneklerini sunan bir “DFU modunda kart algılandı” iletişim kutusunun yanı sıra, kullanılamaz hale gelmiş kameraları kurtarmak için bir yedek önyükleyici yolu içerir (08b9d0676, 6a6a9351d, 6d78d6571).Yeni kamera desteği. OpenMV Cam N6, RT1062 ve AE3 kartları eklendi ve kameralar güncellenmiş DFU sürücüleri ve udev kurallarıyla birlikte yeni
37C5USB satıcı kimliğine (vendor ID) taşındı (000ed8a87, f453bc945, 4a16e04c2, 6d78d6571).Daha güvenilir seri iletişim. Büyük seri iletişim düzeltmeleri, TinyUSB tabanlı kameralarda bozuk terminal metni ve rastgele bağlantı kopmalarını çözer (caeba6a16, 6cf122a3c).
Yeni özellikler¶
OpenMV DFU önyükleyicisi. Özel DFU sürücüleri ve bir yedek önyükleyici mekanizması içeren yeni bir
openmv_dfuönyükleyici (bootloader) sistemi, aygıt yazılımı türleri genelinde kullanılamaz hale gelmiş kameraları kurtarır (6a6a9351d, 6d78d6571). Akış, aygıt yazılımı (firmware) güncellemelerinisettings.jsonüzerinden yönetir ve en son sürümü yükle, belirli aygıt yazılımını yükle ve dosya sistemini sil seçenekleriyle bir “DFU modunda kart algılandı” iletişim kutusu sunar (08b9d0676, ef19133b6, 9c59d113c).Bağlantı noktası seçicide kart adı. Seri bağlantı noktası seçim iletişim kutusu artık her bağlantı noktasını yoklar ve çıplak bir bağlantı noktası adı yerine algılanan kart adını bağlantı noktasının yanında gösterir (ör.
COM3: OpenMV Cam H7) (9837d6cb5).Sekmeli düzenleyici. Sekmeli düzenleyici eklentisi geri getirildi; düzenleyici alanının üstüne açık dosyalar arasında geçiş yapmak için bir belge sekmeleri satırı ekler (c8519c09f) ve artık sekme sıralamasını oturumlar arasında saklayıp geri yükler (55ccfb207).
Python sözdizimi vurgulaması. Düzenleyici için dizi biçimi, kayan nokta ve anahtar kelime kurallarıyla özel bir Python sözdizimi vurgulama tanımı ekler (9be46c0c3).
Diğer değişiklikler ve iyileştirmeler¶
Aygıt yazılımı yükleme yeniden düzenlemesi. Aygıt yazılımı yükleme kodu, tür başına ayrı önyükleyici işleyicilerine (OpenMV DFU, Arduino DFU, BOSSAC, i.MX, picotool) bölündü; Arduino DFU kartları için sıfırlamaya-dokun PID işleme ve alternatif VID/PID cihazları için açık “Legacy” kart varyantları eklendi (9f465f9f8).
STM32 ROM önyükleyici güvenlik önlemleri. IDE artık STM32 ROM kurtarma önyükleyicisine
firmware.dfu/openmv.dfuyüklenmesi konusunda uyarıyor veya bunu engelliyor; bir çip ROM önyükleyici hatasından etkilenen STM32H7 kartlarının kullanılamaz hale gelmesini önlemek için yalnızcabootloader.dfuöneriliyor (c5ce0ae1a, e7cde1ec1).Otomatik, sessiz Python LSP kurulumu. Python dil sunucusu artık bilgi çubuğu istemleri veya konsol mesajı kalabalığı olmadan otomatik olarak kuruluyor ve güncelleniyor (d89f5985f) ve Python otomatik tamamlama/belge üzerine gelme sistemi, paketlenmiş HTML kütüphane belgelerini ayrıştırarak anahtar kelime vurgulaması ve araç ipuçlarını yönlendiren özel bir OpenMV belge motoruna dönüştürüldü (47e02873b, 4f9853f21, 82cefc931).
Linux Python yorumlayıcı algılama. Linux’ta yorumlayıcı algılama artık otomatiktir; yalnızca
PATHiçindeki Python 3 yorumlayıcılarını dikkate alır ve en yenisini tek varsayılan olarak seçer (214fdc758).Python ayarları temizliği. Yorumlayıcı başına yönetim grubu ve Interpreters sayfası gizlendi, Language Server Configuration bir
Pythonkategorisi altına yerleştirildi ve kullanılmayan REPL ve yorumlayıcı seçici araç çubuğu düğmeleri Python düzenleyicisinde gizlendi (d89f5985f). Windows’ta IDE artık paketlenmiş gömülüpython.exedosyasını varsayılan yorumlayıcı olarak otomatik kaydediyor ve paketlenmiş dil sunucusu zaten kurulu kabul ediliyor (1d9ca003e, d89f5985f).Daha temiz profil dizini. IDE artık kullanılmayan Qt Creator ayar dosyalarını (cihazlar, kitler, araç zincirleri, Qt sürümleri) yazmıyor ve dosyaları doğrudan düzenleyicide açıyor (3771b0107), artık sistemde qmake/Qt sürümlerini taramıyor (42807f25f) ve kullanılmayan cihaz/araç zinciri/kit mekanizmalarını yüklemekten ve başlangıç gürültüsünden kaçınıyor (902a357de, b2666a35b).
Daha güvenli güncellemeler. IDE’yi güncellemek artık kullanıcı kaynaklarını ezmiyor; yalnızca yönetilen kaynak klasörleri (örnekler, aygıt yazılımı, html, modeller) kaldırılıp yeniden kopyalanıyor, ek olarak
micropython-headerskaldırılıyor (bu yol üzerinden yeniden kopyalanmak yerine ayrı olarak kuruluyor) vefirmware/settings.jsoneksik veya geçersizse daha net bir hata veriliyor (b4b8c208d, 3255ba4fb).Daha hızlı DFU bağlantısı. DFU bağlantı bekleme süresi azaltıldı, böylece flaşlama ve bağlanma daha hızlı (11d8c9fe3, 4700bf678).
Geri getirilen OpenMV menüsü ve arayüz özelleştirmeleri. Sadeleştirilmiş OpenMV menü düzeni yeniden uygulandı; Build ve Debug menüleri gizlendi ve proje yönetimi eylemleri kaldırıldı (7503f2bec); kod tamamlama motoru, MicroPython otomatik tamamlama için sınıf/yöntem farkındalığını ve genel/özel anahtar kelime kapsamlarını yeniden kazandı (55fc348ea); terminal ANSI renk işleme, tema farkında parlak/soluk değerleri ve imleç-geri kaçış desteğiyle yeniden uygulandı (c6787a27a); ve görüntü görüntüleyici araç çubuğu, çözünürlük/yakınlaştırma araç ipuçları ve yeniden konumlandırılmış bir Ekrana Sığdır eylemiyle özelleştirildi (734fec693).
Geri getirilen paketlenmiş kaynaklar. Flaşlama araçları, DFU sürücüleri, aygıt yazılımı ve tam örnek/betik ağacı, geçiş sonrası soyma işleminin ardından paylaşılan kaynaklara geri getirildi (33c8354bc) ve OpenMV’nin özel uygulama başlangıç mantığı yeniden uygulandı:
TextEditoreklentisini kesinlikle zorunlu kılar (OpenMV ve TabbedEditor eklenti kontrolleri mevcut ancak devre dışı), özel bir Qt mesaj işleyicisi kurar,-client/-pid/-blockkomut satırı seçeneklerini kaldırır ve tek örnek davranışını zorunlu kılar (06c788f3d).Eksik eklenti hatası. Uygulama artık gerekli eklentiler eksik veya devre dışıysa net bir hatayla kesin olarak başarısız oluyor, OpenMV eklentisi bir Copilot bağımlılığı kazandı ve birkaç metin düzenleyici seçeneği (Behavior ayarlarındaki
Prefer single line commentsve yorum konumu seçici ile Display ayarlarındakiHighlight selection) gizlendi (1bc02b1f3).Daha kısa seri zaman aşımları. Seri protokol zaman aşımları, daha hızlı başarısızlık geri bildirimi için kısaltıldı (okuma 10000’den 5000 ms’ye, yazma 6000’den 3000 ms’ye) ve belgelenen
-override_read_timeoutvarsayılanı buna uyacak şekilde güncellendi (641385af4).Takılı kalan bağlantı noktası kurtarma. Komut ortasında takılı kalan seri bağlantı noktaları artık bir betik çalıştırma sorgusu yerine bir
GET_STATEsorgusu (get-state ayarı üzerinden yapılandırılabilir) kullanılarak kurtarılıyor (a8598f550).Ayarlar iletişim kutusu sırası. Ayarlar iletişim kutusu, sayfa listesinin OpenMV’nin amaçladığı sırada kalması için alfabetik kategori sıralama onay kutusunu gizler (1cb967c5a).
Copilot ayarları sadeleştirildi. Copilot ayarları sayfası yalnızca oturum açma/kimlik doğrulama ve proxy denetimlerine indirgendi; Copilot’u etkinleştir, Node.js yolu, dist yolu ve otomatik tamamlama seçenekleri gizlendi (1cb967c5a).
Hata düzeltmeleri¶
Seri okuma takılma zaman aşımı 10 kat artırılarak ve seri terminal metnini bozan
GET_STATEtabanlı bir takılma giderme yolu devre dışı bırakılarak büyük seri iletişim sorunları düzeltildi (caeba6a16).Bir çerçeve dökümü kilit açma komutu vererek ve bağlantıyı kesmek yerine okuma takılma işlemesini yeniden düzenleyerek TinyUSB tabanlı kameralarda rastgele seri bağlantı kopmaları düzeltildi (6cf122a3c).
Kamera
get_stateişlemesi kısa/eksik yanıtlara karşı toleranslı hale getirildi ve hata kurtarma sırasında arabelleğe alınan seri terminal metninin temizlenmesi sağlanarak günlük çıktısının kaybolmaması garanti edildi (c8b4248a6, 247a779dd).OpenMV Cam aygıt yazılımı yüklemesi için DFU önyükleyici flash bölümü/alt ayar numaraları düzeltildi (a8700d12d).
Yeni bir
hiddenkart bayrağına uyularak, seri numarası filtrelemesi ters filtrelere geçirilerek ve Arduino Nano RP2040 Connect UF2 girişine çalışan bir picotool yapılandırması verilerek tüm önyükleyiciler geri getirildi (63cee629b).İnsan tarafından okunabilir ve IMX kart türü seçimleri için ayrı geçmiş anahtarları kullanılarak önyükleyici kart türü seçim iletişim kutusunun yanlış değeri hatırlaması düzeltildi (a3325af32).
Ortalama çerçeve aralığı mikrosaniye cinsinden hesaplanarak, yeni bir v21
ImageWriterzaman biçimi desteklenerek ve dönüştürme sırasında boş pixmap’lere karşı koruma sağlanarak video kod dönüştürme (Video Kaydet) zaman damgası/kare hızı hesaplaması düzeltildi (f5c75c749, f8f762b3e).Boş (null) bir pixmap alındığında histogram/çerçeve arabelleği görünümündeki bir çökme,
pixmapUpdate()boş verilere karşı korunarak düzeltildi (622cf5ea8).Metin düzenleyicideki üzerine gelme açıklama araç ipuçları geri getirildi, böylece metin işaretlerinin üzerine gelindiğinde açıklama araç ipucu tekrar görünüyor (1852d18e1).
GitHub Copilot ve LED renkleri bilgi iletişim kutularının, IDE bağlanmak veya flaşlamakla meşgulken açılması engellendi (f8f762b3e).
Dil istemcisine çökme koruması eklendi, böylece belge içeriği değişikliği işleme artık uç durumlarda IDE’yi çökertmiyor (7926ffe4c).
Python eklentisinin çıkmadan önce devam eden kontroller için eşzamansız olarak beklemesi sağlanarak, temiz bir IDE kapatmasını engelleyen Python dil sunucusu kontrolleri düzeltildi (9ff6c7936).
Linux’ta Python otomatik tamamlama düzeltildi: dil istemcisi kendini paketlenmiş
micropython-headersüzerine köklendiriyor ve gereksiz düzenleyici araç çubuğu tamamlama açılır penceresi eylemi gizlendi (d37f66a9a, 56e748f9d, 016fa73eb).Geçici/kaydedilmemiş dosyaların işlenmesi düzeltildi, böylece Farklı Kaydet dosya iletişim kutusunun başlangıç dizinini kullanıyor ve Öğeleri Kaydet iletişim kutusu ile Diff düzenleyici artık dahili geçici dosya yollarını göstermiyor (b7f0bb378, c8e7b6b8f, 6b128c34c).
Başlıksız/geçici bir arabelleği kaydetmek artık Farklı Kaydet iletişim kutusunu boş bir ad yerine uygun bir
.pydosya adına varsayılan olarak ayarlıyor (3001fdfff).Geçici/başlıksız belgeler artık değiştirildiğinde kaydedilmek üzere sunuluyor, otomatik kaydetmeden hariç tutuluyor ve Farklı Kaydet üzerinden doğru şekilde yönlendiriliyor (f87b71cf0).
Son Dosyalar menüsü sıralaması düzeltildi, böylece zaten listelenmiş bir dosyayı yeniden açmak artık onu yeniden sıralamıyor ve dosya iletişim kutusu artık projeler dizinine varsayılan olarak açılıyor (d49c0c993).
İşaretlenebilir mesaj kutularında zengin metin biçimi artık zorlanmayarak mesaj kutusu metin işleme düzeltildi, böylece ham metin doğru görüntüleniyor (0c565502f).
Araç ipucu renkleri düzeltildi, böylece araç ipuçları açık temada doğru işleniyor (35cbf077b).
Çekirdek ayarlar, dil istemcisi, MSVC araç zinciri, proje gezgini ve Python eklentileri genelinde genel Qt Creator kararlılık ve temizlik düzeltmeleri (836b163dc, 134f43cb8).
Arduino Nano 33 BLE Sense paketlenmiş aygıt yazılımı klasör adı düzeltildi (b1d8ac227) ve AE3 DFU önyükleyici ürün kimliği için Linux udev kuralı düzeltildi; udev’in büyük/küçük harfe duyarlı
idProducteşleşmesinin çalışması için96E3küçük harfli96e3olarak düzeltildi (2cd43c96b). AE3 DFU önyükleyici Linux udev kuralı ayrıcaopenmvdfusembolik bağlantısı için37c5:afe3ürün kimliğine güncellendi (b99555637).
Platform ve araç desteği¶
Qt Creator tabanı: 14.0.2 (10.0.1’den geçiş yapıldı).
OpenMV Cam N6 artık destekleniyor (VID:PID 37C5:1206, DFU önyükleyici 37C5:9206); aygıt yazılımı ayarları, bir Windows DFU sürücüsü ve bir Linux udev kuralı dahil (000ed8a87, 1b950c8c6).
OpenMV Cam RT1062 artık yeni bir özel USB VID/PID (37C5:1060) altında destekleniyor; DFU sürücüleri, udev kuralları ve eski birimler için korunan eski 1209:ABD1 girişleri dahil (f453bc945, d55d6441f).
OpenMV Cam AE3 artık destekleniyor; Windows DFU sürücüleri, aygıt yazılımı/yapılandırma görüntü ağacı ve USB VID/PID (37C5:16E3 çalışma zamanı / 37C5:96E3 önyükleyici olarak güncellendi) dahil (4a16e04c2, cc52e76f5, 3f75e7de4, 8eb80b129).
Yeni USB VID/PID sistemi: OpenMV kameraları, yeni önyükleyici/DFU kimlikleriyle (ör. 37C5:1202/9202 M4, 1203/9203 M7, 1204/9204 H7, 124A/924A H7 Plus, 1205/9205)
37C5satıcı kimliğine taşınıyor; eski 1209:ABD1 kartları Legacy olarak yeniden etiketlenirken hem eski hem de yeni aygıt yazılımı desteklenmeye devam ediyor (6d78d6571, 6a6a9351d, 500b1a0bf).PAG7936 görüntü sensörü, tanınan sensör listesine eklendi (f9e3f3461).
Gömülü Python 3.13 yorumlayıcısı macOS, Linux x86_64, Linux arm64 ve Linux arm için paketlendi (9133b1516); yerel
libpython3.13veujsonpaylaşılan kütüphaneleriyle birlikte (d3aa663d8, a2cb24e74).Paketlenmiş dil sunucusu: Windows, macOS ve Linux x86_64’te astroid 3.3.5 ile
pylsp(257addee0). Windows derlemesi, python-lsp-server 1.12.0, jedi 0.17.2, docstring_to_markdown 0.15, pip 24.2 ve distlib 0.3.9 ile gömülü bir CPython içerir (9b6434602, 069807cd3, 5f2e45196, 3b6c6c312).Paketlenmiş Node.js 20.18.0 “Iron” LTS çalışma zamanı, tüm platformlarda GitHub Copilot’u etkinleştirmek için Windows, macOS, Linux arm64, Linux x64 ve Linux armv7 için (bb07d582b, 6db78bf45, 1cb967c5a).
Alif Security Toolkit imzalı boot/sistem paketi ikili dosyaları ve kullanıcı kılavuzu, Alif tabanlı OpenMV kameraları (ör. AE3) sağlama amacıyla Windows, macOS ve Linux x86_64 için paketlendi (f63851be3).
Linux masaüstü entegrasyonu geri getirildi; bir uygulama masaüstü girişi ve AppStream meta verisi kuruluyor ve Python (
.py) MIME türü kaydediliyor (3fa25f571).
Bozucu değişiklikler¶
Hiçbir betik API’si değişmedi. Aşağıdaki kullanıcıya görünür iş akışı ve davranış değişiklikleri fark edilebilir:
Yeni USB satıcı kimliği. OpenMV kameraları yeni ürün ve DFU önyükleyici kimlikleriyle
37C5satıcı kimliğine taşınıyor; eski1209:ABD1VID’sindeki kartlar artık “Legacy” olarak etiketleniyor. IDE hem eski hem de yeni aygıt yazılımını aynı anda destekliyor, ancak Linux kullanıcıları yeni kimliklerin tanınması için güncellenmiş udev kurallarını yeniden kurmalıdır.Eski kart girişleri gizlendi. OpenMV Cam M4/M7/H7/H7 Plus/Pure Thermal kartlarının eski varyantları artık yeni bir
legacykart bayrağı (önceden var olanhiddenbayrağından farklı) aracılığıyla aygıt yazılımı/kart seçim listesinden bastırılıyor, böylece özellikle eski bir kart girişine ihtiyaç duyan kullanıcılar artık bunu açılır menüde görmeyecek (6d78d6571).Daha kısa seri zaman aşımları. Varsayılan yanıt okuma zaman aşımı 10000 ms’den 5000 ms’ye ve yazma zaman aşımı 6000 ms’den 3000 ms’ye düşüyor (
-override_read_timeoutvarsayılanı artık 5000 olarak belgeleniyor). Daha uzun varsayılanlara güvenen yavaş kartlar/bağlantılar daha erken zaman aşımına uğrayabilir.
Qt Creator 14.0.2 geçişi büyük bir dahili modernizasyondur ancak kullanıcı projeleri için bozucu değildir.