v4.4.0¶
v4.4.0 adalah rilis modernisasi besar yang merebasis OpenMV IDE dari basis Qt Creator 10.0.1 yang telah lama digunakan ke Qt Creator 14.0.2, menerapkan kembali plugin OpenMV secara penuh beserta setiap kustomisasi fork di atas basis yang lebih baru. Selain itu, rilis ini menyertakan server bahasa Python tertanam untuk penyelesaian kode secara offline, mengaktifkan GitHub Copilot di setiap platform, memperkenalkan bootloader DFU OpenMV kustom yang baru, dan memigrasikan kamera OpenMV ke vendor ID USB 37C5 yang baru. Perubahan basis merupakan modernisasi internal yang besar namun tidak merusak proyek pengguna; lihat Perubahan yang memecah kompatibilitas untuk sejumlah kecil perubahan alur kerja yang terlihat oleh pengguna.
Sorotan¶
Rebase Qt Creator 14.0.2. IDE berpindah dari Qt Creator 10.0.1 ke 14.0.2, dengan seluruh plugin OpenMV dan semua kustomisasi
// OPENMV-DIFF //diterapkan kembali pada basis modern (d6c895be8, 1fa75b397).Server bahasa Python tertanam. IDE kini mengemas dan menggunakan secara otomatis
pylspyang dibundel (dengan astroid 3.3.5), memberikan penyelesaian kode Python/MicroPython secara offline tanpa instalasi pip terpisah di Windows, macOS, dan Linux x86_64 (257addee0, 5a2b3e72f, 94470798d).GitHub Copilot di semua platform. Copilot diintegrasikan dan diaktifkan secara default, dengan runtime Node.js 20.18.0 yang dibundel untuk Windows, macOS, dan Linux sehingga tidak lagi terbatas pada mesin tertentu, ditambah dialog startup untuk mengaktifkannya (bb07d582b, 1cb967c5a, b37e48040).
Bootloader DFU OpenMV Baru. Alur
openmv_dfubootloader yang diimplementasikan sepenuhnya menggerakkan pembaruan firmware darisettings.json, termasuk dialog "board in DFU mode detected" yang menawarkan pilihan instal-rilis-terbaru, muat-firmware-tertentu, dan hapus-sistem-file, beserta jalur fallback-bootloader untuk memulihkan kamera yang rusak (08b9d0676, 6a6a9351d, 6d78d6571).Dukungan kamera baru. Menambahkan papan OpenMV Cam N6, RT1062, dan AE3, serta memigrasikan kamera ke vendor ID USB
37C5yang baru dengan driver DFU dan aturan udev yang diperbarui (000ed8a87, f453bc945, 4a16e04c2, 6d78d6571).Serial yang lebih andal. Perbaikan komunikasi serial yang besar mengatasi teks terminal yang kacau dan pemutusan sambungan acak dengan kamera berbasis TinyUSB (caeba6a16, 6cf122a3c).
Fitur baru¶
Bootloader DFU OpenMV. Sistem bootloader
openmv_dfubaru dengan driver DFU khusus dan mekanisme fallback-bootloader memulihkan kamera yang rusak di berbagai jenis firmware (6a6a9351d, 6d78d6571). Alur ini menggerakkan pembaruan firmware darisettings.jsondan menampilkan dialog "board in DFU mode detected" dengan opsi instal-rilis-terbaru, muat-firmware-tertentu, dan hapus-sistem-file (08b9d0676, ef19133b6, 9c59d113c).Nama papan di pemilih port. Dialog pemilihan port serial kini menyelidiki setiap port dan menampilkan nama papan yang terdeteksi di samping port (misalnya
COM3: OpenMV Cam H7) alih-alih nama port saja (9837d6cb5).Editor bertab. Plugin editor bertab dipulihkan, menambahkan baris tab dokumen di atas area editor untuk berpindah antar file yang terbuka (c8519c09f), dan sekarang mempertahankan serta memulihkan urutan tab antar sesi (55ccfb207).
Penyorotan sintaks Python. Menambahkan definisi penyorotan sintaks Python khusus untuk editor dengan aturan format-string, float, dan kata kunci (9be46c0c3).
Perubahan dan peningkatan lainnya¶
Refaktor pemuatan firmware. Kode pemuatan firmware dipecah menjadi penangan bootloader terpisah per jenis (OpenMV DFU, Arduino DFU, BOSSAC, i.MX, picotool), menambahkan penanganan PID touch-to-reset untuk papan Arduino DFU dan varian papan "Legacy" eksplisit untuk perangkat VID/PID alternatif (9f465f9f8).
Pengaman ROM-bootloader STM32. IDE kini memperingatkan atau memblokir pemuatan
firmware.dfu/openmv.dfuke bootloader pemulihan ROM STM32, hanya merekomendasikanbootloader.dfuuntuk menghindari kerusakan papan STM32H7 yang terpengaruh oleh bug ROM bootloader chip (c5ce0ae1a, e7cde1ec1).Pengaturan Python LSP otomatis dan senyap. Server bahasa Python kini menginstal dan memperbarui secara otomatis tanpa perintah infobar atau spam pesan konsol (d89f5985f), dan sistem hover autokomplit/dokumentasi Python diubah menjadi engine dokumen OpenMV khusus yang mengurai dokumen HTML library yang dibundel untuk menggerakkan penyorotan kata kunci dan tooltip (47e02873b, 4f9853f21, 82cefc931).
Deteksi interpreter Python Linux. Deteksi interpreter di Linux kini otomatis, hanya mempertimbangkan interpreter Python 3 dari
PATHdan memilih yang terbaru sebagai default tunggal (214fdc758).Pembersihan pengaturan Python. Grup manajemen per-interpreter dan halaman Interpreters disembunyikan, Konfigurasi Server Bahasa diarsipkan di bawah kategori
Python, dan tombol toolbar REPL dan pemilih-interpreter yang tidak digunakan disembunyikan di editor Python (d89f5985f). Di Windows, IDE kini mendaftarkanpython.exetertanam yang dibundel sebagai interpreter default secara otomatis, dengan server bahasa yang dibundel dianggap sudah terinstal (1d9ca003e, d89f5985f).Direktori profil yang lebih bersih. IDE tidak lagi menulis file pengaturan Qt Creator yang tidak digunakan (devices, kits, toolchains, versi Qt) dan membuka file langsung di editor (3771b0107), tidak lagi memindai sistem untuk versi qmake/Qt (42807f25f), dan menghindari pemuatan mesin device/toolchain/kit yang tidak digunakan serta kebisingan saat startup (902a357de, b2666a35b).
Pembaruan yang lebih aman. Memperbarui IDE tidak lagi menimpa sumber daya pengguna; hanya folder sumber daya yang dikelola (examples, firmware, html, models) yang dihapus dan disalin ulang, dengan
micropython-headersjuga dihapus (diinstal secara terpisah, bukan disalin ulang melalui jalur ini), serta pesan kesalahan yang lebih jelas jikafirmware/settings.jsonhilang atau tidak valid (b4b8c208d, 3255ba4fb).Koneksi DFU yang lebih cepat. Waktu tunggu koneksi DFU dikurangi sehingga flashing dan koneksi lebih cepat (11d8c9fe3, 4700bf678).
Menu OpenMV dan kustomisasi UI yang dipulihkan. Tata letak menu OpenMV yang disederhanakan diterapkan kembali, menyembunyikan menu Build dan Debug serta menghapus aksi manajemen proyek (7503f2bec); engine penyelesaian kode mendapatkan kembali kesadaran kelas/metode dan cakupan kata kunci publik/privat untuk autokomplit MicroPython (55fc348ea); rendering warna ANSI terminal diterapkan kembali dengan nilai bright/dim yang memperhatikan tema dan dukungan escape cursor-back (c6787a27a); dan toolbar penampil citra dikustomisasi dengan tooltip resolusi/zoom dan aksi Fit-to-Screen yang direlokasi (734fec693).
Sumber daya yang dibundel dipulihkan. Alat flashing, driver DFU, firmware, dan pohon contoh/skrip lengkap dipulihkan ke sumber daya share setelah pengupasan rebase (33c8354bc), dan logika startup aplikasi kustom OpenMV diterapkan kembali: ini mengharuskan plugin
TextEditor(pemeriksaan plugin OpenMV dan TabbedEditor ada tetapi dinonaktifkan), menginstal penangan pesan Qt kustom, menghapus opsi baris perintah-client/-pid/-block, dan memaksa perilaku instansi tunggal (06c788f3d).Kegagalan plugin yang hilang. Aplikasi kini gagal keras dengan pesan kesalahan yang jelas jika plugin yang diperlukan hilang atau dinonaktifkan, plugin OpenMV mendapat dependensi Copilot, dan beberapa opsi editor teks (
Prefer single line commentsdan pemilih posisi komentar di pengaturan Behavior, sertaHighlight selectiondi pengaturan Display) disembunyikan (1bc02b1f3).Timeout serial yang lebih pendek. Timeout protokol serial dipersingkat (baca 10000 menjadi 5000 ms, tulis 6000 menjadi 3000 ms) untuk umpan balik kegagalan yang lebih cepat, dengan default
-override_read_timeoutyang didokumentasikan diperbarui agar sesuai (641385af4).Pemulihan port yang macet. Port serial yang macet di tengah perintah kini dipulihkan menggunakan kueri
GET_STATE(dapat dikonfigurasi melalui pengaturan get-state) alih-alih kueri script-running (a8598f550).Urutan dialog pengaturan. Dialog pengaturan menyembunyikan kotak centang pengurutan kategori alfabet sehingga daftar halaman tetap dalam urutan yang dimaksudkan OpenMV (1cb967c5a).
Pengaturan Copilot yang disederhanakan. Halaman pengaturan Copilot dikurangi menjadi hanya kontrol masuk/autentikasi dan proksi, menyembunyikan opsi aktifkan-Copilot, jalur-Node.js, jalur-dist, dan opsi auto-complete (1cb967c5a).
Perbaikan bug¶
Memperbaiki masalah komunikasi serial yang besar dengan meningkatkan timeout stall baca serial 10x dan menonaktifkan jalur unstuck berbasis
GET_STATEyang mengacaukan teks terminal serial (caeba6a16).Memperbaiki pemutusan serial acak dengan kamera berbasis TinyUSB dengan mengeluarkan perintah frame-dump unlock dan mengerjakan ulang penanganan read-stall alih-alih memutus sambungan (6cf122a3c).
Membuat penanganan
get_statekamera toleran terhadap balasan pendek/parsial dan memastikan teks terminal serial yang dibuffer di-flush selama pemulihan kesalahan sehingga output log tidak hilang (c8b4248a6, 247a779dd).Memperbaiki nomor partisi flash/alt-setting bootloader DFU untuk pemuatan firmware OpenMV Cam (a8700d12d).
Memulihkan semua bootloader dengan menghormati flag papan
hiddenyang baru, beralih ke filter terbalik untuk penyaringan nomor seri, dan memberikan entri UF2 Arduino Nano RP2040 Connect konfigurasi picotool yang berfungsi (63cee629b).Memperbaiki dialog pemilihan tipe papan bootloader yang mengingat nilai yang salah dengan menggunakan kunci riwayat terpisah untuk pemilihan tipe papan yang dapat dibaca manusia dan papan IMX (a3325af32).
Memperbaiki perhitungan timestamp/frame-rate transkoding video (Save Video) dengan menghitung interval bingkai rata-rata dalam mikrodetik, mendukung format waktu
ImageWriterv21 yang baru, dan melindungi dari pixmap null selama konversi (f5c75c749, f8f762b3e).Memperbaiki crash di tampilan histogram/framebuffer ketika pixmap kosong (null) diterima dengan melindungi
pixmapUpdate()dari data null (622cf5ea8).Memulihkan tooltip anotasi hover di editor teks sehingga mengarahkan kursor ke tanda teks kembali menampilkan tooltip anotasi (1852d18e1).
Mencegah dialog info GitHub Copilot dan warna-LED muncul saat IDE sedang sibuk menghubungkan atau melakukan flashing (f8f762b3e).
Menambahkan perlindungan crash di language client sehingga penanganan perubahan konten dokumen tidak lagi membuat crash IDE pada kasus tepi (7926ffe4c).
Memperbaiki pemeriksaan server bahasa Python yang mencegah shutdown IDE yang bersih dengan membuat plugin Python menunggu secara asinkron untuk pemeriksaan yang sedang berjalan sebelum keluar (9ff6c7936).
Memperbaiki autokomplit Python di Linux: language client menjadikan dirinya berakar di
micropython-headersyang dibundel dan aksi popup penyelesaian toolbar editor yang redundan disembunyikan (d37f66a9a, 56e748f9d, 016fa73eb).Memperbaiki penanganan file sementara/belum disimpan sehingga Save As menggunakan direktori awal dialog file, dan dialog Save Items serta editor Diff tidak lagi menampilkan jalur file sementara internal (b7f0bb378, c8e7b6b8f, 6b128c34c).
Menyimpan buffer tanpa judul/sementara kini menjadikan dialog Save-As default ke nama file
.pyyang sesuai alih-alih nama kosong (3001fdfff).Dokumen sementara/tanpa judul kini ditawarkan untuk disimpan saat dimodifikasi, dikecualikan dari autosave, dan diarahkan melalui Save-As dengan benar (f87b71cf0).
Memperbaiki pengurutan menu Recent Files sehingga membuka kembali file yang sudah terdaftar tidak lagi mengubah urutannya, dan dialog file kini default ke direktori proyek (d49c0c993).
Memperbaiki rendering teks kotak pesan dengan tidak lagi memaksa format rich-text pada kotak pesan yang dapat dicentang, sehingga teks biasa ditampilkan dengan benar (0c565502f).
Memperbaiki warna tooltip sehingga tooltip dirender dengan benar dalam tema terang (35cbf077b).
Perbaikan stabilitas dan pembersihan umum Qt Creator di pengaturan inti, language client, toolchain MSVC, penjelajah proyek, dan plugin Python (836b163dc, 134f43cb8).
Memperbaiki nama folder firmware yang dibundel untuk Arduino Nano 33 BLE Sense (b1d8ac227) dan memperbaiki aturan udev Linux untuk ID produk bootloader DFU AE3, mengoreksi
96E3menjadi huruf kecil96e3agar pencocokanidProductudev yang peka huruf besar/kecil dapat bekerja (2cd43c96b). Aturan udev Linux bootloader DFU AE3 juga diperbarui ke ID produk37c5:afe3untuk symlinkopenmvdfu(b99555637).
Dukungan platform dan alat¶
Basis Qt Creator: 14.0.2 (direbasis dari 10.0.1).
OpenMV Cam N6 kini didukung (VID:PID 37C5:1206, bootloader DFU 37C5:9206), termasuk pengaturan firmware, driver DFU Windows, dan aturan udev Linux (000ed8a87, 1b950c8c6).
OpenMV Cam RT1062 kini didukung dengan VID/PID USB kustom baru (37C5:1060), termasuk driver DFU, aturan udev, dan entri warisan 1209:ABD1 yang dipertahankan untuk unit lama (f453bc945, d55d6441f).
OpenMV Cam AE3 kini didukung, termasuk driver DFU Windows, pohon citra firmware/konfigurasi, dan USB VID/PID (diperbarui ke 37C5:16E3 runtime / 37C5:96E3 bootloader) (4a16e04c2, cc52e76f5, 3f75e7de4, 8eb80b129).
Sistem USB VID/PID baru: Kamera OpenMV beralih ke vendor ID
37C5dengan ID bootloader/DFU baru (misalnya 37C5:1202/9202 M4, 1203/9203 M7, 1204/9204 H7, 124A/924A H7 Plus, 1205/9205), memberi label papan 1209:ABD1 lama sebagai Legacy sambil tetap mendukung firmware lama dan baru (6d78d6571, 6a6a9351d, 500b1a0bf).Sensor citra PAG7936 ditambahkan ke daftar sensor yang dikenali (f9e3f3461).
Interpreter Python 3.13 tertanam dibundel untuk macOS, Linux x86_64, Linux arm64, dan Linux arm (9133b1516), dengan library bersama
libpython3.13danujsonnative (d3aa663d8, a2cb24e74).Server bahasa yang dibundel:
pylspdengan astroid 3.3.5 di Windows, macOS, dan Linux x86_64 (257addee0). Build Windows dilengkapi CPython tertanam dengan python-lsp-server 1.12.0, jedi 0.17.2, docstring_to_markdown 0.15, pip 24.2, dan distlib 0.3.9 (9b6434602, 069807cd3, 5f2e45196, 3b6c6c312).Runtime Node.js 20.18.0 yang dibundel "Iron" LTS untuk Windows, macOS, Linux arm64, Linux x64, dan Linux armv7 untuk mengaktifkan GitHub Copilot di semua platform (bb07d582b, 6db78bf45, 1cb967c5a).
Alif Security Toolkit biner boot/system-package yang ditandatangani dan panduan pengguna dibundel untuk Windows, macOS, dan Linux x86_64 untuk provisi kamera OpenMV berbasis Alif (misalnya AE3) (f63851be3).
Integrasi desktop Linux dipulihkan, menginstal entri desktop aplikasi dan metadata AppStream serta mendaftarkan tipe MIME Python (
.py) (3fa25f571).
Perubahan yang memecah kompatibilitas¶
Tidak ada API scripting yang berubah. Perubahan alur kerja dan perilaku yang terlihat oleh pengguna berikut mungkin diperhatikan:
Vendor ID USB baru. Kamera OpenMV bermigrasi ke vendor ID
37C5dengan ID produk dan bootloader DFU yang baru; papan dengan VID1209:ABD1lama kini diberi label "Legacy". IDE mendukung firmware lama dan baru secara bersamaan, tetapi pengguna Linux harus menginstal ulang aturan udev yang diperbarui agar ID baru dapat dikenali.Entri papan Legacy disembunyikan. Varian Legacy dari papan OpenMV Cam M4/M7/H7/H7 Plus/Pure Thermal kini disembunyikan dari daftar pemilihan firmware/papan melalui flag papan
legacyyang baru (berbeda dari flaghiddenyang sudah ada sebelumnya), sehingga pengguna yang secara khusus membutuhkan entri papan legacy tidak akan lagi melihatnya di dropdown (6d78d6571).Timeout serial yang lebih pendek. Timeout baca respons default turun dari 10000 ms menjadi 5000 ms dan timeout tulis dari 6000 ms menjadi 3000 ms (default
-override_read_timeoutkini didokumentasikan sebagai 5000). Papan/tautan lambat yang mengandalkan default yang lebih panjang mungkin akan timeout lebih cepat.
Rebase Qt Creator 14.0.2 adalah modernisasi internal yang besar namun tidak memecah kompatibilitas untuk proyek pengguna.