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