v4.2.2¶
v4.2.2 lägger till stöd för PNG-bilder (avkodning/kodning via lodepng), en tabelldriven inläsare för inbyggda modeller, OV5640-stöd för Portenta, en uppdatering av Edge-Impulse TensorFlow samt ulab 4.0. Konfigurations-API:t för RPC CAN ändrades — läs om de brytande ändringarna nedan.
Höjdpunkter¶
PNG-stöd —
Image.to_png(),image.PNGoch läsning/skrivning av PNG-filer.tf.load_builtin_model()— tabelldrivna inbyggda modeller som kan ersättas eller läggas till vid bygget.Portenta H7 — stöd för OV5640-kameran (med autofokus).
MicroPython/ulab — ulab uppdaterad till 4.0.0.
Brytande: konfigurations-API:t för RPC CAN ändrades — se de brytande ändringarna.
Nya funktioner¶
PNG-bildformat — en ny metod
Image.to_png(), en konstantimage.PNG/PIXFORMAT_PNG, in- och utläsning av PNG-filer (läs/skriv.png) samt PNG-utdata i konverteringar medimage.to(), via den integrerade lodepng-codecen.tf.load_builtin_model(path)— läser in en inbyggd modell ur den fasta programvaran och returnerar en(labels, net)-tupel; inbyggda modeller är nu tabelldrivna så att de kan ersättas eller läggas till vid bygget.
Övriga ändringar och förbättringar¶
TensorFlow / Edge Impulse — det medföljande inferensbiblioteket uppdaterades till Edge Impulse ei-V2.5.0, modellen
person_detectionflyttades in i tabellen över inbyggda modeller, och saknade TensorFlow-operatorer lades till i samtliga Cortex-M0+/M4/M7/M55-byggen så att fler Edge Impulse-modeller fungerar.ulab uppdaterad till 4.0.0.
Att öppna den virtuella USB-serieporten i 1200 bps utlöser nu en återställning till startladdaren i Arduino-stil.
WINC1500:s WiFi-moduls fasta programvara uppdaterades till 19.7.6 (med uppdateringsskriptet), och den rapporterar nu den faktiska versionen av värddrivrutinen.
RP2-porten skriver ut ”MPY: soft reboot” och fick stöd för UART init/de-init.
Buggfixar¶
Rättade storleken på den råa bildbufferten för Arduino Nano RP2040 Connect samt USB-produkt-ID:t för Arduino Nicla Vision (korrekt USB-uppräkning).
Maskinvaru- och kortstöd¶
Arduino Portenta H7 — stöd för OV5640-kameran (med autofokus); GC2145 är inaktiverad på Portenta.
Arduino Nano RP2040 Connect — minneskonfiguration och mallar för ett nytt filsystem.
WiFi Shield (WINC1500) — fast programvara uppdaterad till 19.7.6.
Brytande API-ändringar¶
Användarsynliga API-brott mellan v4.2.1 och v4.2.2. Omfattning: Python C-moduler i modules/ och Python-bibliotek i scripts/libraries/.
Varje ändring är märkt med sin påverkan:
minor — smalt API; påverkar bara skript som använde det.
behavior — samma API, andra resultat; kontrollera trimmade skript på nytt.
Ändringarna är grupperade efter påverkan i den ordningen. Varje commit-hash länkar till sin diff på GitHub.
Konfigurations-API för RPC CAN (minor)¶
I biblioteket rpc döptes nyckelordsargumentet sampling_point för CAN i rpc_can_master / rpc_can_slave om till sample_point (för att matcha MicroPython uppströms), och hjälpfunktionen för manuell CAN-bittiming togs bort — CAN-bussen konfigureras nu via CAN(..., baudrate=, sample_point=). Skript som skickade sampling_point eller förlitade sig på den gamla bittimingberäkningen måste uppdateras.
image.format() och komprimerade bilder (behavior)¶
Med den enhetliga vägen för komprimerade bilder som lades till för PNG returnerar image.format() nu PIXFORMAT_INVALID för ett okänt format, och indexering/iteration/utskrift av komprimerade bilder omfattar nu PNG såväl som JPEG. Kod som inspekterade det tidigare returvärdet för okända format bör kontrolleras på nytt.
Commit: f12a4659c
Migreringschecklista¶
För en ren övergång till v4.2.2: byt namn på RPC CAN sampling_point → sample_point och ta bort eventuell manuell uppsättning av CAN-bittiming (RPC CAN-ändringen), och kontrollera all kod som inspekterade image.format() för okända format (format()-ändringen).