v3.8.0¶
A v3.8.0 a magot a MicroPython 1.13 verzióra frissíti, számos segédkönyvtárt befagyaszt a firmware-be, hozzáadja a Portenta Ethernet támogatást (hálózati példákkal), HDMI CEC támogatást a lcd modulhoz, a pyb.CAN baudrate/mintavételezési pont beállítását, valamint egy sor H7 alacsony fogyasztású és HAL javítást. A time / utime modulok egyesítésre kerültek, az F4 pyb.DAC DMA pedig le lett tiltva — olvasd el az alábbi törést okozó változásokat.
Kiemelt változások¶
MicroPython 1.13 — a beépített MicroPython mag frissítve lett.
Befagyasztott könyvtárak — az
uasyncio, amqtt, azrpc, azrtsp, amodbus, abno055, apid, azssd1306és továbbiak mostantól be vannak fagyasztva a firmware-be.Portenta Ethernet — Ethernet támogatás, valamint HTTP / SSL / peer-to-peer példák.
HDMI CEC — új CEC API a
lcdmodulban (Pure Thermal).pyb.CAN— bitidőzítés abaudrate/sampling_pointkulcsszavakból.Törést okozó: a
time/utimemodulok egyesítésre kerültek, az F4pyb.DACDMA-funkciói pedig le lettek tiltva — lásd a törést okozó változásokat.
Új funkciók¶
Befagyasztott manifeszt — az
uasyncio, amqtt, azrpc, azrtsp, amodbus, abno055, amutex, apid, azssd1306, atb6612és avl53l1xmostantól be vannak fagyasztva a firmware-be az OpenMV 3 / 4 / 4 Plus / Pure Thermal / Portenta eszközökön.Portenta Ethernet — engedélyezett Ethernet
http_client,http_client_ssléspeer_to_peerpéldákkal.HDMI CEC — HDMI CEC API hozzáadva a
lcdmodulhoz (Pure Thermal).pyb.CAN— a konstruktor /init()mostantól a bitidőzítést abaudrateés asampling_pointkulcsszavakból származtatja (a kézi előosztós forma továbbra is működik); a CAN példák ennek megfelelően frissültek.
Egyéb változások és fejlesztések¶
A REPL banner mostantól tartalmazza a HAL verziósztringet; az Audio FFT példa az újabb
ulabAPI-hoz lett frissítve.
Hibajavítások¶
Kamera és érzékelők:
Javítva az OV2640 érzékelő órajele és az OV5640 PCLK frekvencia-skálázása az STM32H7 rev Y eszközökön; a FIR I2C busz helyreállítása az arbitráció-vesztett állapotból az SCL impulzálásával, valamint az AMG8833 inicializálás újrapróbálása F7 szoftveres újraindításkor.
Tápellátás és időzítők:
Javítva a H7 alacsony fogyasztású (stop/standby) belépés — feszültségskálázás a rev V esetén, az oszcillátor/PLL újraengedélyezése ébredéskor, SDRAM alacsony fogyasztás DRAM-megőrzéssel, a Systick letiltása stop belépéskor, valamint a DBGMCU engedélyezése csak debug buildekben. Javítva a
machine.TimerHAL állapota a H7 HAL frissítés után, és visszavonva az SD olvasási/írási IRQ-prioritás módosítása.
Kijelző és kapcsolat:
Javítva az F4 SPI LCD 8/16 bites adatméret-konfigurációja (hibás
MCU_SERIESdefiníció), hiba visszaadása a WINC1500 SPI busz-inicializálás meghibásodásakor a néma folytatás helyett, valamint statikus SPI handle használata a WINC1500 SPI busz-ütközések elkerülésére. Javítva egy MicroPython GC-collect hiba.
Rendszer:
Az
unittests.pytöbbé nem jelöli sikertelennek a tesztkészletet, ha egy teszt le van tiltva vagy nem érhető el; eltávolítva a hibás Thermopile-shieldcamera_lcdpéldák.
Hardver- és lapkatámogatás¶
OpenMV Pure Thermal — a lap frissítve és átnevezve (
OPENMVPURETHERMAL→OPENMVPT), HDMI CEC-vel.OpenMV 2 — OV2640 kameravezérlő engedélyezve.
Arduino Portenta H7 — Ethernet támogatás.
Törést okozó API-változások¶
Felhasználó által észlelhető API-törések a v3.7.0 és a v3.8.0 között. Hatókör: Python C-modulok a modules/ mappában és Python könyvtárak a scripts/libraries/ mappában.
Minden változás a hatása szerint van címkézve:
minor — szűk API; csak az azt használó szkripteket érinti.
behavior — ugyanaz az API, más eredmények; ellenőrizd újra a hangolt szkripteket.
A változások a hatás szerint, ebben a sorrendben vannak csoportosítva. Ha csak a kódodat szeretnéd átültetni, ugorj a migrációs ellenőrzőlistához a végén. Minden commit hash a hozzá tartozó diffre mutat a GitHubon.
time / utime modulok egyesítve (minor)¶
A time és az utime modulok egyesítésre kerültek, az OpenMV clock osztálya pedig átkerült az utime modulba. Minden mellékelt példa az import utime / clock = utime.clock() formára lett frissítve. Azoknak a szkripteknek, amelyek az import time formára támaszkodtak a clock osztály miatt, helyette az utime modult kell importálniuk.
Commitok: 20587f308
F4 pyb.DAC DMA-funkciók letiltva (minor)¶
Az F4 alapú lapokon a pyb.DAC DMA-t igénylő funkciói le lettek tiltva, mert az F4 heap a CCM-ben helyezkedik el, amely nem érhető el DMA-n keresztül. Azoknak az F4 szkripteknek, amelyek DAC DMA-pufferírásokat használtak, kerülniük kell ezeket a funkciókat.
Commitok: d61f236f2
MicroPython 1.13-ra frissítve (behavior)¶
A beépített MicroPython mag az 1.13 verzióra lett frissítve. A standard könyvtár és a nyelvi viselkedés az upstream MicroPython 1.13-at követi; ellenőrizd újra azokat a szkripteket, amelyek verzióspecifikus micropython / standard modulbeli viselkedésre támaszkodnak.
Commitok: fb0a5e26d
A cpufreq által támogatott frekvenciák revíziófüggők (behavior)¶
Több CPU-frekvencia került hozzáadásra és lett szilícium-revízió-tudatossá téve: a cpufreq.get_supported_frequencies() mostantól revíziófüggő listát ad vissza a H7-en (50/100/200/400 MHz a rev X/Y esetén, 60/120/240/480 MHz a rev V esetén). Azoknak a szkripteknek, amelyek a régi fix listából egy frekvenciát kódoltak be, futásidőben kell lekérdezniük a támogatott listát.
Commitok: 825dd0742
Migrációs ellenőrzőlista¶
A v3.8.0-ra való tiszta átültetéshez a tipikus teendők a következők:
Cseréld le az
import timesortimport utimesorra ott, ahol aclockosztályt használod (a time/utime egyesítés).Az F4 lapokon ne használd a
pyb.DACDMA-puffer funkcióit (az F4 DAC változás).Ellenőrizd újra a verzióspecifikus MicroPython viselkedésre támaszkodó szkripteket az 1.13 ellenében (a MicroPython frissítés), és futásidőben kérdezd le a
cpufreq.get_supported_frequencies()függvényt a bekódolás helyett (a cpufreq változás).
Minden más szkript változtatás nélkül fut.