v4.2.2

v4.2.2 menambahkan dukungan citra PNG (decode/encode melalui lodepng), pemuat model bawaan berbasis tabel, dukungan Portenta OV5640, pembaruan TensorFlow Edge-Impulse, dan ulab 4.0. API konfigurasi RPC CAN berubah — baca perubahan yang merusak di bawah ini.

Sorotan

  • Dukungan PNGImage.to_png(), image.PNG, dan baca/tulis file PNG.

  • tf.load_builtin_model() — model bawaan berbasis tabel yang dapat diganti atau ditambahkan saat waktu build.

  • Portenta H7 — dukungan kamera OV5640 (dengan autofokus).

  • MicroPython/ulab — ulab diperbarui ke 4.0.0.

  • Perubahan merusak: API konfigurasi RPC CAN berubah — lihat perubahan yang merusak.

Fitur baru

  • Format citra PNG — metode baru Image.to_png(), konstanta image.PNG / PIXFORMAT_PNG, muat/simpan file PNG (baca/tulis .png), dan keluaran PNG dalam konversi image.to(), melalui codec lodepng yang terintegrasi.

  • tf.load_builtin_model(path) — memuat model bawaan firmware dan mengembalikan tuple (labels, net); model bawaan kini berbasis tabel sehingga dapat diganti atau ditambahkan saat waktu build.

Perubahan dan peningkatan lainnya

  • TensorFlow / Edge Impulse — pustaka inferensi yang disertakan diperbarui ke Edge Impulse ei-V2.5.0, model person_detection dipindahkan ke tabel model bawaan, dan operator TensorFlow yang hilang ditambahkan di semua build Cortex-M0+/M4/M7/M55 sehingga lebih banyak model Edge Impulse dapat berjalan.

  • ulab diperbarui ke 4.0.0.

  • Membuka port serial virtual USB pada 1200 bps kini memicu reset sentuh gaya Arduino ke bootloader.

  • Firmware modul WiFi WINC1500 diperbarui ke 19.7.6 (dengan skrip updater), dan kini melaporkan versi driver host yang sebenarnya.

  • Port RP2 mencetak "MPY: soft reboot" dan mendapatkan inisialisasi/de-inisialisasi UART.

Perbaikan bug

  • Memperbaiki ukuran buffer bingkai mentah Arduino Nano RP2040 Connect dan USB Product ID Arduino Nicla Vision (enumerasi USB yang benar).

Dukungan hardware dan board

  • Arduino Portenta H7 — dukungan kamera OV5640 (dengan autofokus); GC2145 dinonaktifkan pada Portenta.

  • Arduino Nano RP2040 Connect — konfigurasi memori dan template filesystem baru.

  • WiFi Shield (WINC1500) — firmware diperbarui ke 19.7.6.

Perubahan API yang merusak

Perubahan API yang terlihat oleh pengguna antara v4.2.1 dan v4.2.2. Cakupan: C-module Python di modules/ dan pustaka Python di scripts/libraries/.

Setiap perubahan ditandai dengan dampaknya:

  • minor — API sempit; hanya mempengaruhi skrip yang menggunakannya.

  • behavior — API sama, hasil berbeda; periksa ulang skrip yang telah disetel.

Perubahan dikelompokkan berdasarkan dampak dalam urutan tersebut. Setiap hash commit menautkan ke diff-nya di GitHub.

API konfigurasi RPC CAN (minor)

Dalam pustaka rpc, argumen kata kunci CAN sampling_point pada rpc_can_master / rpc_can_slave diganti namanya menjadi sample_point (untuk menyesuaikan dengan MicroPython upstream), dan helper pengaturan bit-timing CAN manual dihapus — bus CAN kini dikonfigurasi melalui CAN(..., baudrate=, sample_point=). Skrip yang melewatkan sampling_point atau bergantung pada komputasi bit-timing lama harus diperbarui.

Commit: b565eca58, 06d716986

image.format() dan citra terkompresi (behavior)

Dengan jalur citra terkompresi terpadu yang ditambahkan untuk PNG, image.format() kini mengembalikan PIXFORMAT_INVALID untuk format yang tidak dikenal, dan pengindeksan/iterasi/pencetakan citra terkompresi kini mencakup PNG maupun JPEG. Kode yang memeriksa nilai kembalian sebelumnya untuk format yang tidak dikenal harus diperiksa ulang.

Commit: f12a4659c

Daftar periksa migrasi

Untuk port bersih ke v4.2.2: ganti nama RPC CAN sampling_pointsample_point dan hapus pengaturan bit-timing CAN manual apa pun (perubahan RPC CAN), dan periksa ulang kode yang memeriksa image.format() untuk format yang tidak dikenal (perubahan format()).