v4.1.0

v4.1.0, tam Arduino Nano RP2040 Connect / Raspberry Pi Pico desteği (WiFi, Bluetooth, kamera yakalama, jump-to-bootloader), doğrudan JPEG görüntü kod çözme, dondurulmuş bir urequests HTTP istemcisi, OV7670 sensör desteği ve standartlaştırılmış sensör hata raporlaması getirir. WiFi API’si ve sensör istisnaları değişti — aşağıdaki bozucu değişiklikleri okuyun.

Öne çıkanlar

  • RP2 kartları — Arduino Nano RP2040 Connect / Pico artık WiFi (NINA-W10), Bluetooth (NimBLE), kamera/DCMI yakalama ve jump-to-bootloader desteğine sahip.

  • JPEG kod çözme — görüntü işlemleri artık sıkıştırılmış JPEG görüntüleri doğrudan kabul ediyor.

  • urequests HTTP istemcisi aygıt yazılımına (firmware) donduruldu.

  • OV7670 kamera sensörü desteği.

  • Bozucu: NINA/RP2 WiFi API’si yeniden tasarlandı ve birkaç sensör hatası artık RuntimeError yükseltiyor — bozucu değişikliklere bakın.

Yeni özellikler

  • Arduino Nano RP2040 Connect / Raspberry Pi Pico — NINA-W10 network sürücüsü üzerinden WiFi, Bluetooth/NimBLE, kamera yakalama (DCMI PIO programı) ve bir jump-to-bootloader komutu.

  • JPEG görüntü kod çözmefind_apriltags(), lcd.display(), tv.display() ve ilgili görüntü işlemleri artık sıkıştırılmış JPEG görüntüleri doğrudan kabul ediyor (binary/gri tonlama/RGB565’e kod çözme).

  • urequests — HTTP istemcisi (GET/POST/PUT/…) artık OpenMV 4 / 4 Plus / Portenta / Nicla üzerinde, bir http_post.py örneğiyle birlikte donduruldu.

  • ble_advertising yardımcı kütüphanesi, Nano RP2040 Connect üzerinde donduruldu.

  • Host/hata ayıklamapyopenmv.reset_to_bl() ve önyükleyiciye (bootloader) sıfırlamak için yeni bir USBDBG_SYS_RESET_TO_BL (0x0E) komutu; Arduino Nano 33 BLE Sense üzerinde jump-to-bootloader.

  • OV7670 — yeni OV7670 kamera sensörü desteği, OpenMV 4 üzerinde seçilebilir.

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

  • RP2 UDP soketleri bağlanmadan kullanıldığında otomatik olarak geçici bir porta bağlanır; paketlenmiş MicroPython alt modülü güncellendi.

Hata düzeltmeleri

Ağ:

  • NINA WiFi soket accept/close/send/recv/bind işlemleri ve işlem zaman aşımları, ayrıca IDE çıktısını bozabilen bir RP2 hata ayıklama metin arabelleği yarış durumu düzeltildi.

Kamera ve sistem:

  • HM01B0 sıfırlaması, OpenMV H7 üzerinde başarısız bir sensör taramasından sonra kamera I2C veri yolunun takılı kalması, USB bağlantısı kesildiğinde H7 ULPI düşük güç girişi, H7 ADC pin üretimi ve Portenta kamera pin yerleşimi / shield SPI-CS düzeltildi.

Donanım ve kart desteği

  • Arduino Nano RP2040 Connect / Raspberry Pi Pico — WiFi, Bluetooth, kamera, daha büyük flash bellek dosya sistemi, MSC önyükleyici (bootloader).

  • OV7670 kamera sensörü (OpenMV 4).

  • Arduino Portenta H7 — breakout I2C4, ek PWM/saat pinleri, OV7725 / MT9V034 sensörleri.

Bozucu API değişiklikleri

v4.0.2 ve v4.1.0 arasındaki kullanıcı tarafından görülebilen 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:

  • minor — dar kapsamlı API; yalnızca onu kullanan betikleri etkiler.

  • behavior — aynı API, farklı sonuçlar; ince ayarlı betikleri tekrar kontrol edin.

Değişiklikler bu sırayla etkilerine göre gruplandırılmıştır. Yalnızca kodunuzu taşımak istiyorsanız, sondaki taşıma kontrol listesine atlayın. Her commit hash’i GitHub’daki diff’ine bağlanır.

NINA / RP2 WiFi API’si yeniden tasarlandı (minor)

NINA / RP2 WLAN sürücüsü, upstream MicroPython / CYW43 network arayüzüyle eşleşecek şekilde yeniden tasarlandı: bir WLAN(interface) kurucusu (STA/AP modu), yeni bir active([bool]) metodu, connect için config / start_ap takma adları, connect() ssid argümanı essid olarak yeniden adlandırıldı, yeni bir channel anahtar kelimesi ve nina.fw_version() artık ham bayt yerine bir (major, minor, patch) demeti döndürüyor. Bir NINA aygıt yazılımı (firmware) sürüm uyuşmazlığı artık bir OSError yerine ölümcül olmayan bir uyarıdır.

Commit’ler: eb2f98277, e14470f68, 0c40f4832

Sensör hataları artık RuntimeError yükseltiyor (behavior)

Sensör hata raporlaması, birleşik bir hata kodu tablosu etrafında standartlaştırıldı: kamera arızaları (yakalama zaman aşımı, geçersiz framesize/pixformat/window/ framerate, framebuffer hatası, JPEG taşması, algılanmayan sensör, …) artık tutarlı, açıklayıcı mesajlar yükseltiyor ve daha önce ValueError yükselten birkaç durum artık RuntimeError yükseltiyor (sensor.reset() dahil). Bu durumlar için ValueError yakalayan kodun bunun yerine RuntimeError yakalaması gerekir.

Commit’ler: 0491a6a88, c8bf0af6f, 2fb226562

Taşıma kontrol listesi

v4.1.0’a temiz bir taşıma için tipik iş şudur:

  1. NINA/RP2 WiFi kodunu standart network.WLAN arayüzüne (WLAN(interface), active(), essid=) taşıyın ve nina.fw_version() fonksiyonundan bir demet bekleyin (WiFi API değişikliği).

  2. Kamera / sensor.reset() hata yönetimi etrafındaki except ValueError ifadesini except RuntimeError olarak değiştirin (sensör hatası değişikliği).