v4.5.0¶
v4.5.0 on suuri julkaisu. Vanha lcd-moduuli korvattiin yhtenäisellä display-moduulilla, jolla on erilliset SPI- / rinnakkais- / DSI- / TV-taustajärjestelmät, mukaan lisättiin Arduino Giga -kortti, ja saataville tuli joukko näyttö-, kosketus- ja sensorinhallintaominaisuuksia. Mukana on useita rikkovia muutoksia — lue ne alta.
Kohokohdat¶
Uusi
display-moduuli — korvaalcd-moduulin yhtenäisilläSPIDisplay/RGBDisplay/DSIDisplay/TVDisplay-taustajärjestelmillä.Arduino Giga -kortin tuki.
Uutta näyttö- ja kosketuslaitteistoa — DSI-näytöt STM32 H7:llä, TFP410 DVI/HDMI, HDMI/DVI CEC, ST7701 RGB -paneelit sekä GT911 / FT5X06 -kapasitiiviset kosketukset.
Uudet sensorinhallinnat — mustan tason kalibrointi, yötila ja
sensor.disable_delays(); paljon nopeampi transpoosi (~5x) ja morfologia (~2,5x).Rikkova:
lcd→display,lcd_touch→ft5x06, uudelleennimetyt LED-nastat — katso rikkovat muutokset.
Uudet ominaisuudet¶
Näyttötaustajärjestelmät —
DisplayData(DDC/EDID-luku),TFP410DVI/HDMI -sarjastin, MIPI-DSI-näyttötuki STM32 H7:llä, HDMI/DVIcec-ajuri sekä Python-pohjainendisplay-kirjasto, jossa onST7701RGB -paneelin alustusapuri.Kosketus — uusi
GT9115-pisteinen kapasitiivinen kosketusajuri (read_points()/read_id()/reset()).machine-laajennus — jäädytettävämachine-kirjastomachine.LED-apuluokalla sekä uusimachine.LED.value([v])-metodi.Sensorinhallinnat —
sensor.set_auto_blc(enable, regs=None)/sensor.get_blc_regs()(mustan tason kalibrointi),IOCTL_SET_NIGHT_MODE/IOCTL_GET_NIGHT_MODE(OV7725/OV5640), OV7670:n hmirror/vflip sekäsensor.disable_delays(), jolla ohitetaan kameran asettumisviiveet nopeampaa uudelleenkonfigurointia varten.i.MX RT —
sensor.set_xclk_frequency()hyväksyy nyt minkä tahansa taajuuden (pyöristäen lähimpään kelvolliseen CSI-jakajaan), ja SPIlcd/tv/fir-moduulit otettiin käyttöön RT1060:llä.
Muut muutokset ja parannukset¶
Paljon nopeammat kuvaoperaatiot — kuvan transpoosi on ~5x nopeampi ja
image.morph()~2,5x nopeampi.Kameraväylän tunnistus skannaa ja vahvistaa nyt useita laiteosoitteita, mikä tukee kortteja, joilla on useita laitteita väylällä.
Virheenkorjaukset¶
Kamera ja sensorit:
Korjattiin vahvistuslaskennan tarkkuutta monilla sensoreilla (HM01B0, HM0360, MT9M114, MT9V0xx, OV2640, OV5640, OV7690, OV7725, OV9650, PAJ6100), MT9V0xx:n valotus / sarakeyhdistely, OV5640:n valotus sekä OV7670:n VGA-ikkunointi.
STM32 hylkää nyt vioittuneet transpoosikehykset sen sijaan, että palauttaisi viallisia kuvia.
Kuvankäsittely:
Korjattiin kokonaislukuylivuoto, joka vaikutti kuva- / FIR- / ToF- / LCD- / TV-operaatioihin, virheelliset
vcvtm/vcvtp-liukulukukäskyt Cortex-M4:llä (fast_floorf/fast_ceilf), paikallaan tapahtuvan skaalauksen virheimage.to_*()-muunnoksessa sekä DMA2D-piirron välimuistin vioittuminen.
Näyttö ja järjestelmä:
Korjattiin DSI-näytön ajoitus ja pystytila,
micro_speech-moduulinlisten()Nicla Vision / Portenta H7 -korteilla, STM32:n käyttäjäkytkin (pyb.Switch) sekä I2C4-väylän tuki.
Laitteisto- ja korttituki¶
Arduino Giga — uusi kortti, jossa on nimetyt Arduino-nastamääritykset ja täysi esimerkkikokoelma.
OpenMV RT1060 — SPI LCD-, TV- ja FIR-lämpömoduulit otettu käyttöön.
Arduino Nano 33 BLE Sense — LED-nastat.
Rikkovat API-muutokset¶
Käyttäjälle näkyvät API-rikkoutumiset versioiden v4.4.3 ja v4.5.0 välillä. Laajuus: Python C-moduulit hakemistossa modules/ ja Python-kirjastot hakemistossa scripts/libraries/.
Jokainen muutos on merkitty vaikutuksensa mukaan:
major — useimmat sitä käyttäneet skriptit vaativat muokkauksia.
minor — kapea API; vaikuttaa vain sitä käyttäneisiin skripteihin.
behavior — 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.
lcd-moduuli korvattu display-moduulilla (major)¶
Vanha lcd-moduuli poistettiin ja korvattiin yhtenäisellä display-moduulilla, joka on jaettu SPIDisplay (SPI LCD -laajennus), RGBDisplay / rinnakkais-, DSIDisplay (MIPI-DSI) ja TVDisplay -taustajärjestelmiin, joilla on yhteinen API. Skriptien on vaihdettava import lcd -kutsusta display-moduuliin ja luotava sopiva taustajärjestelmäolio.
Kosketusmoduuli, LED-nastat ja mukana toimitetut ajurit (minor)¶
Yleinen lcd_touch -moduuli korvattiin omistetulla FT5X06 kapasitiivisen kosketuksen ajurimoduulilla. LED-nastojen nimet nimettiin uudelleen yhtenäisiksi kaikilla korteilla (vanhoja LED-nastanimiä käyttävät skriptit on päivitettävä). Mukana toimitetut hts221 / lps22h / lsm6dsox / lsm9ds1 IMU-/sensoriajurit korvattiin micropython-libin ylävirran versioilla, joiden API:t poikkeavat hieman (mukana toimitetut esimerkit päivitettiin vastaamaan niitä).
Tukemattomat sensorinhallinnat varoittavat nyt (behavior)¶
sensor.set_auto_gain(), set_auto_exposure(), set_auto_whitebal() ja set_auto_blc() tulostavat nyt varoituksen sen sijaan, että nostaisivat RuntimeError-poikkeuksen, kun aktiivinen sensori ei tue kyseistä hallintaa, jotta sama skripti voi toimia eri kykyjen sensoreilla. Poikkeuksen sieppaamiseen luottava koodi on päivitettävä.
Commit: dbf4996f2
Siirtymistarkistuslista¶
Siistiin v4.5.0-siirtoon kuuluu tyypillisesti:
Korvaa
import lcd-käyttö uudelladisplay-moduulilla ja sopivalla taustajärjestelmällä (display-moduulin muutos).Vaihda
lcd_touchFT5X06-moduuliin, päivitä mahdolliset vanhat LED-nastanimet ja tarkista ylävirran IMU-ajurien API:t uudelleen (kosketus-/nasta-/ajurimuutokset).Korvaa tukemattomien sensorinhallintojen ympärillä oleva
try/except RuntimeErrorkyvykkyystarkistuksilla (sensorinhallinnan muutos).