v5.1.0#
v5.1.0 adalah rilis fitur. Panel di bawah frame buffer tumbuh dari sekadar histogram menjadi sekumpulan tampilan langsung -- Info Papan, Memori, Statistik, dan tampilan Kanal yang baru yang mengubah nilai yang dipublikasikan skrip menjadi widget, grafik, spektrum, dan peta kedalaman serta merekamnya ke file -- frame buffer mendapat pemilih sumber untuk kamera multi-sensor, IDE belajar memuat repositori pihak ketiga berisi papan, firmware, contoh, model, dan stub, dan rekaman video beralih ke H.264. Papan dan sensor baru didukung, perkakas firmware diperkuat melalui audit menyeluruh atas setiap perubahan sejak v5.0.0, dan sejumlah perilaku dibawa dari OpenMV Studio. Dibangun di atas Qt Creator 14.0.2 dan menyertakan firmware v5.0.1.
Sorotan#
Tampilan panel -- bilah judul panel histogram mendapat pemilih yang mengalihkan panel di antara tampilan Histogram, Info Papan (perangkat keras, versi, dan kemampuan kamera yang terhubung), Memori (grafik langsung heap MicroPython dan setiap pool UMA, dengan pelacakan puncak), Statistik (penghitung paket, kesalahan, dan peristiwa per kanal dari protokol debug), dan Kanal.
Tampilan Kanal -- sebuah skrip dapat memublikasikan kanal bernama berisi data dan kontrol melalui protokol debug, dan IDE menampilkannya secara langsung: label, toggle, slider, spin box, tombol radio, line edit, pemilih, tombol tekan, dan blok teks yang menulis kembali ke kamera; grafik bentuk gelombang dengan geser, zoom, penanda, pemicu, riwayat, dan penganalisis spektrum; serta peta kedalaman dengan palet milik kamera sendiri, tiga filter penskalaan, dan pemetaan tona. Grafik atau peta apa pun dapat direkam ke file CSV, WAV, NumPy, atau JSON dan CBOR Edge Impulse -- termasuk Rekam Semua untuk seluruh kanal -- untuk pengumpulan data pelatihan. Nilai terakhir tetap di layar saat skrip berhenti.
Pemilih sumber frame buffer -- kamera dengan lebih dari satu sensor citra menampilkan pemilih di bilah judul frame buffer untuk memilih sensor mana yang di-streaming ke IDE (atau untuk mematikan streaming), toggle JPG menjadi pemilih mode streaming JPG / RAW, dan judul panel menyebutkan format kedatangan setiap frame.
Repositori pihak ketiga -- vendor dapat menerbitkan repositori berisi papan, firmware (saluran rilis dan pengembangan), contoh, model pembelajaran mesin, dan stub
.pyi; IDE memasangnya dari URL atau dari folder yang diletakkan oleh sebuah pemasang, menggabungkannya dengan konten miliknya sendiri, menjaganya tetap diperbarui, dan memungkinkan Anda mengurutkan vendor berdasarkan prioritas. Dikelola dari Preferensi → OpenMV → Repositori Pihak Ketiga.Perangkat keras baru -- papan OpenMV N6 Classic (termasuk driver bootloader, aturan udev, dan entri pemulihan ROM-DFU-nya) serta sensor FLIR Lepton 3.1R dan UW.
Rekaman H.264 -- perekam frame buffer dan pengonversi video kini mengenkode H.264 alih-alih MPEG-4 Part 2, dengan interval key-frame yang ditetapkan sehingga rekaman dapat dicari dengan bersih dan laju frame dibulatkan ke bilangan bulat.
Perbaikan audit -- setiap komit sejak v5.0.0 ditinjau dua kali untuk mencari regresi, dengan perhatian khusus pada jalur firmware, bootloader, dan ROMFS; cacat yang ditemukan diperbaiki dalam rilis ini (lihat perbaikan bug).
Fitur baru#
Tampilan Info Papan, Memori, dan Statistik di panel histogram, dengan gaya full-bleed pada tema gelap maupun terang serta teks yang dapat dipilih (cdea506655b, 7629a588db9, e21bd94a395, b55dcc412f6, fc744920011, e7dc3bf0092, 448e21db0bd).
Tampilan Kanal -- kosakata kontrol yang lengkap (label, toggle, slider, spin box, radio, line edit, select, push button, text), grafik bentuk gelombang dengan penganalisis spektrum (jendela Hann, Hamming, Blackman, dan persegi, perataan, tahan puncak, frekuensi log), pemicu tepi naik dan tepi turun, penanda, riwayat, dan ekspor plot; peta kedalaman dengan palet Depth, Rainbow, Ironbow, dan Event, penskalaan nearest / bilinear / bicubic, pemetaan tona Rentang Skrip / Rentang Otomatis / Ekualisasi, tombol jeda, pembacaan saat kursor melayang, header dengan rentang yang dideklarasikan dan min / maks / rata-rata frame, serta Simpan Gambar; perekaman ke CSV, WAV, NumPy, dan JSON / CBOR Edge Impulse dengan label Edge Impulse opsional, pemecahan menjadi bagian untuk tangkapan panjang, dan Rekam Semua; interval Channel Polling di preferensi protokol (5b4f31a6b3a, d1252a24f14, bfd7fd72f94, d1c2ab02a5f, 4808b8ffe26, dfc323b4ec7, 61c077df9a5, 8c2cd6cf1f1, 1534225fcee).
Pemilih sumber frame buffer dan pembacaan format -- pilih sensor yang di-streaming pada kamera multi-sensor, atau Off; format frame yang diterima ditampilkan di judul panel; toggle JPG kini menjadi pemilih JPG Mode / RAW Mode (e76284bde9e, c2baff8d60c, afece31cb6a, 76448d7b9dd).
Repositori pihak ketiga -- repositori firmware berbasis file yang digabungkan dengan daftar papan bawaan, pembaruan jaringan dengan halaman Preferensi, saluran firmware pengembangan per vendor, prioritas vendor yang dikendalikan pengguna, contoh vendor digabungkan ke File → Contoh, model vendor digabungkan ke Model Zoo, stub
.pyikustom yang diumpankan ke penyelesaian kode, peringatan penggantian saat vendor menimpa konten bawaan, dan pemeriksaan lisensi untuk papan vendor (21a63a74949, b5512efe949, b15afdac479, 1fe693f0b61, ae11ffeffc4, cf47a37ba65, 100bdeb530b, 252924901f7, c75a81f2a4a, 3e7f077a738, 5c5aa3e657c, e3f36adbdcb, b04da8ee888).Penghapusan komentar sebelum Run -- komentar dihapus dari skrip sebelum dikirim ke kamera, menghemat RAM kamera pada skrip yang penuh komentar; baris tetap dipertahankan, sehingga nomor baris traceback masih cocok dengan editor (677546ee033).
Tanda kesalahan inline -- saat skrip mati karena pengecualian, editor menandai baris yang bermasalah dengan warna merah beserta teks kesalahan di sampingnya; tanda tersebut hilang saat Anda mengedit file, menjalankan lagi, atau memutuskan koneksi (677546ee033).
Seret dan lepas ke editor ROMFS -- file yang dijatuhkan dari desktop melewati kompilasi skrip dan konversi model yang sama seperti Add File, ke dalam folder tempat file dijatuhkan (677546ee033).
Peningkatan editor, terminal, dan UI#
Histogram dihitung dari RGB 8-bit penuh alih-alih tabel RGB565 kamera, dengan palet plot bersama, isian alpha-blended, dan garis kisi yang lebih redup (238e099373e, f126e8f34c0, cebbf0c9e2c).
Tampilan panel yang tersembunyi tidak bekerja -- histogram melewatkan komputasi dan penggambaran ulangnya saat tampilan lain sedang ditampilkan atau panel dilipat, dan menyusul saat ditampilkan kembali; penggambaran ulang berukuran nol dibungkam (c8730df8399).
Skrip contoh dibuka dengan baris kosong setelah impor, dan contoh-contoh yang disertakan diformat ulang dengan cara yang sama (1f88f617ec5, 87c8f7d41c7).
Penyelesaian kode menampilkan nama privat -- language server tersemat tidak lagi menyaring anggota berawalan
_, yang digunakan oleh modul-modul kamera (23ab5b38bb3).macOS -- kotak grup kontrol protokol di preferensi tidak lagi sempit, tampilan item dilindungi dari crash aksesibilitas Cocoa, pengguna Apple Silicon diperingatkan tentang pengaturan keamanan "Allow accessories to connect", dan pengguna RT1062 diperingatkan saat Input Monitoring belum diizinkan (pembaruan firmware memerlukannya); kedua peringatan ditampilkan setelah terhubung (7d7b69367bf, 69fe7ffc913, 742cb4d8c0b, 8890eb77834, 89646292e8d).
Pintasan mode viewer -- pintasan liar yang merusak mode viewer (dan IDE biasa) dinonaktifkan, dan mode viewer tidak lagi menyimpan pintasan yang dihapusnya ke pengaturan IDE lengkap (251b422f642, 0d153671c1d).
Sensor yang tidak dikenal dinamai berdasarkan chip id di bilah status sehingga dapat diidentifikasi dan ditambahkan ke tabel sensor (df561775b54).
Firmware, papan, dan alat#
Dukungan OpenMV N6 Classic: entri papan, driver DFU Windows dan kode pemasang, aturan udev Linux (4ff4a1f239d, bdd6c96ef47, 25fcdc13c6a, 7730b699f60).
Dukungan sensor FLIR Lepton 3.1R dan UW (12c03024f3c).
Serah terima bootloader IMX -- penangkap yang disiagakan lebih dulu mengklaim bootloader RT1062 seketika saat terenumerasi, menggantikan loop spawn-per-probe yang dapat melewatkan jendela satu detik pada host yang sibuk (3d8b63c6859).
Zip firmware -- Load Custom Firmware menerima bundel yang hanya berisi romfs dan bundel tanpa ROMFS, dan firmware kustom atau pengembangan disiapkan untuk papan IMX yang sudah berada dalam mode bootloader (b6f16f54c1a, 94d5fd5c30e).
Direktori staging privat untuk firmware pengembangan / kustom, image editor ROMFS, dan file sementara alat video, sehingga file usang dari proses lain tidak akan pernah ter-flash atau terkonversi secara tidak sengaja (939154501af, a288fe712e7, 5c8c717adec).
Video H.264 -- rekaman dan konversi mengenkode H.264 dengan interval key-frame yang ditetapkan; laju frame rekaman yang mendekati bilangan bulat dibulatkan ke bilangan tersebut sehingga pemutar melaporkan 30 FPS alih-alih 29,97 (6ad1968341d, d62c110e155, bab488a54fe).
Checksum zip sumber daya -- pembaruan sumber daya IDE diverifikasi terhadap SHA-256 yang diterbitkan bersama versinya (677546ee033).
User-Agent yang jujur pada permintaan ke server OpenMV (c4279c0213e).
Perbaikan bug#
Dua kali tinjauan atas setiap perubahan sejak v5.0.0 menemukan dan memperbaiki hal-hal berikut (ccea3b17d01, 71826200611):
Jalur firmware dan bootloader -- Load Custom Firmware dengan zip ke papan yang sudah berada dalam mode bootloader justru mem-flash build rilis; jalur pemulihan Alif kini menolak build kustom alih-alih mem-flash rilis; N6 Classic yang brick diperbaiki dengan bootloader dan firmware N6 biasa; root sumber daya pihak ketiga yang usang dapat mengarahkan papan bawaan yang brick ke file vendor; penangkap IMX dapat melanjutkan ke proses flash setelah crash, mengabaikan Cancel saat menunggu flashloader, dan membiarkan port serial terbuka setelah pembatalan selama penyiagaan; bootloader N6 Classic tidak memiliki aturan udev; kode keluar yang diterima pemasang driver Windows mengandung salah ketik.
Editor ROMFS -- Cancel selama pembacaan ROMFS melaporkan "Failed to unpack ROMFS!" dan menunggu sepuluh detik untuk kamera yang masih berada di bootloader; Cancel selama penulisan berakhir diam-diam dengan ROMFS yang mungkin tidak lengkap; kesalahan dfu-util selama penulisan dilaporkan sebagai berhasil; Cancel di dialog lanjutan membuang setiap suntingan; Auto Reconnect dapat terhubung di balik editor yang sedang terbuka; Edit ROMFS saat terhubung memutus dan menyambung ulang koneksi lebih dulu tanpa perlu; direktori sementara pengonversi bocor. Setelah operasi yang dibatalkan, bootloader kini diminta keluar dari DFU sehingga kamera kembali dengan sendirinya.
Repositori pihak ketiga -- entri zip divalidasi sebelum diekstrak (tanpa path traversal atau symlink), pemasangan bagian dan pemasangan ulang mempertahankan salinan lama hingga yang baru terpasang, papan vendor yang ditolak tidak lagi ikut menjatuhkan papan bawaan yang tumpang tindih dengannya, mask PID yang hilang tidak cocok dengan apa pun saat runtime, dan baris indeks contoh / model dasar tidak lagi menangkap file vendor yang bernama sama.
Frame buffer dan sensor -- sensor event GENX320 (chip id di atas
0x80000000) menonaktifkan frame buffer; pemilihan sensor yang tersimpan tidak bertahan setelah restart; preferensi "disable frame buffer" yang lama tidak dimigrasikan; perintah stream-source dibatasi berdasarkan versi protokol; metrik fokus membeku saat halaman histogram disembunyikan; format frame tetap tertinggal di judul setelah terputus.Alur koneksi -- peringatan macOS dapat menelan "Yes" dari prompt peningkatan firmware; Model Zoo selalu terbuka dalam keadaan terlipat tanpa pemilihan yang dipulihkan; fallback drive-tunggal untuk drive kamera tidak dapat dijangkau saat kamera telah tercolok lebih dari sepuluh detik.
Tampilan Kanal dan perekam -- ukuran frame yang tidak wajar dapat meluap melewati pemeriksaan ukuran; perekam Edge Impulse mengalokasikan ulang pada setiap potongan dan kini dibatasi 64 MB per bagian; skema dengan pemisah di dalam nama dapat mengindeks melewati daftar record; record duplikat membuat perekam yang sedang berjalan terbengkalai; penulisan dibuang saat tampilan dibekukan; daftar kanal kini disegarkan pada peristiwa unregister dan soft-reboot.
Video -- lebar ganjil yang dimasukkan pengguna merusak pengenkodean H.264 pada build libx264; konversi
.binyang dibatalkan atau gagal meninggalkan frame yang ikut terlipat ke dalam proses berikutnya.Protokol -- pembilasan baca yang berjalan sebelum deteksi protokol kini dibatasi (issue #336) (77cd13af76f); asosiasi drive kamera tidak lagi kalah bersaing dengan volume lain (9877480c304).
Peringatan
-Wdeprecated-copydi pembungkus info port serial (abcfaa8af5e).
Pelokalan#
Semua 37 katalog diperbarui untuk tampilan panel, tampilan Kanal beserta peta kedalamannya, dan setiap string baru dalam rilis ini (1b71f243733, dc13c23ed81, a7debafdafa, 173a57422f7).
Dukungan platform dan alat#
Basis Qt Creator: 14.0.2.
OpenMV IDE dinaikkan versinya ke 5.1.0.
Firmware yang disertakan: v5.0.1 (lihat catatan perubahan firmware).
Papan dan sensor baru: OpenMV N6 Classic; FLIR Lepton 3.1R dan UW.
Perubahan yang merusak#
Tidak ada untuk proyek yang ada. Toggle JPG di bilah judul frame buffer kini menjadi pemilih JPG Mode / RAW Mode, dan pengaturan "disable frame buffer" lamanya dimigrasikan ke entri Off pada pemilih sumber yang baru. Komentar dihapus dari skrip sebelum dijalankan; skrip yang bergantung pada pembacaan teks sumbernya sendiri saat runtime sebaiknya tidak melakukannya.