v3.8.0¶
v3.8.0, çekirdeği MicroPython 1.13‘e günceller, geniş bir yardımcı kütüphane kümesini aygıt yazılımına dondurur, Portenta Ethernet (ağ örnekleriyle birlikte), lcd modülüne HDMI CEC desteği, pyb.CAN baudrate/örnekleme-noktası yapılandırması ve bir dizi H7 düşük-güç ve HAL düzeltmesi ekler. time / utime modülleri birleştirildi ve F4 pyb.DAC DMA devre dışı bırakıldı — aşağıdaki bozucu değişiklikleri okuyun.
Öne çıkanlar¶
MicroPython 1.13 — paketlenmiş MicroPython çekirdeği güncellendi.
Dondurulmuş kütüphaneler —
uasyncio,mqtt,rpc,rtsp,modbus,bno055,pid,ssd1306ve daha fazlası artık aygıt yazılımına donduruldu.Portenta Ethernet — Ethernet desteğinin yanı sıra HTTP / SSL / eşler-arası örnekler.
HDMI CEC —
lcdmodülünde yeni CEC API’si (Pure Thermal).pyb.CAN— bit zamanlamasıbaudrate/sampling_pointanahtar sözcüklerinden.Bozucu:
time/utimemodülleri birleştirildi ve F4pyb.DACDMA fonksiyonları devre dışı bırakıldı — bozucu değişikliklere bakın.
Yeni özellikler¶
Dondurulmuş manifest —
uasyncio,mqtt,rpc,rtsp,modbus,bno055,mutex,pid,ssd1306,tb6612vevl53l1xartık OpenMV 3 / 4 / 4 Plus / Pure Thermal / Portenta üzerinde aygıt yazılımına donduruldu.Portenta Ethernet —
http_client,http_client_sslvepeer_to_peerörnekleriyle Ethernet etkinleştirildi.HDMI CEC —
lcdmodülüne bir HDMI CEC API’si eklendi (Pure Thermal).pyb.CAN— yapıcı /init()artık bit zamanlamasınıbaudratevesampling_pointanahtar sözcüklerinden türetiyor (manuel ön bölücü biçimi hâlâ çalışıyor); CAN örnekleri buna göre güncellendi.
Diğer değişiklikler ve iyileştirmeler¶
REPL açılış başlığı artık HAL sürüm dizesini içeriyor; Audio FFT örneği daha yeni
ulabAPI’si için güncellendi.
Hata düzeltmeleri¶
Kamera ve sensörler:
STM32H7 rev Y cihazlarında OV2640 sensör saati ve OV5640 PCLK frekans ölçeklemesi düzeltildi; SCL’yi darbeleyerek FIR I2C veri yolu kaybedilmiş-arabuluculuk durumundan kurtarıldı ve F7 yazılım sıfırlamasında AMG8833 ilklendirmesi yeniden denendi.
Güç ve zamanlayıcılar:
H7 düşük-güç (durdurma/beklemede) girişi düzeltildi — rev V için voltaj ölçekleme, uyanmada osilatör/PLL’in yeniden etkinleştirilmesi, DRAM saklamalı SDRAM düşük-güç, durdurma girişinde Systick’in devre dışı bırakılması ve DBGMCU’nun yalnızca hata ayıklama derlemelerinde etkinleştirilmesi. H7 HAL güncellemesinden sonra
machine.TimerHAL durumu düzeltildi ve SD okuma/yazma IRQ önceliği değişikliği geri alındı.
Ekran ve bağlantı:
F4 SPI LCD 8/16-bit veri-boyutu yapılandırması (yanlış
MCU_SERIEStanımı) düzeltildi, WINC1500 SPI veri yolu ilklendirme hatasında sessizce devam etmek yerine bir hata döndürüldü ve WINC1500 SPI veri yolu çakışmalarını önlemek için statik bir SPI tutamacı kullanıldı. Bir MicroPython GC-collect hatası düzeltildi.
Sistem:
unittests.pyartık bir test devre dışı veya kullanılamaz olduğunda paketi başarısız olarak işaretlemiyor; bozuk Thermopile-shieldcamera_lcdörnekleri kaldırıldı.
Donanım ve kart desteği¶
OpenMV Pure Thermal — kart güncellendi ve yeniden adlandırıldı (
OPENMVPURETHERMAL→OPENMVPT), HDMI CEC ile.OpenMV 2 — OV2640 kamera sürücüsü etkinleştirildi.
Arduino Portenta H7 — Ethernet desteği.
Bozucu API değişiklikleri¶
v3.7.0 ile v3.8.0 arasında kullanıcıya görünen 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 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 etkilerine göre gruplandırılmıştır. Yalnızca kodunuzu taşımak istiyorsanız, sondaki taşıma kontrol listesine atlayın. Her commit özeti, GitHub’daki diff’ine bağlanır.
time / utime modülleri birleştirildi (minor)¶
time ve utime modülleri birleştirildi ve OpenMV clock sınıfı utime‘a taşındı. Paketlenmiş tüm örnekler import utime / clock = utime.clock() olarak güncellendi. clock sınıfı için import time‘a güvenen betikler bunun yerine utime‘ı içe aktarmalıdır.
Commit’ler: 20587f308
F4 pyb.DAC DMA fonksiyonları devre dışı bırakıldı (minor)¶
F4 tabanlı kartlarda, DMA gerektiren pyb.DAC fonksiyonları devre dışı bırakıldı çünkü F4 yığını CCM’de bulunur ve burası DMA-erişilebilir değildir. DAC DMA-arabellek yazmaları kullanan F4 betikleri bu fonksiyonlardan kaçınmalıdır.
Commit’ler: d61f236f2
MicroPython 1.13’e güncellendi (behavior)¶
Paketlenmiş MicroPython çekirdeği 1.13’e güncellendi. Standart kütüphane ve dil davranışı, yukarı akış MicroPython 1.13’ü izler; sürüme özgü micropython / standart-modül davranışına bağlı betikleri yeniden kontrol edin.
Commit’ler: fb0a5e26d
cpufreq desteklenen frekanslar revizyona bağlıdır (behavior)¶
Daha fazla CPU frekansı eklendi ve silikon-revizyonuna duyarlı hale getirildi: cpufreq.get_supported_frequencies() artık H7’de revizyona bağlı bir liste döndürüyor (rev X/Y’de 50/100/200/400 MHz, rev V’de 60/120/240/480 MHz). Eski sabit listeden bir frekansı sabit kodlayan betikler desteklenen listeyi çalışma zamanında sorgulamalıdır.
Commit’ler: 825dd0742
Taşıma kontrol listesi¶
v3.8.0’a temiz bir taşıma için tipik iş şudur:
clocksınıfını kullandığınız yerlerdeimport time‘ıimport utimeolarak değiştirin (time/utime birleşmesi).F4 kartlarında,
pyb.DACDMA-arabellek fonksiyonlarını kullanmayı bırakın (F4 DAC değişikliği).Sürüme özgü MicroPython davranışına bağlı betikleri 1.13’e karşı yeniden doğrulayın (MicroPython yükseltmesi) ve sabit kodlamak yerine çalışma zamanında
cpufreq.get_supported_frequencies()‘i sorgulayın (cpufreq değişikliği).
Diğer tüm betikler değişmeden çalışır.