v4.0.0¶
v4.0.0 büyük v3 → v4 sürümüdür. Modern çok-çerçeveli sensor arabellekleme API’sini (çift / üçlü arabellekleme ve bir video FIFO), bir çerçeve tamamlama geri çağırması, Portenta destekli bir Bluetooth modülünü (NimBLE yığını), ilk MT9M114 kamera sürücüsünü, MDMA’ya devredilen kamera yakalamayı, image.draw_image() içinde Bayer/JPEG desteğini getirir ve MicroPython 1.15‘e geçer. Eski akış modu kaldırıldı ve sensor.set_windowing() yeniden düzenlendi — aşağıdaki bozucu değişiklikleri okuyun.
Öne çıkanlar¶
Çok-çerçeveli arabellekleme —
sensordaha yüksek ve daha akıcı kare hızları için çift arabellekleme, üçlü arabellekleme ve bir video-FIFO modu kazanır.Çerçeve tamamlama geri çağırması — engellemesiz yakalama boru hatları için, yeni bir çerçeve hazır olduğunda tetiklenen bir geri çağırma kaydedin.
Bluetooth — NimBLE yığını üzerine kurulu bir
bluetoothmodülü, Arduino Portenta H7 üzerinde etkinleştirildi (bir BLE örneği ile).MT9M114 — ilk kamera sensörü sürücüsü.
Daha hızlı yakalama — kamera veri yakalaması için MDMA devri;
draw_image()artık Bayer ve JPEG kaynaklarını/hedeflerini kabul ediyor.MicroPython 1.15 — paketlenmiş MicroPython 1.13’ten 1.15’e güncellendi.
Bozucu: eski akış modu kaldırıldı ve
sensor.set_windowing()yeniden düzenlendi — bozucu değişikliklere bakın.
Yeni özellikler¶
Sensör çok-arabellekleme —
sensor.set_framebuffers()/sensor.get_framebuffers()veSINGLE_BUFFER/DOUBLE_BUFFER/TRIPLE_BUFFER/VIDEO_FIFOmodları eklendi; ayrıca çift, üçlü ve video-FIFO yakalama içinsensor.get_frame_available()eklendi.Çerçeve tamamlama geri çağırması — her yeni çerçeve bittiğinde bir Python geri çağırmasının çalışması için
sensor.set_frame_callback()eklendi.Bluetooth — NimBLE yığını (NimBLE alt modülü, CYW-BT sürücüsü) tarafından desteklenen bir
bluetoothmodülü eklendi, Arduino Portenta H7 üzerinde bir BLE örneği ile etkinleştirildi.MT9M114 — ilk MT9M114 kamera sensörü sürücüsü eklendi.
draw_image —
image.draw_image()Bayer ve JPEG kaynak/hedef görüntülerini kabul edecek şekilde debayering desteği ve JPEG kopyalama desteği eklendi.MDMA yakalama devri — daha yüksek iş hacmi için kamera veri yakalaması MDMA’ya devredildi.
Bir renk-paleti argümanı artık
-1geçirilerek devre dışı bırakılabilir (Nonegeçerli bir argüman olarak ayrıldığı için).
Diğer değişiklikler ve iyileştirmeler¶
Yeni yazılım I2C uygulamasına geçildi; MicroPython upstream ile hizalandı; kart başına ulab yapılandırması; OpenMV 2 için temel yerleşik modüller etkinleştirildi; daha adil çerçeve arabelleği okuma kilitleme; mutex desteği bir kilit zaman aşımı ile Cortex-M0/M0+’a genişletildi.
Hata düzeltmeleri¶
Kamera ve görüntüleme:
Pure Thermal kartında FLIR Lepton init güvenilirliği, ImageIO JPEG arabelleği / duraklatma işleme, HM01B0 vflip/hmirror ayarları, bir görüntü geçersiz kılındığında JPEG arabelleği temizleme ve framesize geçersiz olduğunda ayarlanan bir
croppedbayrağı düzeltildi.
Sistem ve bağlantı:
USB komut boşaltma ve reset-to-bootloader komutu, mutex init, UART saat kaynağı, FatFS kod sayfası tanımı, WINC1500 bant dışı ACK işleme, WiFi hata ayıklama ve Nano33 USB PID’si düzeltildi; özel analog pad’ler izole edildi.
Donanım ve kart desteği¶
MT9M114 kamera sensörü (ilk sürücü).
Arduino Portenta H7 — bir BLE örneği ile Bluetooth (NimBLE) etkinleştirildi.
Arduino Nano RP2040 Connect / Nano 33 BLE Sense — desteklenmeyen yerlerde WiFi-debug bayrağı devre dışı bırakıldı; blinky örneği eklendi; USB PID düzeltmesi.
Bozucu API değişiklikleri¶
v3.9.4 ile v4.0.0 arasında kullanıcıya görünür API kırılmaları. Kapsam: modules/ içindeki Python C-modülleri ve scripts/libraries/ içindeki Python kütüphaneleri.
Her değişiklik etkisine göre etiketlenmiştir:
major — çoğu betiği etkiler; neredeyse kesinlikle kodu taşımanız gerekecek.
minor — dar API; yalnızca onu kullanan betikleri etkiler.
behavior — aynı API, farklı sonuçlar; ince ayar yapılmış betikleri yeniden kontrol edin.
Değişiklikler bu sırayla etkiye göre gruplanmıştır. Yalnızca kodunuzu taşımak istiyorsanız, sondaki taşıma kontrol listesi bölümüne atlayın. Her commit hash’i GitHub’daki diff’ine bağlanır.
Akış modu kaldırıldı (major)¶
Eski sensör akış modu, yeni çok-çerçeveli arabellekleme API’si lehine kaldırıldı. Akış modunu etkinleştiren kod, DOUBLE_BUFFER / TRIPLE_BUFFER / VIDEO_FIFO ile sensor.set_framebuffers() kullanmaya geçmeli ve yakalamayı bunun yerine sensor.snapshot() / sensor.get_frame_available() ile sürmelidir.
Commit’ler: a42f3a647
sensor.set_windowing() yeniden düzenlendi (behavior)¶
sensor.set_windowing() çok daha esnek hale getirildi: artık birden fazla argüman biçimini (bir bölge demeti, ya da merkezlenmiş genişlik/yükseklik, ya da x, y, w, h) kabul ediyor ve pencereyi geçerli çözünürlüğe göre çözüyor. Pencereleme argümanlarını eski sabit biçimde geçiren betikler farklı bir bölge seçebilir ve yeniden kontrol edilmelidir.
Commit’ler: 3e9c43554
MicroPython 1.13 → 1.15 (behavior)¶
Paketlenmiş MicroPython çekirdeği 1.13’ten 1.15’e (1.14 üzerinden) güncellendi. Standart kütüphane ve dil davranışı upstream MicroPython 1.15’i takip eder; sürüme özgü micropython / standart modül davranışına bağlı betikleri yeniden kontrol edin.
ImageIO update_jpeg_buffer argümanı kaldırıldı (minor)¶
ImageIO JPEG-arabelleği güncellemesi, arabelleği görüntü kaynağı argümanından türetecek şekilde yeniden düzenlendi ve açık update_jpeg_buffer argümanı kaldırıldı. ImageIO’ya update_jpeg_buffer geçiren betikler bu argümanı kaldırmalıdır.
Commit’ler: 5c6937bd1
Taşıma kontrol listesi¶
v4.0.0’a temiz bir taşıma için tipik iş şudur:
Kaldırılan akış modunun herhangi bir kullanımını yeni
sensor.set_framebuffers()çok-arabellekleme API’si ile değiştirin (akış modu kaldırıldı).sensor.set_windowing()çağrılarını yeniden düzenlenmiş, daha esnek argüman işlemeye göre yeniden kontrol edin (pencereleme değişikliği).Sürüme özgü MicroPython davranışına bağlı betikleri MicroPython 1.15’e göre yeniden doğrulayın (MicroPython yükseltmesi).
ImageIO çağrılarından
update_jpeg_bufferargümanını kaldırın (ImageIO değişikliği).
Diğer tüm betikler değişmeden çalışır.