v4.2.2

A v4.2.2 hozzáadja a PNG képtámogatást (dekódolás/kódolás a lodepng segítségével), egy táblavezérelt beépített modellbetöltőt, a Portenta OV5640 támogatását, egy Edge-Impulse TensorFlow frissítést és az ulab 4.0-t. Az RPC CAN konfigurációs API megváltozott — olvassa el az alábbi töréspontos változásokat.

Kiemelt újdonságok

  • PNG támogatásImage.to_png(), image.PNG és PNG fájlok olvasása/írása.

  • tf.load_builtin_model() — táblavezérelt beépített modellek, amelyek build időben kicserélhetők vagy hozzáadhatók.

  • Portenta H7 — OV5640 kamera támogatás (autofókusszal).

  • MicroPython/ulab — az ulab a 4.0.0 verzióra frissült.

  • Töréspontos: az RPC CAN konfigurációs API megváltozott — lásd a töréspontos változásokat.

Új funkciók

  • PNG képformátum — egy új Image.to_png() metódus, egy image.PNG / PIXFORMAT_PNG konstans, PNG fájlok betöltése/mentése (.png olvasás/írás), valamint PNG kimenet az image.to() konverziókban, az integrált lodepng kodek révén.

  • tf.load_builtin_model(path) — betölt egy a firmware-be beépített modellt, és egy (labels, net) tuple-t ad vissza; a beépített modellek mostantól táblavezéreltek, így build időben kicserélhetők vagy hozzáadhatók.

Egyéb változások és fejlesztések

  • TensorFlow / Edge Impulse — a mellékelt következtetési könyvtár az Edge Impulse ei-V2.5.0 verzióra frissült, a person_detection modell átkerült a beépített modelltáblába, és a hiányzó TensorFlow operátorok hozzá lettek adva az összes Cortex-M0+/M4/M7/M55 buildhez, így több Edge Impulse modell fut le.

  • Az ulab a 4.0.0 verzióra frissült.

  • Az USB virtuális soros port 1200 bps sebességen történő megnyitása mostantól Arduino-stílusú érintéses újraindítást vált ki a rendszerbetöltőbe.

  • A WINC1500 WiFi modul firmware-e a 19.7.6 verzióra frissült (a frissítő szkripttel együtt), és mostantól a tényleges host-meghajtó verziót jelenti.

  • Az RP2 port kiírja a „MPY: soft reboot” üzenetet, és UART init/de-init lehetőséget kapott.

Hibajavítások

  • Javítva az Arduino Nano RP2040 Connect nyers képkocka-puffer mérete és az Arduino Nicla Vision USB Product ID-je (helyes USB enumeráció).

Hardver- és kártyatámogatás

  • Arduino Portenta H7 — OV5640 kamera támogatás (autofókusszal); a GC2145 le van tiltva a Portentán.

  • Arduino Nano RP2040 Connect — memóriakonfiguráció és friss fájlrendszer-sablonok.

  • WiFi Shield (WINC1500) — a firmware a 19.7.6 verzióra frissült.

Töréspontos API-változások

A felhasználó számára látható API-törések a v4.2.1 és a v4.2.2 között. Hatókör: a modules/ mappában lévő Python C-modulok és a scripts/libraries/ mappában lévő Python könyvtárak.

Minden változás meg van jelölve a hatásával:

  • minor — szűk API; csak azokat a szkripteket érinti, amelyek használták.

  • behavior — ugyanaz az API, eltérő eredmények; ellenőrizze újra a hangolt szkripteket.

A változások ebben a sorrendben, hatás szerint vannak csoportosítva. Minden commit hash a GitHubon lévő diffjére hivatkozik.

RPC CAN konfigurációs API (minor)

A rpc könyvtárban a rpc_can_master / rpc_can_slave CAN kulcsszó-argumentumot, a sampling_point-ot átnevezték sample_point-ra (az upstream MicroPythonhoz illeszkedve), és a manuális CAN bit-időzítési segédfüggvényt eltávolították — a CAN busz mostantól a CAN(..., baudrate=, sample_point=) segítségével konfigurálható. Azokat a szkripteket, amelyek sampling_point-ot adtak át, vagy a régi bit-időzítési számításra támaszkodtak, frissíteni kell.

Commitok: b565eca58, 06d716986

image.format() és tömörített képek (behavior)

A PNG számára hozzáadott egységes tömörített-kép útvonallal az image.format() mostantól PIXFORMAT_INVALID értéket ad vissza ismeretlen formátum esetén, és a tömörített képek indexelése / iterálása / kiírása mostantól a PNG-t is lefedi, nem csak a JPEG-et. Az ismeretlen formátumokra vonatkozó korábbi visszatérési értéket vizsgáló kódot újra kell ellenőrizni.

Commit: f12a4659c

Migrációs ellenőrzőlista

A v4.2.2-re való tiszta átálláshoz: nevezze át az RPC CAN sampling_pointsample_point argumentumot, és hagyjon el minden manuális CAN bit-időzítési beállítást (az RPC CAN változás), valamint ellenőrizzen újra minden kódot, amely az image.format() értékét vizsgálta ismeretlen formátumok esetén (a format() változás).