v2.4.0

v2.4.0, Qt Creator 4.0.2 üzerine inşa edilmiştir ve odak noktası yeni V3 önyükleyici (bootloader) (aygıt yazılımı yüklemesi sırasında QSPI flash bellek düzeni sorgusu ve tam yerleşik veri flash belleği silme işlemi sırasında silme), durum çubuğunda canlı sensör ve kart bildirimi ve birlikte gelen aygıt yazılımıyla eşleşen yeni bir 32 bit USB hata ayıklama protokolüdür. Ayrıca ilk çalıştırma LED kılavuzu ile çok sayıda yeni TensorFlow, Modbus ve WiFi örneği eklenmiştir. Hata ayıklama protokolü değiştiği için, kameraların bağlanabilmesi için yeni birlikte gelen aygıt yazılımını çalıştırması gerekir.

Öne çıkanlar

  • V3 önyükleyici (bootloader) desteği, aygıt yazılımı yüklemesi sırasında bir kartın harici QSPI flash belleğinin düzenini sorgular ve tam yerleşik veri flash belleği silme işlemi sırasında bunu siler (d953df62f).

  • Sensör ve kart bildirimi, bağlantı sırasında bağlı kameranın sensör modülünü sorgular ve durum çubuğunda yeni bir kart türü etiketiyle birlikte gösterir (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) (0ffa82958).

  • TensorFlow model kopyalama, yalnızca .network sinir ağı dosyalarını değil, .tflite modellerini de kameraya kopyalamanıza olanak tanır (ad1aa98f0).

  • Yerleşik Veri Flash Belleğini Sil, aygıt yazılımını yeniden yüklemeden, bir onay isteminin ardından yalnızca kameranın yerleşik dosya sistemi flash belleğini silen yeni bir Tools komutudur (d953df62f, 98686ac46).

  • İlk çalıştırma LED kılavuzu, yerleşik LED durumlarını açıklayan ve kalıcı olarak kapatılabilen yeni bir OpenMV Cam LED Colors iletişim kutusudur (c2d00422f).

Yeni özellikler

  • V3 önyükleyici (bootloader), aygıt yazılımı yüklemesi sırasında QSPI flash bellek düzenini sorgular ve harici QSPI flash belleği yalnızca tam yerleşik veri flash belleği silme işlemi sırasında siler; connectClicked V3 kartlarında her zaman bootloaderQSPIFLayout komutunu çalıştırır ancak bootloaderQSPIFErase komutunu yalnızca forceFlashFSErase ayarlandığında çalıştırır (QSPI yazma/memtest komutları IO katmanında uygulanmıştır ancak yükleyici tarafından kullanılmaz) (d953df62f).

  • Sensör ve kart durumu, bağlantı sırasında kameranın sensör modülünü sorgular ve durum çubuğunda yeni bir kart türü etiketiyle birlikte yeni bir sensors.txt kimlik-ad eşlemesi kullanarak görüntüler (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) (0ffa82958).

  • İlk çalıştırma LED kılavuzu, ilk çalıştırmada açık belge helloworld_1.py olduğunda kısa bir gecikmenin ardından açılan ve yerleşik LED durumlarını açıklayan yeni bir OpenMV Cam LED Colors iletişim kutusu ekler (yanıp sönen yeşil = önyükleyici çalışıyor, mavi = main.py çalışıyor, beyaz = donanım arızası paniği); “Don’t show this message again.” onay kutusu, kapatma tercihini bir DONT_SHOW_LED_STATES_AGAIN ayarı aracılığıyla kalıcı kılar (c2d00422f).

  • OpenMV Cam Sürücü klasörünü aç, kameranın bağlı sürücüsünü sistem dosya tarayıcısında açan yeni bir Tools menü öğesidir (a49f54305).

  • Yerleşik Veri Flash Belleğini Sil, aygıt yazılımını yeniden yüklemeden, bir onay isteminin ardından yalnızca yerleşik dosya sistemi flash belleğini silen yeni bir Tools komutudur (d953df62f, 98686ac46).

  • TensorFlow model kopyalama, model kopyalama iletişim kutusunun .network sinir ağı dosyalarına ek olarak .tflite modellerini de kameraya kopyalamasına olanak tanır; iletişim kutusu filtresine ayrıca Label Files (*.txt) ve All Files girişleri eklenmiştir (ad1aa98f0, 0ffa82958, c0dbdd9e5).

  • Hata ayıklama protokolü sürüm anahtarı, güvenilirlik için aygıt yazılımı 3.5.3+ ile iletişim kurarken GetAttribute, SetAttribute, FBEnable ve JPEGEnable seri komutlarını parçalara böler (83b9ca18f).

  • Yeni birlikte gelen örnekler, TensorFlow Lite mobilenet ve kişi tespiti kayan pencere betikleri ile birlikte bir STM32Cube.AI (nn_stm32cubeai.py) MNIST örneği, yeni bir 32-modbus klasörü (modbus_rtu_slave.py, modbus_apriltag.py), WiFi shield eklentileri (http_client_ssl, static_ip, mqtt_pub/mqtt_sub), Arduino UART/SPI-slave ve CAN ekler (e26b90d79, 42ba8f5c4).

Diğer değişiklikler ve iyileştirmeler

  • USB hata ayıklama protokolü yeni aygıt yazılımına güncellendi: öznitelik okumaları yeni 32 bit ATTR_READ_2 (0xCA) komutunu kullanır ve öznitelik, değer ve çerçeve arabelleği etkinleştirme yükleri 16 bit sözcükler yerine 32 bit long olarak gönderilir (55d7cfe70).

  • Save open script to OpenMV Cam, main.py dosyasına yazdığını netleştirmek için Save open script to OpenMV Cam (as main.py) olarak yeniden etiketlendi (a49f54305).

  • Run Bootloader, amacını netleştirmek için Run Bootloader (Load Firmware) olarak yeniden etiketlendi (ad1aa98f0).

  • Örnek menüleri artık sayısal klasör/dosya önekine göre sıralanıyor ve görüntülenen adlardan baştaki NN- rakamları çıkarılıyor (ad1aa98f0).

  • Çıktı ve seri terminaller artık sekmeleri, sabit kodlanmış 8 genişlik yerine metin düzenleyici ayarlarından gelen yapılandırılabilir bir seri terminal sekme genişliği kullanarak boşluk olarak işliyor (98686ac46).

  • Linux sürücü algılama, kamera sürücüsünü ilişkilendirirken artık fuseblk ile bağlanmış dosya sistemlerini de (örneğin exFAT/NTFS birimleri) kabul ediyor (c0dbdd9e5).

  • IDE yardımında gösterilen birlikte gelen MicroPython HTML belge seti (kütüphane referansı, esp8266/esp32 eğitimleri, oluşturulan sayfalar ve görseller) güncellendi (e69d71f7c, 90b5c6eb5, 97b0f645a).

Hata düzeltmeleri

  • Akümülatörler int türünden 64 bite genişletilerek histogram istatistiklerindeki (ortalama, çeyrekler, medyan, standart sapma) sayısal taşma düzeltildi; bu, büyük görüntülerde yanlış istatistikleri önler (55d7cfe70).

  • Linux’ta bağlantı kesme/çıkarma yeniden düzenlendi: güvenilir olmayan syncfs/closedir boşaltması kaldırıldı ve sürücü artık ilerleme iletişim kutusu olmadan düz bir umount komutuyla ayrılıyor (b86d5c62c, c0dbdd9e5, 30d4a7d2d).

  • Kartın USB sürücüsü artık yalnızca aygıt yazılımı yeterince yeni olduğunda veya bir .openmv_disk işaretçi dosyası mevcut olduğunda ilişkilendiriliyor; bu, IDE’nin yanlış çıkarılabilir sürücüyü yakalamasını önler (e464eaed4).

  • Yeniden bağlanma mantığı düzeltildi, böylece bağlıyken bir önyükleyici/silme işlemi tetiklemek artık önce temiz bir şekilde bağlantıyı kesip ardından yeniden deniyor ve takılı kalmış bir çalışma durumundan kaçınılıyor (d953df62f).

  • Betikleri kameraya gönderirken kullanılan yorum/boşluk temizleyici, dizge farkındalıklı bir durum makinesi olarak yeniden yazıldı; böylece dizgeler içindeki # karakterleri artık yorum sanılmıyor ve sondaki boşluklar ile docstring’ler işleniyor (24dff1b2f).

  • Birkaç bağlantı/terminal iletişim kutusu mesajı için çeviri dizgesi işleme düzeltildi, böylece gömülü kabuk komutları (sudo adduser, pydfu kurulum adımları) artık çevrilebilir metnin bir parçası değil ve doğru şekilde işleniyor (b5705a57e).

Platform ve araç desteği

  • Qt Creator tabanı: 4.0.2.

  • OpenMV Cam H7 Plus kartı/aygıt yazılımı OPENMV4R adından OPENMV4P (OMV4P_H7_32768_SDRAM) adına yeniden adlandırıldı ve aygıt yazılımı yeni ad altında birlikte sunuldu (c0dbdd9e5).

  • H7 Plus kartının görüntülenen adı, boşluklar yerine alt çizgi kullanacak şekilde düzeltildi (OpenMV_Cam_H7_Plus_(STM32H743_w/_SDRAM)) (75764132c).

  • Birlikte gelen aygıt yazılımı, sürüm boyunca güncellendi ve OPENMV2/3/4/4P için 3.5.2 sürümünde sona erdi (son artış 15c07498c içinde; daha önceki kümülatif artışlar 42ba8f5c4 ile 3.4.2’ye, a99c2e3e1 ile 3.4.3’e, e26b90d79 ile 3.5.0’a ve 97b0f645a ile 3.5.1’e).

  • Birlikte gelen aygıt yazılımı sürümleri: OPENMV2 (Cam M4) 1.4.11, OPENMV3 (Cam M7) 1.4.11, OPENMV4 (Cam H7) 1.2.15, OPENMV4P (Cam H7 Plus) 1.2.15.

  • OpenMV IDE sürümü 2.2.1’den 2.4.0’a yükseltildi.

Geriye dönük uyumsuz değişiklikler

USB hata ayıklama öznitelik okuma protokolü, eski 16 bit ATTR_READ (0x8A) komutundan yeni 32 bit ATTR_READ_2 (0xCA) komutuna geçirildi ve öznitelik, değer ve etkinleştirme yükleri artık 32 bit long olarak gönderiliyor; IDE ayrıca bağlantı sırasında kamera sensör kimliğini sorguluyor. Bu, yeni protokolü uygulayan bir aygıt yazılımı gerektirir. Birlikte gelen 1.2.15 / 1.4.11 aygıt yazılımı bunu sağlar, dolayısıyla eski kameraların bağlanabilmesi için yeni aygıt yazılımına güncellenmesi gerekir.