v3.8.0¶
v3.8.0 päivittää ytimen versioon MicroPython 1.13, jäädyttää suuren joukon aputkirjastoja laiteohjelmistoon, lisää Portenta Ethernet -tuen (verkkoesimerkkeineen), HDMI CEC -tuen lcd-moduuliin, pyb.CAN -siirtonopeuden/näytteenottopisteen määrityksen sekä joukon H7:n pienitehoisuus- ja HAL-korjauksia. time / utime -moduulit yhdistettiin ja F4:n pyb.DAC DMA poistettiin käytöstä — lue alla olevat rikkovat muutokset.
Kohokohdat¶
MicroPython 1.13 — mukana toimitettu MicroPython-ydin päivitettiin.
Jäädytetyt kirjastot —
uasyncio,mqtt,rpc,rtsp,modbus,bno055,pid,ssd1306ja muita on nyt jäädytetty laiteohjelmistoon.Portenta Ethernet — Ethernet-tuki sekä HTTP- / SSL- / vertaisverkkoesimerkit.
HDMI CEC — uusi CEC-API
lcd-moduulissa (Pure Thermal).pyb.CAN— bittiajoitusbaudrate- /sampling_point-avainsanoista.Rikkova:
time/utime-moduulit yhdistettiin ja F4:npyb.DACDMA-funktiot poistettiin käytöstä — katso rikkovat muutokset.
Uudet ominaisuudet¶
Jäädytetty manifesti —
uasyncio,mqtt,rpc,rtsp,modbus,bno055,mutex,pid,ssd1306,tb6612javl53l1xon nyt jäädytetty laiteohjelmistoon OpenMV 3 / 4 / 4 Plus / Pure Thermal / Portenta -laitteilla.Portenta Ethernet — Ethernet otettiin käyttöön
http_client-,http_client_ssl- japeer_to_peer-esimerkkeineen.HDMI CEC —
lcd-moduuliin lisättiin HDMI CEC -API (Pure Thermal).pyb.CAN— konstruktori /init()johtaa nyt bittiajoituksenbaudrate- jasampling_point-avainsanoista (manuaalinen esijakajamuoto toimii yhä); CAN-esimerkit päivitettiin vastaavasti.
Muut muutokset ja parannukset¶
REPL-bannerissa näkyy nyt HAL-versiomerkkijono; Audio FFT -esimerkki päivitettiin uudemmalle
ulab-API:lle.
Korjaukset¶
Kamera ja sensorit:
Korjattiin OV2640-sensorin kello ja OV5640:n PCLK-taajuuden skaalaus STM32H7 rev Y -laitteilla; FIR I2C -väylä palautetaan arbitration-lost-tilasta pulssittamalla SCL:ää, ja AMG8833:n alustus uusitaan F7:n ohjelmistonollauksen jälkeen.
Teho ja ajastimet:
Korjattiin H7:n pienitehotilaan (stop/standby) siirtyminen — jännitteen skaalaus rev V:lle, oskillaattorin/PLL:n uudelleenkäyttöönotto herätyksessä, SDRAM-pienitehoisuus DRAM-säilytyksellä, Systickin poisto stop-siirtymässä ja DBGMCU:n käyttöönotto vain debug-käännöksissä. Korjattiin
machine.Timer-HAL-tila H7:n HAL-päivityksen jälkeen ja palautettiin SD:n luku/kirjoitus-IRQ-prioriteetin muutos.
Näyttö ja liitettävyys:
Korjattiin F4:n SPI LCD 8/16-bittisen datakoon määritys (väärä
MCU_SERIES-määrittely), palautettiin virhe WINC1500 SPI -väylän alustuksen epäonnistuessa hiljaisen jatkamisen sijaan ja käytettiin staattista SPI-kahvaa WINC1500 SPI -väyläristiriitojen välttämiseksi. Korjattiin MicroPythonin GC-collect-virhe.
Järjestelmä:
unittests.pyei enää merkitse testisarjaa epäonnistuneeksi, kun testi on poistettu käytöstä tai ei ole saatavilla; poistettiin rikkinäiset Thermopile-shieldincamera_lcd-esimerkit.
Laitteisto- ja korttituki¶
OpenMV Pure Thermal — kortti päivitettiin ja nimettiin uudelleen (
OPENMVPURETHERMAL→OPENMVPT), HDMI CEC -tuella.OpenMV 2 — OV2640-kameraohjain otettiin käyttöön.
Arduino Portenta H7 — Ethernet-tuki.
Rikkovat API-muutokset¶
Käyttäjälle näkyvät API-muutokset versioiden v3.7.0 ja v3.8.0 välillä. Laajuus: Python C -moduulit hakemistossa modules/ ja Python-kirjastot hakemistossa scripts/libraries/.
Jokainen muutos on merkitty vaikutuksensa mukaan:
vähäinen — kapea API; koskee vain sitä käyttäneitä skriptejä.
käyttäytyminen — sama API, eri tulokset; tarkista hienosäädetyt skriptit uudelleen.
Muutokset on ryhmitelty vaikutuksen mukaan tässä järjestyksessä. Jos haluat vain siirtää koodisi, hyppää lopussa olevaan siirtymistarkistuslistaan. Jokainen commit-tiiviste linkittää diffiinsä GitHubissa.
time / utime -moduulit yhdistettiin (vähäinen)¶
time- ja utime-moduulit yhdistettiin, ja OpenMV:n clock-luokka siirrettiin moduuliin utime. Kaikki mukana toimitetut esimerkit päivitettiin muotoon import utime / clock = utime.clock(). Skriptien, jotka luottivat clock-luokan saamiseen komennolla import time, tulisi tuoda utime sen sijaan.
Commitit: 20587f308
F4:n pyb.DAC DMA-funktiot poistettiin käytöstä (vähäinen)¶
F4-pohjaisilla korteilla DMA:ta vaativat pyb.DAC -funktiot poistettiin käytöstä, koska F4:n keko sijaitsee CCM:ssä, joka ei ole DMA:n käytettävissä. F4-skriptien, jotka käyttivät DAC DMA -puskurikirjoituksia, on vältettävä näitä funktioita.
Commitit: d61f236f2
MicroPython päivitettiin versioon 1.13 (käyttäytyminen)¶
Mukana toimitettu MicroPython-ydin päivitettiin versioon 1.13. Vakiokirjaston ja kielen käyttäytyminen noudattaa MicroPython 1.13:n yläjuurta; tarkista uudelleen skriptit, jotka riippuvat versiokohtaisesta micropython - / vakiomoduulikäyttäytymisestä.
Commitit: fb0a5e26d
cpufreq-tuetut taajuudet ovat versiokohtaisia (käyttäytyminen)¶
Lisää CPU-taajuuksia lisättiin ja tehtiin piiriversiotietoisiksi: cpufreq.get_supported_frequencies() palauttaa nyt H7:llä versiokohtaisen listan (50/100/200/400 MHz rev X/Y:llä, 60/120/240/480 MHz rev V:llä). Skriptien, jotka kovakoodasivat taajuuden vanhasta kiinteästä listasta, tulisi kysellä tuettua listaa ajonaikaisesti.
Commitit: 825dd0742
Siirtymistarkistuslista¶
Puhdas siirtyminen versioon v3.8.0 tarkoittaa tyypillisesti:
Vaihda
import timemuotoonimport utimesiellä, missä käytätclock-luokkaa (time/utime-yhdistäminen).F4-korteilla lopeta
pyb.DACDMA-puskurifunktioiden käyttö (F4 DAC -muutos).Validoi uudelleen skriptit, jotka riippuvat versiokohtaisesta MicroPython-käyttäytymisestä versiota 1.13 vasten (MicroPython-päivitys) ja kysele
cpufreq.get_supported_frequencies()ajonaikaisesti kovakoodaamisen sijaan (cpufreq-muutos).
Kaikki muut skriptit toimivat muuttumattomina.