v3.8.0¶
v3.8.0 aktualizuje jádro na MicroPython 1.13, zamrazuje do firmwaru rozsáhlou sadu pomocných knihoven, přidává podporu Portenta Ethernet (s příklady síťování), podporu HDMI CEC do modulu lcd, konfiguraci přenosové rychlosti / vzorkovacího bodu pro pyb.CAN a vlnu oprav nízkopříkonového režimu H7 a HAL. Moduly time / utime byly sloučeny a DMA pro F4 pyb.DAC bylo zakázáno — přečtěte si nekompatibilní změny níže.
Hlavní novinky¶
MicroPython 1.13 — přibalené jádro MicroPython bylo aktualizováno.
Zamrazené knihovny —
uasyncio,mqtt,rpc,rtsp,modbus,bno055,pid,ssd1306a další jsou nyní zamrazeny do firmwaru.Portenta Ethernet — podpora Ethernetu plus příklady HTTP / SSL / peer-to-peer.
HDMI CEC — nové CEC API v modulu
lcd(Pure Thermal).pyb.CAN— časování bitů z klíčových slovbaudrate/sampling_point.Nekompatibilní: moduly
time/utimebyly sloučeny a funkce DMA pro F4pyb.DACbyly zakázány — viz nekompatibilní změny.
Nové funkce¶
Zamrazený manifest —
uasyncio,mqtt,rpc,rtsp,modbus,bno055,mutex,pid,ssd1306,tb6612avl53l1xjsou nyní zamrazeny do firmwaru na OpenMV 3 / 4 / 4 Plus / Pure Thermal / Portenta.Portenta Ethernet — povolen Ethernet s příklady
http_client,http_client_sslapeer_to_peer.HDMI CEC — přidáno HDMI CEC API do modulu
lcd(Pure Thermal).pyb.CAN— konstruktor /init()nyní odvozuje časování bitů z klíčových slovbaudrateasampling_point(ruční forma s prescalerem stále funguje); příklady CAN byly odpovídajícím způsobem aktualizovány.
Další změny a vylepšení¶
REPL banner nyní obsahuje řetězec verze HAL; příklad Audio FFT byl aktualizován pro novější API
ulab.
Opravy chyb¶
Kamera a senzory:
Opraveno škálování frekvence hodin senzoru OV2640 a PCLK senzoru OV5640 na zařízeních STM32H7 rev Y; obnova sběrnice FIR I2C ze stavu ztracené arbitráže pulzováním SCL a opakování inicializace AMG8833 při softwarovém resetu F7.
Napájení a časovače:
Opraven vstup do nízkopříkonového režimu H7 (stop/standby) — škálování napětí pro rev V, opětovné povolení oscilátoru/PLL při probuzení, nízkopříkonový režim SDRAM se zachováním obsahu DRAM, zakázání Systicku při vstupu do stop a povolení DBGMCU pouze v ladicích buildech. Opraven stav HAL
machine.Timerpo aktualizaci HAL pro H7 a vrácena změna priority přerušení čtení/zápisu SD.
Displej a konektivita:
Opravena konfigurace 8/16bitové velikosti dat F4 SPI LCD (chybné makro
MCU_SERIES), vrácena chyba při selhání inicializace SPI sběrnice WINC1500 namísto tichého pokračování a použit statický SPI handle pro zamezení konfliktům SPI sběrnice WINC1500. Opravena chyba GC-collect v MicroPythonu.
Systém:
unittests.pyjiž neoznačuje sadu jako neúspěšnou, když je test zakázán nebo nedostupný; odstraněny nefunkční příkladycamera_lcdpro Thermopile-shield.
Hardware a podpora desek¶
OpenMV Pure Thermal — deska aktualizována a přejmenována (
OPENMVPURETHERMAL→OPENMVPT), s HDMI CEC.OpenMV 2 — povolen ovladač kamery OV2640.
Arduino Portenta H7 — podpora Ethernetu.
Nekompatibilní změny API¶
Změny API viditelné pro uživatele mezi v3.7.0 a v3.8.0. Rozsah: Python C-moduly v modules/ a Python knihovny v scripts/libraries/.
Každá změna je označena podle svého dopadu:
minor — úzké API; ovlivňuje pouze skripty, které ho používaly.
behavior — stejné API, jiné výsledky; znovu zkontrolujte vyladěné skripty.
Změny jsou seskupeny podle dopadu v tomto pořadí. Pokud chcete pouze přenést svůj kód, přejděte na kontrolní seznam migrace na konci. Každý hash commitu odkazuje na svůj diff na GitHubu.
Moduly time / utime sloučeny (minor)¶
Moduly time a utime byly sloučeny a třída OpenMV clock byla přesunuta do utime. Všechny přibalené příklady byly aktualizovány na import utime / clock = utime.clock(). Skripty, které spoléhaly na import time pro třídu clock, by měly místo toho importovat utime.
Commity: 20587f308
Funkce DMA pro F4 pyb.DAC zakázány (minor)¶
Na deskách založených na F4 byly funkce pyb.DAC, které vyžadují DMA, zakázány, protože halda F4 se nachází v CCM, která není přístupná pro DMA. Skripty pro F4, které používaly zápisy do DMA bufferu DAC, se těmto funkcím musí vyhnout.
Commity: d61f236f2
MicroPython aktualizován na 1.13 (behavior)¶
Přibalené jádro MicroPython bylo aktualizováno na 1.13. Chování standardní knihovny a jazyka odpovídá upstreamovému MicroPythonu 1.13; znovu zkontrolujte skripty, které závisí na chování micropython / standardních modulů specifickém pro danou verzi.
Commity: fb0a5e26d
Podporované frekvence cpufreq závisí na revizi (behavior)¶
Bylo přidáno více CPU frekvencí, které nyní zohledňují revizi křemíku: cpufreq.get_supported_frequencies() nyní na H7 vrací seznam závislý na revizi (50/100/200/400 MHz na rev X/Y, 60/120/240/480 MHz na rev V). Skripty, které měly natvrdo zakódovanou frekvenci ze starého pevného seznamu, by se měly za běhu dotazovat na seznam podporovaných frekvencí.
Commity: 825dd0742
Kontrolní seznam migrace¶
Pro čistý přechod na v3.8.0 je typická práce následující:
Změňte
import timenaimport utimetam, kde používáte tříduclock(sloučení time/utime).Na deskách F4 přestaňte používat funkce DMA bufferu
pyb.DAC(změna F4 DAC).Znovu ověřte skripty, které závisí na chování MicroPythonu specifickém pro danou verzi, proti 1.13 (aktualizace MicroPythonu) a za běhu se dotazujte na
cpufreq.get_supported_frequencies()namísto natvrdo zakódovaných hodnot (změna cpufreq).
Všechny ostatní skripty běží beze změny.