v3.8.0¶
v3.8.0 ažurira jezgru na MicroPython 1.13, zamrzava velik skup pomoćnih biblioteka u ugrađeni program, dodaje Portenta Ethernet (s primjerima umrežavanja), podršku za HDMI CEC u modulu lcd, konfiguraciju brzine prijenosa / točke uzorkovanja za pyb.CAN, te niz ispravaka za H7 nisku potrošnju i HAL. Moduli time / utime su spojeni, a DMA za F4 pyb.DAC je onemogućen — pročitajte promjene koje narušavaju kompatibilnost u nastavku.
Istaknuto¶
MicroPython 1.13 — priložena MicroPython jezgra je ažurirana.
Zamrznute biblioteke —
uasyncio,mqtt,rpc,rtsp,modbus,bno055,pid,ssd1306i druge sada su zamrznute u ugrađeni program.Portenta Ethernet — podrška za Ethernet uz primjere HTTP / SSL / peer-to-peer.
HDMI CEC — novi CEC API u modulu
lcd(Pure Thermal).pyb.CAN— vremenski parametri bitova iz ključnih riječibaudrate/sampling_point.Narušava kompatibilnost: moduli
time/utimesu spojeni, a DMA funkcije za F4pyb.DACsu onemogućene — vidi promjene koje narušavaju kompatibilnost.
Nove značajke¶
Zamrznuti manifest —
uasyncio,mqtt,rpc,rtsp,modbus,bno055,mutex,pid,ssd1306,tb6612ivl53l1xsada su zamrznuti u ugrađeni program na OpenMV 3 / 4 / 4 Plus / Pure Thermal / Portenta.Portenta Ethernet — omogućen Ethernet uz primjere
http_client,http_client_sslipeer_to_peer.HDMI CEC — dodan HDMI CEC API u modul
lcd(Pure Thermal).pyb.CAN— konstruktor /init()sada izvode vremenske parametre bitova iz ključnih riječibaudrateisampling_point(ručni oblik s predskalerom i dalje radi); CAN primjeri su odgovarajuće ažurirani.
Ostale promjene i poboljšanja¶
REPL natpis sada uključuje niz s verzijom HAL-a; primjer Audio FFT je ažuriran za noviji
ulabAPI.
Ispravci grešaka¶
Kamera i senzori:
Ispravljeno skaliranje frekvencije sata OV2640 senzora i PCLK frekvencije OV5640 na STM32H7 rev Y uređajima; oporavak FIR I2C sabirnice iz stanja izgubljene arbitraže pulsiranjem SCL te ponovni pokušaj inicijalizacije AMG8833 pri F7 mekanom resetu.
Napajanje i mjerači vremena:
Ispravljen ulazak H7 u nisku potrošnju (stop/standby) — skaliranje napona za rev V, ponovno omogućavanje oscilatora/PLL-a pri buđenju, SDRAM niska potrošnja uz zadržavanje DRAM-a, onemogućavanje Systicka pri ulasku u stop te omogućavanje DBGMCU samo u debug verzijama. Ispravljeno stanje HAL-a za
machine.Timernakon ažuriranja H7 HAL-a i poništena promjena prioriteta SD read/write IRQ-a.
Prikaz i povezivost:
Ispravljena konfiguracija veličine podataka 8/16-bit za F4 SPI LCD (pogrešna
MCU_SERIESdefinicija), vraćana je greška pri neuspjeloj inicijalizaciji WINC1500 SPI sabirnice umjesto tihog nastavka rada te korišten statički SPI handle radi izbjegavanja sukoba na WINC1500 SPI sabirnici. Ispravljena greška u MicroPython GC-collect mehanizmu.
Sustav:
unittests.pyviše ne označava paket kao neuspio kada je test onemogućen ili nedostupan; uklonjeni neispravni Thermopile-shieldcamera_lcdprimjeri.
Hardver i podrška za ploče¶
OpenMV Pure Thermal — ploča ažurirana i preimenovana (
OPENMVPURETHERMAL→OPENMVPT), s HDMI CEC.OpenMV 2 — omogućen upravljački program za OV2640 kameru.
Arduino Portenta H7 — podrška za Ethernet.
Promjene API-ja koje narušavaju kompatibilnost¶
Korisniku vidljive promjene API-ja koje narušavaju kompatibilnost između v3.7.0 i v3.8.0. Opseg: Python C-moduli u modules/ i Python biblioteke u scripts/libraries/.
Svaka je promjena označena svojim utjecajem:
minor — uski API; utječe samo na skripte koje su ga koristile.
behavior — isti API, drugačiji rezultati; ponovno provjerite ugođene skripte.
Promjene su grupirane po utjecaju tim redoslijedom. Ako samo želite prilagoditi svoj kod, skočite na kontrolni popis za migraciju na kraju. Svaki hash commita vodi na njegov diff na GitHubu.
Moduli time / utime spojeni (minor)¶
Moduli time i utime su spojeni, a OpenMV clock klasa premještena je u utime. Svi priloženi primjeri ažurirani su na import utime / clock = utime.clock(). Skripte koje su se oslanjale na import time za clock klasu trebale bi umjesto toga uvoziti utime.
Commits: 20587f308
DMA funkcije za F4 pyb.DAC onemogućene (minor)¶
Na pločama temeljenim na F4, pyb.DAC funkcije koje zahtijevaju DMA su onemogućene jer F4 gomila (heap) živi u CCM-u, kojem DMA ne može pristupiti. F4 skripte koje su koristile DAC zapise u DMA međuspremnik moraju izbjegavati te funkcije.
Commits: d61f236f2
MicroPython ažuriran na 1.13 (behavior)¶
Priložena MicroPython jezgra ažurirana je na 1.13. Ponašanje standardne biblioteke i jezika slijedi izvorni MicroPython 1.13; ponovno provjerite skripte koje ovise o ponašanju micropython / standardnih modula specifičnom za verziju.
Commits: fb0a5e26d
Podržane cpufreq frekvencije ovise o reviziji (behavior)¶
Dodano je više CPU frekvencija koje su sada svjesne revizije silicija: cpufreq.get_supported_frequencies() sada vraća popis ovisan o reviziji na H7 (50/100/200/400 MHz na rev X/Y, 60/120/240/480 MHz na rev V). Skripte koje su čvrsto kodirale frekvenciju iz starog fiksnog popisa trebale bi tijekom izvođenja upitati podržani popis.
Commits: 825dd0742
Kontrolni popis za migraciju¶
Za čistu prilagodbu na v3.8.0 uobičajeni posao je:
Promijenite
import timeuimport utimegdje koristiteclockklasu (spajanje time/utime).Na F4 pločama prestanite koristiti
pyb.DACDMA funkcije s međuspremnikom (F4 DAC promjena).Ponovno provjerite skripte koje ovise o ponašanju MicroPythona specifičnom za verziju u odnosu na 1.13 (nadogradnja MicroPythona) i tijekom izvođenja upitajte
cpufreq.get_supported_frequencies()umjesto čvrstog kodiranja (cpufreq promjena).
Sve ostale skripte rade nepromijenjene.