v3.9.4

v3.9.4; bir buzzer modülü, Himax HM01B0 hareket tespiti ioctl’leri (düşük güçlü hareketle-uyanma örnekleriyle), MT9V034 okuma penceresi kontrolü, Ethernet düşük güç fonksiyonları, bir OV7670 kamera sürücüsü ve Arduino Nano 33 BLE Sense kamerasını ekler. Ayrıca büyük bir grup JPEG / LCD / TV hızlandırması getirir. VSYNC çıkış API’si bir geri çağırma ile değiştirildi ve MT9V034 kazanç/pozlama hesabı düzeltildi — aşağıdaki bozucu değişiklikleri okuyun.

Öne çıkanlar

  • Buzzer modülü — OpenMV Pure Thermal üzerinde yeni bir buzzer modülü (freq(), duty(), RESONANT_FREQ).

  • HM01B0 hareket tespiti — yeni Himax hareket tespiti ioctl’leri ve bir düşük güçlü hareketle-uyanma örneği.

  • MT9V034 okuma penceresi — global-shutter okuma penceresini sensor.ioctl() ile kontrol edin.

  • Yeni kameralar / kartlar — temel OV7670 sürücüsü, Arduino Nano 33 BLE Sense kamerası ve Bormio kartı.

  • Daha hızlı boru hattı — yeniden yazılmış SIMD JPEG kodlayıcı, daha hızlı debayering ve büyük LCD/TV aktarım hızlandırmaları.

  • Bozucu: sensor.set_vsync_output() sensor.set_vsync_callback() ile değiştirildi ve MT9V034 kazanç/pozlama hesabı düzeltildi — bozucu değişikliklere bakın.

Yeni özellikler

  • Buzzerbuzzer.freq(), buzzer.duty() ve bir buzzer.RESONANT_FREQ sabitini içeren bir buzzer modülü eklendi (OpenMV Pure Thermal).

  • HM01B0 hareket tespitiIOCTL_HIMAX_MD_ENABLE / MD_WINDOW / MD_THRESHOLD / MD_CLEAR ve IOCTL_HIMAX_OSC_ENABLE ioctl’leri eklendi; bir Himax hareket tespiti örneği ve bir himax_wakeup_on_motion_detection.py düşük güçlü uyanma örneği ile birlikte.

  • MT9V034 okuma penceresisensor.ioctl() ile MT9V034 okuma penceresi kontrolü için IOCTL_SET_READOUT_WINDOW / IOCTL_GET_READOUT_WINDOW eklendi.

  • Ethernet düşük güç — Ethernet güç kapatma / düşük güç fonksiyonları eklendi.

  • Portenta — harici osilatör etkinleştirme/devre dışı bırakma geri çağırma fonksiyonları eklendi.

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

  • JPEG kodlayıcı SIMD ile yeniden yazıldı ve Bayer→YCbCr kodlaması hızlandırıldı, betik yürütme sırasında donanım JPEG çekirdeği açık tutuldu, debayering hızlandırıldı (VGA için ~19.5 ms), JPEG sıkıştırması MDMA’ya devredildi, TV/LCD aktarım yolları SIMD/verimli DMA ile hızlandırıldı ve SPI LCD veri yolu kullanımı büyük ölçüde azaltıldı. Yüksek hızlı USB için bir USB3320 ULPI PHY sürücüsü eklendi.

Hata düzeltmeleri

Kamera ve sensörler:

  • HM01B0 sürücüsü init/akış düzeltildi ve AE hedefi / maksimum kazancı ayarlandı, MT9V034 AGC/AEC kazanç sınırlaması düzeltildi ve OV5640 otomatik odaklama aygıt yazılımı yüklemesi (bayt sırası) düzeltildi.

Ekran:

  • 64 KB’tan büyük SPI LCD DMA aktarımları, LCD çıkış polaritesi ve LCD veri yolu kararlılığı (AXI QOS) düzeltildi.

Sistem ve bağlantı:

  • CYW43 WiFi sürücüsünün kullandığı SDMMC örneği düzeltildi (kart tanımlı bir SDMMC örneği ile), FLIR Lepton DMA verimliliği iyileştirildi (H7 üzerinde VOSPI 20 MHz’e yükseltildi), Portenta düşük güç / bekleme davranışı düzeltildi (PMIC SW1 akım sınırı, Ethernet ve ULPI düşük güç), RTSP sunucusunun sıra dışı CSeq ve PLAY Range başlıklarını tolere etmesi sağlandı (FFPLAY), linker yığını 8-baytlık EABI hizalaması düzeltildi ve Portenta mqtt_sub.py örneğindeki bozuk bir import düzeltildi.

Donanım ve kart desteği

  • OV7670 kamera sensörü — temel sürücü.

  • Arduino Nano 33 BLE Sense — reset-pin ve I2C veri yolu düzeltmeleriyle kamera sensörü sürücüsü (nrf portu).

  • HM01B0 — bir 320x320 çözünürlük eklendi.

  • Bormio — PLL saat yapılandırması, flash bellek düzeni ve GPIO PORT K (Portenta üzerinde de etkinleştirildi).

  • USB3320 ULPI PHY — yüksek hızlı USB.

Bozucu API değişiklikleri

v3.9.3 ile v3.9.4 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 — özelliği kullanan çoğu betiği etkiler; kodu taşımanız gerekecek.

  • 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.

VSYNC çıkışı bir geri çağırma ile değiştirildi (major)

sensor.set_vsync_output(pin) kaldırıldı ve sensor.set_vsync_callback(callback) ile değiştirildi. VSYNC hattı artık bir Pin‘i doğrudan sürmüyor; bunun yerine VSYNC durumuyla bir Python çağrılabiliri çağrılır ve geri çağırmanız Pin‘i kendisi değiştirir. sensor.set_vsync_output() kullanan kodun taşınması gerekir (güncellenmiş vsync_gpio_output.py örneğine bakın).

Commit’ler: 5bbe25c20

MT9V034 kazanç/pozlama hesabı düzeltildi (behavior)

MT9V034 saat hızı ve kazanç/pozlama hesabı düzeltildi, böylece sensor.set_auto_gain() / sensor.set_auto_exposure() artık öncekinden doğru (ve dolayısıyla farklı) değerler üretir. MT9V034 global-shutter kameralarda eski hatalı hesabı telafi etmek için kazanç/pozlama değerlerini sabit kodlayan betikler bu geçici çözümleri kaldırmalı ve yeniden ince ayar yapmalıdır.

Commit’ler: 4420536c4

Taşıma kontrol listesi

v3.9.4’e temiz bir taşıma için tipik iş şudur:

  1. sensor.set_vsync_output(pin) yerine sensor.set_vsync_callback(callback) koyun ve Pin‘i geri çağırmanın içinden değiştirin (VSYNC değişikliği).

  2. Herhangi bir MT9V034 kazanç/pozlama geçici çözümünü düzeltilmiş hesaba göre yeniden ince ayarlayın (MT9V034 değişikliği).

Diğer tüm betikler değişmeden çalışır.