v4.2.2¶
v4.2.2 adaugă suport pentru imagini PNG (decodare/codare prin lodepng), un încărcător de modele integrate bazat pe tabel, suport OV5640 pentru Portenta, o actualizare TensorFlow Edge Impulse și ulab 4.0. API-ul de configurare RPC CAN s-a schimbat — citiți modificările incompatibile de mai jos.
Aspecte importante¶
Suport PNG —
Image.to_png(),image.PNGși citire/scriere a fișierelor PNG.tf.load_builtin_model()— modele integrate bazate pe tabel, care pot fi înlocuite sau adăugate în momentul compilării.Portenta H7 — suport pentru camera OV5640 (cu autofocus).
MicroPython/ulab — ulab actualizat la 4.0.0.
Incompatibil: API-ul de configurare RPC CAN s-a schimbat — vedeți modificările incompatibile.
Funcționalități noi¶
Formatul de imagine PNG — o nouă metodă
Image.to_png(), o constantăimage.PNG/PIXFORMAT_PNG, încărcare/salvare a fișierelor PNG (citire/scriere.png) și ieșire PNG în conversiileimage.to(), prin codecul lodepng integrat.tf.load_builtin_model(path)— încarcă un model integrat în firmware și returnează un tuplu(labels, net); modelele integrate sunt acum bazate pe tabel, astfel încât pot fi înlocuite sau adăugate în momentul compilării.
Alte modificări și îmbunătățiri¶
TensorFlow / Edge Impulse — biblioteca de inferență inclusă a fost actualizată la Edge Impulse ei-V2.5.0, modelul
person_detectiona fost mutat în tabelul de modele integrate, iar operatorii TensorFlow lipsă au fost adăugați în toate compilările Cortex-M0+/M4/M7/M55, astfel încât rulează mai multe modele Edge Impulse.ulab actualizat la 4.0.0.
Deschiderea portului serial virtual USB la 1200 bps declanșează acum o resetare prin atingere în stil Arduino, în bootloader.
Firmware-ul modulului WiFi WINC1500 a fost actualizat la 19.7.6 (împreună cu scriptul de actualizare), iar acum raportează versiunea reală a driverului gazdă.
Portul RP2 afișează „MPY: soft reboot” și a primit inițializare/de-inițializare UART.
Remedieri de erori¶
S-a corectat dimensiunea tamponului de cadre brut (frame buffer) al Arduino Nano RP2040 Connect și ID-ul de produs USB al Arduino Nicla Vision (enumerare USB corectă).
Suport hardware și plăci¶
Arduino Portenta H7 — suport pentru camera OV5640 (cu autofocus); GC2145 este dezactivat pe Portenta.
Arduino Nano RP2040 Connect — configurarea memoriei și șabloane pentru un sistem de fișiere nou.
WiFi Shield (WINC1500) — firmware actualizat la 19.7.6.
Modificări incompatibile de API¶
Modificări de API vizibile pentru utilizator între v4.2.1 și v4.2.2. Domeniu: module C Python din modules/ și biblioteci Python din scripts/libraries/.
Fiecare modificare este etichetată cu impactul său:
minor — API restrâns; afectează doar scripturile care l-au folosit.
comportament — același API, rezultate diferite; reverificați scripturile reglate.
Modificările sunt grupate după impact, în această ordine. Fiecare hash de commit trimite la diff-ul său pe GitHub.
API-ul de configurare RPC CAN (minor)¶
În biblioteca rpc, argumentul de tip cuvânt-cheie CAN sampling_point din rpc_can_master / rpc_can_slave a fost redenumit sample_point (pentru a corespunde cu MicroPython din amonte), iar funcția auxiliară de configurare manuală a temporizării de biți CAN a fost eliminată — magistrala CAN este acum configurată prin CAN(..., baudrate=, sample_point=). Scripturile care transmiteau sampling_point sau se bazau pe vechiul calcul al temporizării de biți trebuie actualizate.
image.format() și imaginile comprimate (comportament)¶
Cu calea unificată pentru imagini comprimate adăugată pentru PNG, image.format() returnează acum PIXFORMAT_INVALID pentru un format necunoscut, iar indexarea / iterarea / afișarea imaginilor comprimate acoperă acum atât PNG, cât și JPEG. Codul care inspecta valoarea de retur anterioară pentru formate necunoscute ar trebui reverificat.
Commit: f12a4659c
Listă de verificare pentru migrare¶
Pentru o portare curată la v4.2.2: redenumiți RPC CAN sampling_point → sample_point și eliminați orice configurare manuală a temporizării de biți CAN (modificarea RPC CAN), și reverificați orice cod care inspecta image.format() pentru formate necunoscute (modificarea format()).