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 — korvaa lcd-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: lcddisplay, lcd_touchft5x06, uudelleennimetyt LED-nastat — katso rikkovat muutokset.

Uudet ominaisuudet

  • NäyttötaustajärjestelmätDisplayData (DDC/EDID-luku), TFP410 DVI/HDMI -sarjastin, MIPI-DSI-näyttötuki STM32 H7:llä, HDMI/DVI cec -ajuri sekä Python-pohjainen display-kirjasto, jossa on ST7701 RGB -paneelin alustusapuri.

  • Kosketus — uusi GT911 5-pisteinen kapasitiivinen kosketusajuri (read_points() / read_id() / reset()).

  • machine-laajennus — jäädytettävä machine-kirjasto machine.LED-apuluokalla sekä uusi machine.LED.value([v]) -metodi.

  • Sensorinhallinnatsensor.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 RTsensor.set_xclk_frequency() hyväksyy nyt minkä tahansa taajuuden (pyöristäen lähimpään kelvolliseen CSI-jakajaan), ja SPI lcd / 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 virhe image.to_*() -muunnoksessa sekä DMA2D-piirron välimuistin vioittuminen.

Näyttö ja järjestelmä:

  • Korjattiin DSI-näytön ajoitus ja pystytila, micro_speech-moduulin listen() 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.

Commitit: 227824aac, 6c6336829

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ä).

Commitit: 86ad6dcdb, 9344c3b74, 2b5b7963b

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:

  1. Korvaa import lcd -käyttö uudella display-moduulilla ja sopivalla taustajärjestelmällä (display-moduulin muutos).

  2. Vaihda lcd_touch FT5X06-moduuliin, päivitä mahdolliset vanhat LED-nastanimet ja tarkista ylävirran IMU-ajurien API:t uudelleen (kosketus-/nasta-/ajurimuutokset).

  3. Korvaa tukemattomien sensorinhallintojen ympärillä oleva try/except RuntimeError kyvykkyystarkistuksilla (sensorinhallinnan muutos).