v4.2.2

v4.2.2 lisää PNG-kuvatuen (dekoodaus/koodaus lodepng-kirjastolla), taulukkopohjaisen sisäänrakennettujen mallien latausohjelman, Portenta OV5640 -tuen, Edge-Impulse TensorFlow -päivityksen sekä ulab 4.0:n. RPC CAN -määritysrajapinta muuttui — lue alla olevat rikkovat muutokset.

Kohokohdat

  • PNG-tukiImage.to_png(), image.PNG sekä PNG-tiedostojen luku/kirjoitus.

  • tf.load_builtin_model() — taulukkopohjaiset sisäänrakennetut mallit, jotka voidaan korvata tai lisätä käännösvaiheessa.

  • Portenta H7 — OV5640-kameratuki (automaattitarkennuksella).

  • MicroPython/ulab — ulab päivitetty versioon 4.0.0.

  • Rikkova: RPC CAN -määritysrajapinta muuttui — katso rikkovat muutokset.

Uudet ominaisuudet

  • PNG-kuvaformaatti — uusi Image.to_png()-metodi, image.PNG / PIXFORMAT_PNG -vakio, PNG-tiedostojen lataus/tallennus (.png-tiedostojen luku/kirjoitus) sekä PNG-tuloste image.to()-muunnoksissa, integroidun lodepng-koodekin kautta.

  • tf.load_builtin_model(path) — lataa laiteohjelmistoon sisäänrakennetun mallin ja palauttaa (labels, net)-monikon; sisäänrakennetut mallit ovat nyt taulukkopohjaisia, joten ne voidaan korvata tai lisätä käännösvaiheessa.

Muut muutokset ja parannukset

  • TensorFlow / Edge Impulse — mukana toimitettu päättelykirjasto päivitettiin Edge Impulse ei-V2.5.0:aan, person_detection-malli siirrettiin sisäänrakennettujen mallien taulukkoon, ja puuttuvat TensorFlow-operaattorit lisättiin kaikkiin Cortex-M0+/M4/M7/M55-käännöksiin, jotta useampi Edge Impulse -malli toimii.

  • ulab päivitetty versioon 4.0.0.

  • USB-virtuaalisarjaportin avaaminen nopeudella 1200 bps käynnistää nyt Arduino-tyylisen kosketusnollauksen käynnistyslataimeen.

  • WINC1500 WiFi -moduulin laiteohjelmisto päivitettiin versioon 19.7.6 (päivitysskriptin kanssa), ja se raportoi nyt todellisen isäntäajurin version.

  • RP2-portti tulostaa ”MPY: soft reboot” ja sai UART-alustuksen/-poisalustuksen.

Virheenkorjaukset

  • Korjattiin Arduino Nano RP2040 Connectin raakakehyspuskurin koko ja Arduino Nicla Visionin USB-tuotetunnus (oikea USB-tunnistus).

Laitteisto- ja korttituki

  • Arduino Portenta H7 — OV5640-kameratuki (automaattitarkennuksella); GC2145 on poistettu käytöstä Portentassa.

  • Arduino Nano RP2040 Connect — muistimääritys ja tyhjän tiedostojärjestelmän mallipohjat.

  • WiFi Shield (WINC1500) — laiteohjelmisto päivitetty versioon 19.7.6.

Rikkovat rajapintamuutokset

Käyttäjälle näkyvät rajapintamuutokset versioiden v4.2.1 ja v4.2.2 välillä. Laajuus: Python-C-moduulit hakemistossa modules/ ja Python-kirjastot hakemistossa scripts/libraries/.

Jokainen muutos on merkitty vaikutuksensa mukaan:

  • minor — kapea rajapinta; vaikuttaa vain sitä käyttäneisiin skripteihin.

  • behavior — sama rajapinta, eri tulokset; tarkista hienosäädetyt skriptit uudelleen.

Muutokset on ryhmitelty vaikutuksen mukaan tässä järjestyksessä. Jokainen commit-tiiviste linkittää muutoksensa diffiin GitHubissa.

RPC CAN -määritysrajapinta (minor)

rpc-kirjastossa rpc_can_master / rpc_can_slave -funktioiden CAN-avainsana-argumentti sampling_point nimettiin uudelleen muotoon sample_point (yhteensopivuudeksi MicroPythonin kanssa), ja manuaalinen CAN-bittiajoituksen aputoiminto poistettiin — CAN-väylä määritetään nyt CAN(..., baudrate=, sample_point=)-kutsulla. Skriptit, jotka antoivat sampling_point-arvon tai luottivat vanhaan bittiajoituslaskentaan, on päivitettävä.

Commitit: b565eca58, 06d716986

image.format() ja pakatut kuvat (behavior)

PNG:tä varten lisätyn yhtenäisen pakatun kuvan käsittelypolun myötä image.format() palauttaa nyt PIXFORMAT_INVALID tuntemattomalle formaatille, ja pakattujen kuvien indeksointi / iterointi / tulostus kattaa nyt sekä PNG:n että JPEG:n. Koodi, joka tarkasteli aiempaa paluuarvoa tuntemattomille formaateille, kannattaa tarkistaa uudelleen.

Commit: f12a4659c

Siirtymän tarkistuslista

Puhtaaseen siirtymiseen versioon v4.2.2: nimeä RPC CAN sampling_pointsample_point ja poista manuaalinen CAN-bittiajoituksen asetus (RPC CAN -muutos), ja tarkista uudelleen kaikki koodi, joka tarkasteli image.format()-arvoa tuntemattomille formaateille (format()-muutos).