v4.7.0

v4.7.0 adalah rilis besar yang berfokus pada NPU dan ROMFS yang dibangun di atas Qt Creator 14.0.2. Rilis ini memperkenalkan alur kerja ROM filesystem pada perangkat dengan kompiler model ARM Ethos-U (Vela) dan ST Edge AI yang terintegrasi, menambahkan pemrograman pabrik berbasis STM32CubeProgrammer untuk OpenMV N6, dan menyertakan firmware OpenMV 4.7.0 untuk semua board. Perlu diperhatikan bahwa memperbarui kamera apa pun dari firmware sebelum 4.7.0 kini memaksa penghapusan FAT filesystem dan reset ROMFS, yang akan menghapus file yang tersimpan di flash internal perangkat; lihat Perubahan yang merusak kompatibilitas di bawah ini.

Sorotan

  • Alur kerja ROM File System memungkinkan Anda membuat, mengedit, mem-flash, dan mereset filesystem read-only pada perangkat agar model ML dapat disimpan di kamera, terintegrasi dengan bootloader DFU, IMX, Bossac, Picotool, dan Arduino-DFU. (efcc52fd8, f2cbcc802, a7e52424a, 60b05326d, 7140fc2aa)

  • Kompiler model ARM Ethos-U Vela dan ST Edge AI kini terintegrasi sehingga model .tflite/.onnx secara otomatis dikompilasi ke NPU saat dimuat ke board Ethos-U55 (OpenMV AE3) atau Neural-ART (OpenMV N6). (411f708ea, 3064411ad)

  • STM32CubeProgrammer kini disertakan untuk memungkinkan pemrograman pabrik bootloader OpenMV N6 (STM32N657) melalui FlashLayout.tsv. (334b04dbd, 54fea4d57, 28cc94a6e)

  • Browser Model Zoo mendapatkan kotak centang "Filter models by board type" yang dikendalikan oleh tabel models/index.csv baru yang menyembunyikan model yang tidak kompatibel dengan board yang terhubung. (80adb2079)

  • Penyelarasan ROMFS per ekstensi: editor citra ROMFS kini mengurutkan file secara alfabetis dan mengemasnya menggunakan aturan penyelarasan byte dari settings.json (misalnya, model .tflite disejajarkan ke 16 byte). (e87b2bf06)

  • Firmware bawaan diperbarui ke 4.7.0 untuk semua board OpenMV dan Arduino. (6d04b1b50, d0bbb1fe7, d7d3120b3)

Fitur baru

  • Submenu ROM File System (New / Open / Edit ROMFS on OpenMV Cam / Reset ROMFS on OpenMV Cam) menggantikan aksi Edit ROM File System yang lama. (0bc275a0a, 958f732b5)

  • Browser Open Model Zoo dengan status model yang dipilih secara persisten dan pratinjau perubahan pilihan, termasuk pustaka model STMicroelectronics, Qualcomm, DeGirum, Edge Impulse, dan Google yang disertakan. (58033c5df, 2a1fb071a, 48c5b96fe, c0959833c)

  • Item menu Convert Model for NPU di bawah Machine Vision Tools mengompilasi model TensorFlow Lite (.tflite) atau ONNX (.onnx) untuk akselerator NPU board (Vela untuk Ethos-U .tflite, ST Edge AI untuk N6 Neural-ART .tflite/.onnx) dan menyimpan model yang telah dikonversi ke disk atau kamera. (3913f5b8b)

  • Alat Copy/Convert Python File menyalin skrip Python ke kamera atau disk dan secara opsional melakukan cross-compile ke bytecode MicroPython .mpy melalui mpy-cross; alat ini berada di submenu MicroPython Tools baru di bawah Tools. (e9d7fa143, 47188c0e3)

  • Tombol toggle Wrap Text ditambahkan ke terminal serial OpenMV dan panel output General Messages; keduanya melakukan word-wrap pada output mereka dan menyimpan pengaturan di seluruh sesi. (8c052845a, 51d3e1ad6)

  • Cross-compilation ROMFS mpy-cross dengan flag arsitektur per-board (armv7emsp/armv7emdp) memungkinkan skrip MicroPython dibekukan ke dalam citra ROMFS. (8c71548df)

  • Dialog bootloader firmware kini menerima file ROMFS *.img selain *.bin dan *.dfu, memvalidasi ekstensi per-bootloader, dan menonaktifkan kotak centang Reset ROMFS file system yang ada saat memuat file *.img. (79f348b36)

  • Pembaruan dari versi sebelum 4.7.0 kini memaksa kotak centang FAT-erase dan ROMFS reset/update aktif dan memperingatkan bahwa pembaruan mengharuskan penghapusan FAT filesystem. (f6f3355b0)

Perubahan dan peningkatan lainnya

  • Mereorganisasi model zoo Qualcomm bawaan ke dalam folder berbasis tugas (image_classification, object_detection, pose_estimation, semantic_segmentation, depth_estimation), menghapus model besar yang tidak didukung (YOLOv7, YOLOv8, deeplabv3, mobilenet_v2), dan menambahkan resnet18 serta densenet_121 (dengan kompatibilitas board yang lebih luas), ditambah facemap_3dmm dan FFNet_40S (khusus AE3/N6). (300ce2fc2)

  • Menambahkan vendor model Edge Impulse baru (model deteksi wajah FOMO) dan model Google baru (micro_speech, mnist_lstm, person_detection) ke model zoo bawaan, serta menambahkan aksi View/Edit ke menu konteks editor ROMFS. (80adb2079)

  • Membersihkan tautan model-zoo: menambahkan model Qualcomm face_attrib_net (AE3/N6), menghapus entri YOLO-NAS yang rusak, dan memperbaiki filter kompatibilitas board untuk beberapa model deteksi objek STMicroelectronics. (fd639bda0)

  • Menambahkan label model lebih banyak, mengalihkan konfigurasi akselerator NPU satu model dari stai ke stedgeai, dan memperluas filter kompatibilitas board st_yolo_x (kini juga OPENMV_RT1060, OPENMV4P, ARDUINO_GIGA, PORTENTA_H7, dan NICLA_VISION selain AE3/N6). (1515631ce)

  • Menambahkan model .tflite ke ROMFS kini melewati kompilasi Vela/Ethos-U jika model sudah dikompilasi Ethos-U (hanya disalin), dan aksi dialog diganti namanya dari Add Model menjadi Model Zoo. (9c0b178fa)

  • Kompilasi ST Edge AI melewati konversi untuk model yang sudah dalam format NBIN. (3064411ad)

  • Dialog kompiler Vela mengurai penggunaan SRAM yang dilaporkan model terhadap ukuran heap yang dikonfigurasi tiap board dan menampilkan persentase dengan peringatan/kesalahan ketika model melampaui 90% atau 100% dari heap yang tersedia. (7140fc2aa)

  • Kompiler Vela kini melaporkan kesalahan "not supported on this platform" yang jelas alih-alih gagal secara diam-diam, dan menjatuhkan model ke model zoo tidak lagi mengharuskan Vela tersedia. (c736dd54d, 0ad7fd705)

  • Kompiler Vela Ethos-U kini berjalan melalui runtime Python tertanam bawaan (python -m ethosu.vela) alih-alih binary mandiri. (52f9b8820)

  • Dialog kompilasi model ST Edge AI dan Vela yang berjalan lama kini menampilkan notis "This command takes a while to execute. Please be patient.". (fc9ac2ab5)

  • Membuka contoh atau skrip baru pada sensor PAG7936 (N6/AE3) dan PS5520 kini secara otomatis menaikkan sensor.set_framesize(QVGA) ke VGA untuk sensor beresolusi lebih tinggi. (dfc27dd25)

  • Menambahkan perbaikan otomatis skrip contoh untuk kamera termal FLIR Boson 320/640, PixArt PAG7920/PAJ6100, FROGEYE2020, dan kamera event Prophesee GENX320. (1f54ad01b)

  • Sumber daya IDE yang dapat diunduh (firmware/model/dokumen) kini diinstal ke direktori data aplikasi bersama semua pengguna melalui API ICore::allUsersResourcePath() baru, dengan manifes versi sumber daya disimpan dalam file OpenMVIDE.json satu tingkat di atas folder sumber daya semua pengguna. (be308ace2, 7c7dddb87)

  • Selama pembaruan paket firmware sistem Alif, IDE kini meminta pengguna untuk melakukan power-cycle (lepaskan dan sambungkan kembali) kamera sebelum melanjutkan. (162d128f9, 756611696)

  • Merombak alur unduhan bootloader/firmware Alif (Ensemble) agar kompatibel dengan ROMFS: menghasilkan App TOC setelah menulis bootloader, menyalin citra bin/sign ke subfolder images/, dan mem-flash firmware_pad.toc. (f623c9231)

  • Menyederhanakan nama tampilan board di pemilih firmware dengan menghapus sufiks chip-dalam-kurung yang berlebihan dan tag "Legacy" (misalnya "OpenMV Cam H7 (STM32H743)" menjadi "OpenMV Cam H7"). (334b04dbd)

  • Mengganti nama dua aksi menu Tools untuk kejelasan: Run Bootloader (Load Firmware) kini menjadi Load Custom Firmware, dan Erase Onboard Data Flash kini menjadi Erase Internal FAT File System (dialog konfirmasi kini merujuk ke FAT file system internal kamera). (0bc275a0a)

  • Memulihkan pintasan keyboard Ctrl+Shift+L (Load Custom Firmware) dan Ctrl+Shift+E (Erase Internal FAT File System), serta memindahkan item Preferences kembali ke menu Edit. (dabb6f7d9, b5daf59a6)

  • Menonaktifkan deteksi otomatis kompiler C/C++ dan toolchain saat startup, karena IDE menargetkan MicroPython. (f42fcc8f2)

  • Menambahkan logo mitra Alif Semiconductor (terang/gelap) ke bagian mitra dialog About. (4878781bb)

  • Membaca firmware board yang terhubung kini dapat menghapus data port serial yang usang sebelum mengeluarkan perintah, meningkatkan keandalan kueri firmware/versi. (c15a46f5b)

  • Meningkatkan keandalan koneksi ROMFS dengan memaksa reconnect/refresh pada operasi baca, tulis, dan reset ROMFS. (f9bc83007)

Perbaikan bug

  • Memperbaiki dialog penyimpanan model/skrip dan ROMFS add-file/add-model untuk menggunakan sufiks file sederhana alih-alih sufiks lengkap, mencegah ekstensi yang rusak saat mengganti nama file yang mengandung titik dalam namanya. (52c6820d2)

  • Memperbaiki overflow progress-bar unggahan DFU pada transfer besar dengan menghitung persentase menggunakan aritmetika 64-bit. (4b91ff2ba)

  • Memperbaiki flashing firmware/bootloader OpenMV yang lebih lama dengan melindungi langkah erase dan program flash dari rentang sektor flash yang tidak valid (non-positif) dan menampilkan kesalahan eksplisit alih-alih crash, serta memperbaiki penjaga akses ROMFS selama pembaruan firmware lama. (ae2cc15b4, 235dbdb10)

  • Memperbaiki deteksi board port serial agar filter invers nomor seri hanya diterapkan selama validasi port (bukan selama koneksi), dan menambahkan filter invers untuk board i.MX agar nomor seri mode bootloader dikecualikan. (ae2cc15b4)

  • Memperbaiki persistensi tipe board agar pemetaan board yang telah disimpan sebelumnya tidak lagi ditimpa saat pemilihan tipe board manual dilakukan. (c42d36001)

  • Perbaikan bootloader kini mengurai nama tampilan board tersembunyi ke string arsitekturnya agar reconnect/perbaikan-firmware memetakan board yang benar. (a1de7a09c)

  • Deteksi board kini mencocokkan string arsitektur board secara case-insensitive. (7a2e0e93f)

  • Memperbaiki disk perangkat yang gagal di-mount pada disconnect/reconnect cepat dengan mempertahankan thread pemindaian drive dan mencoba ulang pemindaian drive hingga tiga kali, serta membuat pemindaian drive berjalan andal di thread pemindaian. (455dbe967, 58c0e5456)

  • Memperbaiki kompiler model (ST Edge AI dan Vela) yang gagal berjalan di Mac Intel dengan mengizinkan jalur alat ARM64 saat berjalan di bawah Rosetta. (32e309e86)

  • Memperbaiki masalah cache alat Python dan language-server dengan mengarahkan semua __pycache__ Python bawaan ke direktori sumber daya bersama dan memanaskan terlebih dahulu pycache blhost i.MX sebelum koneksi bootloader dengan batas waktu agar flashing tidak lagi kehabisan waktu. (f64f3330f)

  • Memperbaiki jalur header MicroPython yang digunakan oleh language server Python (untuk autocompletion) agar diselesaikan dari jalur sumber daya semua pengguna, dan membuat pencarian jalur sumber daya semua pengguna lebih robust ketika pemfilteran nama pengguna tidak menemukan hasil. (5f2648565, fc1938818)

  • Memperbaiki tautan dokumentasi ST Edge AI yang rusak di dialog opsi kompiler dengan mengonversi jalur file lokal ke URL file:// yang benar. (3ac136444)

  • Memperbaiki auto-indentasi editor Python agar baris tidak lagi di-dedent secara tidak benar setelah baris yang diakhiri titik dua (electric), misalnya setelah header if/for/def. (6555f44ba)

  • Memperbaiki penyelarasan record direktori ROMFS agar offset folder memperhitungkan ukuran record nama direktori, dan meningkatkan penundaan antar-file saat membongkar/membuat file ROMFS dan model-zoo untuk memastikan timestamp pembuatan yang berbeda. (9bf7e1d9e, d968a6e46)

  • Memperbaiki integer-overflow dalam konversi mean-to-depthwise-conv pada pengoptimal grafik Vela dengan menghitung pengali output dalam 64-bit, serta memperbaiki basename yang digunakan dalam judul/output dialog kompiler Vela. (d217a46e9, 8376490eb)

  • Memperbaiki pemulihan folder yang diperluas dan model yang dipilih di browser model zoo saat dibuka kembali, serta mengalihkan dialog ke alokasi heap untuk menghindari masalah seumur hidup GUI. (84a63ef4c)

  • Memperbaiki jalur save-as Model Zoo agar direktori yang diingat disimpan sebagai folder bukan nama file lengkap. (be877f7af)

  • Mempertahankan jalur sumber daya pengguna lama alih-alih menghapusnya saat startup, menghindari kesalahan "close any programs viewing OpenMV IDE data" ketika folder lama sedang dikunci. (775656775)

  • Memperbaiki skrip installer driver Windows dan file catalog/inf agar driver OpenMV DFU, dfuse, FTDI, Arduino, pybcdc, dan VCR terpasang dengan andal dan melaporkan kode sukses dengan benar, mengeraskan skrip instalasi driver DFU dfuse/vcr, dan menandatangani ulang katalog driver OpenMV DFU bawaan. (48a0a21e3, b7b607250, b4221a884, e4f3bb8f8, 62e869c0b, 583576f2a)

  • Memperbaiki installer Linux untuk menginstal pyusb melalui paket distro python3-usb dan menambahkan build-essential alih-alih menjalankan pip install pyusb, serta mendeteksi OS melalui /etc/os-release. (c471ddc42, 4014a0ba5)

  • Installer Windows kini mengaktifkan dukungan path panjang agar file ST Edge AI yang tersarang dalam dapat diinstal dengan benar. (0b3ca6945)

Dukungan platform dan alat

  • Basis Qt Creator: 14.0.2.

  • Firmware OpenMV bawaan: diperbarui ke 4.7.0 untuk semua board OpenMV dan Arduino (OPENMV2/3/4/4P/PT, RT1060, GIGA, Portenta H7, Nicla Vision, Nano 33 BLE/RP2040, AE3, N6); firmware dibangun ulang dengan dukungan ROMFS (romfs0.img). (6d04b1b50, c44e33d70, a1de7a09c)

  • OpenMV N6 ROMFS: ditingkatkan dari 16MB menjadi 24MB, dengan citra romfs dipindahkan ke DFU alt-setting 3. (d0bbb1fe7, d7d3120b3)

  • OpenMV AE3 ROMFS: ditingkatkan dari 16MB menjadi 24MB, dengan aturan penyelarasan 16/32-byte yang ditambahkan untuk file model .bin bawaan di semua board. (746da8914)

  • STM32CubeProgrammer (STM32_Programmer_CLI) disertakan untuk macOS, Linux, dan Windows dengan database perangkat STM32 lengkap dan external loader untuk pemrograman pabrik N6; instalasi dipangkas dari file external-loader dan database per-MCU yang tidak digunakan untuk mengurangi ukuran. (334b04dbd, 54fea4d57, 28cc94a6e, 2522c900f)

  • Kompiler ST Edge AI (stedgeai) 2.1.0 disertakan (Windows) untuk NPU N6 Neural-ART. (3064411ad)

  • Kompiler ARM Ethos-U Vela 4.2.0 (dengan numpy 2.2.4) disertakan untuk Linux x86-64, macOS (Apple silicon), dan Windows. Bundle Windows pertama kali ditambahkan pada Vela 4.1.0 / numpy 2.2.3 dan kemudian ditingkatkan ke versi akhir 4.2.0 / numpy 2.2.4. (f9323a1d6, 5f551a5c5, 6506497c6, bcda7d1f0)

  • mpy-cross 1.25.0.post2 disertakan (macOS/Windows). (8c71548df, 3ab42d58a)

  • Alif Security Toolkit: diperbarui ke v1.104.0 (binary setools yang ditandatangani dan Panduan Pengguna PDF v1.104.0) untuk board berbasis Alif Ensemble. (43260719c, 75a58e61b)

  • Menambahkan konfigurasi NPU OPENMV_AE3 (Alif Ensemble) yang menargetkan akselerator ethos-u55-256 dan ethos-u55-128 dengan konfigurasi sistem RTSS HP/HE SRAM/MRAM/OSPI. (1f5fc546d, 411f708ea)

  • Menambahkan diagram pinout untuk kamera OpenMV N6 dan AE3 (sensor PAG7936) ke pemilih pinout, serta contoh kamera event skala abu-abu Genx320 baru yang mendemonstrasikan konfigurasi filter anti-flicker. (60184bbc5, 6d04b1b50)

  • Memperbarui pencocokan USB PID Arduino Nicla Vision untuk mengenali PID aplikasi baru (0x055F) bersama yang asli (0x045F). (91ce4007c)

  • Memperbarui parameter flashing secure-bootloader NXP/blhost untuk menggunakan alamat/panjang FCB eksplisit dan ukuran disk MBR, selaras dengan toolkit spsdk terbaru. (16b66c3e2)

  • Installer Windows kini menyertakan driver bootloader STM32 DFU khusus dan Microsoft Visual C++ 2015+ redistributables. (cdcd4a5a6, 0cdebfc4c, a02b1f21a)

  • Menghapus model zoo DeGirum YOLOv5/YOLOv8 bawaan dari IDE. (26710be1c)

Perubahan yang merusak kompatibilitas

Perubahan alur kerja dan perilaku yang terlihat pengguna dalam v4.7.0. Tidak ada perubahan yang merusak API skrip, tetapi perhatikan hal-hal berikut:

  • FAT filesystem dihapus saat pembaruan dari versi sebelum 4.7.0. Memperbarui OpenMV Cam apa pun dari firmware sebelum 4.7.0 kini memaksa penghapusan FAT filesystem dan reset/pembaruan ROMFS selama pembaruan firmware (kotak centang dialog dipaksa aktif dan tidak dapat dinonaktifkan), sehingga file pengguna yang tersimpan di flash internal perangkat akan terhapus saat pembaruan. (f6f3355b0)

  • Firmware UVC dan binary bootloader Portenta H7 dihapus. Citra firmware webcam UVC yang sudah dibangun sebelumnya (uvc.bin/dfu/elf) dihapus untuk semua board, dan binary bootloader Arduino Portenta H7 dihapus dari bundle; citra yang sudah dibangun sebelumnya ini tidak lagi dapat di-flash dari IDE. (c44e33d70)

  • Relokasi direktori sumber daya. Sumber daya IDE yang dapat diunduh (firmware, model zoo, dokumentasi) kini diinstal ke direktori data aplikasi bersama semua pengguna alih-alih jalur sumber daya per-pengguna, dan manifes versi dipindahkan dari QSettings ke file OpenMVIDE.json yang disimpan satu tingkat di atas folder sumber daya semua pengguna (dengan pencerminan QSettings yang kompatibel mundur). Pengunduhan ulang sumber daya dipicu pada jalannya pertama setelah pembaruan. (be308ace2, 7c7dddb87)