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üphaneleruasyncio, mqtt, rpc, rtsp, modbus, bno055, pid, ssd1306 ve 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 CEClcd modülünde yeni CEC API’si (Pure Thermal).

  • pyb.CAN — bit zamanlaması baudrate / sampling_point anahtar sözcüklerinden.

  • Bozucu: time / utime modülleri birleştirildi ve F4 pyb.DAC DMA fonksiyonları devre dışı bırakıldı — bozucu değişikliklere bakın.

Yeni özellikler

  • Dondurulmuş manifestuasyncio, mqtt, rpc, rtsp, modbus, bno055, mutex, pid, ssd1306, tb6612 ve vl53l1x artık OpenMV 3 / 4 / 4 Plus / Pure Thermal / Portenta üzerinde aygıt yazılımına donduruldu.

  • Portenta Ethernethttp_client, http_client_ssl ve peer_to_peer örnekleriyle Ethernet etkinleştirildi.

  • HDMI CEClcd modülüne bir HDMI CEC API’si eklendi (Pure Thermal).

  • pyb.CAN — yapıcı / init() artık bit zamanlamasını baudrate ve sampling_point anahtar 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 ulab API’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.Timer HAL 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_SERIES tanı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.py artık bir test devre dışı veya kullanılamaz olduğunda paketi başarısız olarak işaretlemiyor; bozuk Thermopile-shield camera_lcd örnekleri kaldırıldı.

Donanım ve kart desteği

  • OpenMV Pure Thermal — kart güncellendi ve yeniden adlandırıldı (OPENMVPURETHERMALOPENMVPT), 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:

  1. clock sınıfını kullandığınız yerlerde import time‘ı import utime olarak değiştirin (time/utime birleşmesi).

  2. F4 kartlarında, pyb.DAC DMA-arabellek fonksiyonlarını kullanmayı bırakın (F4 DAC değişikliği).

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