v1.1.0¶
v1.1.0, temel mimari sürümüdür: erken özel çevre birimi modüllerini standart MicroPython yerleşiklerinin lehine bırakır, görüntüleme API’sini image modülüne ve çerçeve hızı saatini time modülüne taşır ve yerleşik Haar kademeleri, get_pixel() / set_pixel(), OpenMV 2 kart desteği ve USB-CDC hata ayıklaması ekler. Yoğun bir şekilde kırıcı, API tanımlayan bir sürümdür — aşağıdaki kırıcı değişiklikleri okuyun.
Öne çıkanlar¶
MicroPython yerleşikleri — özel
gpio/led/spi/socket/wlan/uart/file/selectmodülleri, MicroPython’unpyb/machinemodüllerinin lehine kaldırıldı.imagemodülü —Image()/HaarCascade()/ tanımlayıcılar artıkimagemodülündedir.time.clock— çerçeve hızı saatitimemodülüne taşındı.Yerleşik Haar kademeleri —
HaarCascade("frontalface")/HaarCascade("eye")(dosya gerekmez).OpenMV 2 kart desteği ve USB-CDC hata ayıklaması.
Kırıcı: modül yapısı yeniden tanımlandı — kırıcı değişikliklere bakın.
Yeni özellikler¶
Image —
Image.get_pixel(x, y)/set_pixel()veimg[i]alt simge piksel erişimi eklendi; yerleşik flash bellek Haar kademeleri (HaarCascade("frontalface")/HaarCascade("eye")) ve kademe aşamalarını sınırlamak için birstages=anahtar sözcüğü;draw_string()gri tonlamalı görüntülerde çalışır.Sensor —
sensor.set_colorbar(),sensor.set_saturation()veQQVGA2çerçeve boyutu eklendi.mlx—mlx.RAINBOW/mlx.GRAYSCALEçıktısı ilemlx.read(type).Hata ayıklama — USB CDC üzerinden hata ayıklama, bir aygıt yazılımı
fw_version()sorgusu, kart başına aygıt yazılımı (OpenMV 1 / OpenMV 2) ve oto-test / colorbar betikleri uygulandı; ölümcül/ayrıştırma hataları flash belleğe kaydedilir.
Diğer değişiklikler ve iyileştirmeler¶
Bellek yetersizliği artık
OSErroryerineMemoryErroryükseltir; betikler istisna yeniden yükseltme ile çalışır, böylece hatalar çökmek yerine yazdırılır; seri baud hızı yapılandırılabilir (varsayılan 921600); daha büyük bir flash bellek dosya sistemi; yakalama kararlılığı için sensör piksel saati 54 MHz’e düşürüldü;sensor.reset()yalnızca bir sensör yazılımsal sıfırlamasına dayanır.
Hata düzeltmeleri¶
Şablon eşleştirme, ilk nesneyi tekrar eden
find_features(), SCCB/I2C atomik yazmaç erişimi, SD-kart yonga tespiti, yazılımsal-I2C pin eşlemesi,fast_cbrtf/ LAB renk doğruluğu ve OpenMV 1 / 2 üzerindeki integral-görüntü / ortanca-filtre bellek kullanımı düzeltildi.
Donanım ve kart desteği¶
OpenMV 2 (STM32F427) kart desteği (ve OpenMV 3 donanım tasarımı); OpenMV 2’de sensör saati olarak MCO kullanıldı.
Kırıcı API değişiklikleri¶
v1.0.3-beta ile v1.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 etkisiyle etiketlenmiştir:
major — özelliği kullanan çoğu betiği etkiler; kodu taşımanız gerekecek.
behavior — aynı API, farklı sonuçlar; ince ayarlı betikleri yeniden kontrol edin.
Değişiklikler bu sırayla etkiye göre gruplandırılmıştır. Sadece kodunuzu taşımak istiyorsanız, sondaki geçiş kontrol listesine atlayın. Her commit hash’i GitHub’daki diff’ine bağlanır.
Özel çevre birimi modülleri kaldırıldı (major)¶
Erken özel clock / file / gpio / led / select / socket / spi / wlan / uart modülleri, MicroPython’un yerleşik pyb / machine çevre birimlerinin lehine kaldırıldı. Betikleri standart MicroPython eşdeğerlerine taşıyın (ör. pyb.Pin / pyb.LED / pyb.SPI / pyb.UART).
Commit’ler: 6d2fafa94
Görüntüleme API’si image modülüne taşındı (major)¶
Image(), HaarCascade() ve tanımlayıcı kaydet/yükle fonksiyonları artık çıplak yerleşikler değildir — yeni image modülünde yer alırlar. Betikler import image yapmalı ve image.Image / image.HaarCascade() kullanmalıdır.
Commit’ler: 54288c535
Çerçeve hızı saati time modülüne taşındı (major)¶
Bağımsız clock modülü kaldırıldı; çerçeve hızı saati artık time modülünde yer alır. import time ve clock = time.clock() kullanın — döndürülen nesne hâlâ .tick() / .fps() / .avg() / .reset() sağlar.
Commit’ler: a8928ca3b
/flash ve /sd artık sys.path içine eklenmiyor (behavior)¶
Birim etiketleri / kök dizin düzeltildi ve /flash ile /sd artık sys.path içine otomatik eklenmiyor. Bu konumlardan yardımcı modülleri çıplak adla içe aktaran betikler yolu açıkça eklemelidir (veya modülleri bulunabilecekleri yere yerleştirmelidir).
Commit’ler: 09e77b5da
Geçiş kontrol listesi¶
v1.1.0’a temiz bir geçiş için tipik iş şudur:
Özel
gpio/led/spi/uart/socket/wlan/file/selectmodüllerini MicroPythonpyb/machineile değiştirin (özel-modül kaldırma).import imageyapın veImage()/HaarCascade()öğelerineimage.ön ekini ekleyin (image modülü taşıması).import timeveclock = time.clock()kullanın (clock taşıması).Yardımcı modülleri çıplak adla içe aktardıysanız
/flash//sdöğesini açıkçasys.pathiçine ekleyin (sys.path değişikliği).
Diğer tüm betikler değişmeden çalışır.