v1.3.0

v1.3.0 menulis ulang lapisan komunikasi kamera di sekitar protokol perintah/respons terstruktur dan menambahkan pembaruan otomatis dalam IDE untuk IDE itu sendiri maupun sumber daya bawaannya. Versi ini dibangun di atas Qt Creator 4.0.2 dan menyertakan firmware kamera OpenMV 2.0.0. Di macOS dan Linux, flashing firmware DFU kini memerlukan instalasi sekali waktu Python beserta libusb dan pyusb; lihat Perubahan yang Merusak.

Sorotan

  • Lapisan komunikasi yang ditulis ulang. Kode serial/USB-debug dibangun ulang di sekitar protokol perintah/respons terstruktur dengan panjang respons per-perintah dan penundaan tunggu awal/akhir, untuk operasi koneksi, jalankan skrip, buffer bingkai, dan bootloader yang lebih andal.

  • Pembaruan otomatis dalam IDE. IDE kini memeriksa openmv.io untuk versi yang lebih baru dan menampilkan tombol Download, serta mengunduh dan menginstal paket sumber daya yang diperbarui (contoh, firmware, dokumentasi) kemudian meminta untuk memulai ulang.

  • Pembaruan firmware satu klik. Versi firmware di bilah status kini merupakan tombol yang dapat diklik; tombol ini membandingkan kamera yang terhubung dengan firmware bawaan dan menawarkan pembaruan satu klik jika versi yang lebih baru tersedia.

  • Flashing firmware DFU di semua platform. Firmware kini dapat di-flash melalui DFU di Windows, macOS, Linux x86, dan Linux x86_64, dan pemilih firmware menerima file .dfu selain .bin.

  • Fallback DFU otomatis. Ketika bootloader serial tidak dapat dijangkau selama pembaruan firmware, IDE kini menawarkan untuk meningkatkan melalui bootloader DFU kamera sebagai gantinya, dengan panduan menambahkan jumper BOOT/RST.

Fitur baru

  • Pembaruan dalam IDE. Memeriksa openmv.io untuk versi IDE yang lebih baru dan menampilkan tombol Download yang membuka openmv.io/download, serta mengunduh, membongkar, dan menginstal paket sumber daya openmv-ide-resources-X.Y.Z.zip langsung ke dalam IDE sebelum meminta untuk memulai ulang (8a1f92bb1, 194acd828, b0be97e3e).

  • Tombol versi firmware yang dapat diklik. Label versi di bilah status berubah menjadi QToolButton yang terhubung ke aliran updateCam() yang membaca firmware/firmware.txt bawaan, membandingkannya dengan kamera yang terhubung, dan menawarkan Pembaruan Firmware dengan opsi penghapusan sistem file internal saat versi lebih baru tersedia (b2ac8defe).

  • Dukungan file DFU. Dialog bootloader/flash firmware kini menerima file .dfu selain .bin dan memaksa penghapusan penuh sistem file internal saat mem-flash file .dfu. Filter pemilih firmware diperluas ke Firmware Binary (*.bin *.dfu) dan aliran forced-erase .dfu diperkenalkan di 4ad2be5f9, dengan kotak centang erase yang selalu dicentang namun dinonaktifkan yang secara otomatis beralih sesuai ekstensi file yang dipilih ditambahkan di b2ac8defe (4ad2be5f9, b2ac8defe).

  • Fallback DFU otomatis saat bootloader gagal. Ketika pembaruan firmware .bin tidak dapat memulai bootloader serial, IDE kini melaporkan Unable to connect to the bootloader! dan kemudian menawarkan untuk meningkatkan menggunakan bootloader DFU kamera sebagai gantinya, dengan peringatan bahwa DFU menghapus sistem file flash internal dan memandu Anda menambahkan kabel jumper BOOT/RST serta menyambung kembali sebelum menjalankan DfuSeCommand.exe (Windows) (4ad2be5f9).

  • Contoh HoG. Menambahkan contoh visualisasi Histogram of Oriented Gradients (09-Feature-Detection/hog.py) menggunakan img.find_hog() (b03a707f7).

Perubahan dan peningkatan lainnya

  • Mengganti kode laju baud/paket ad-hoc lama dengan kelas OpenMVPluginSerialPortCommand/Result, opcode __USBDBG_* dan __BOOTLDR_*, serta helper command()/commandResult() sebagai pengganti write()/readAll()/isOpen() (b03a707f7, 141122e21, b2ac8defe, 1d72fe4bf, b4cf2fe43, c60936d5f).

  • Instalasi driver port serial Windows kini berjalan diam/tanpa perhatian, dengan mengalihkan skrip driver openmv.cmd/pybcdc.cmd ke installer berbasis dpinst alih-alih InfDefaultInstall yang interaktif; installer Visual C++ Redistributable (vcr.cmd, menjalankan vcredist_x86.exe dan vcredist_x64.exe secara diam-diam) ditambahkan dan diperbaiki (a5a6e0590, 754d0776d, b0be97e3e, 452a29f0d, c051c6e30, ad1b674ef, 565f1eccd).

Perbaikan bug

  • Memperbaiki kerusakan flashing firmware dan komunikasi di dalam mesin virtual, serta melonggarkan berbagai batas waktu perintah dan polling buffer bingkai/tx-buffer sehingga koneksi dan jalankan lebih andal. Dialog reprogram kini mencatat bahwa proses "may take up to 5 minutes" dan batas waktu proses DFU dinaikkan dari 240 detik menjadi 300 detik di 324f243f9 (c051c6e30, b0be97e3e, 1d72fe4bf, b4cf2fe43, 324f243f9, c60936d5f).

  • Memperbaiki perbandingan ketersediaan pembaruan firmware/IDE sehingga minor atau patch yang lebih baru tidak lagi memicu pembaruan secara salah ketika field yang lebih tinggi bernilai sama, dan mengharuskan dialog bootloader memiliki file yang valid sebelum mem-flash (4ad2be5f9).

  • Menutup handle file (daftar board, file firmware/versi) setelah pembacaan dan memperbaiki padding potongan flash firmware agar sesuai dengan FLASH_WRITE_CHUNK_SIZE, mencegah handle yang bocor dan potongan terakhir yang salah padding selama pembaruan firmware (4ad2be5f9).

  • Memperbaiki menu Help OpenMV dan panel output: entri About OpenMV Cam tidak lagi bertabrakan dengan peran About platform (AboutRoleApplicationSpecificRole), dan panel output tidak lagi mengambil pintasan Alt/Cmd + angka (a0694eac7).

  • Membuka tautan web OpenMV eksternal (forum, unduhan, dukungan) kini melaporkan dialog kesalahan "Failed to open" ketika URL tidak dapat diluncurkan, alih-alih diam-diam tidak melakukan apa pun (b0be97e3e).

Dukungan platform dan alat

  • Basis Qt Creator: 4.0.2.

  • Firmware kamera bawaan: diperbarui ke 2.0.0, dengan firmware.bin/openmv.bin baru dan file firmware.dfu/bootloader.dfu/firmware.elf/bootloader.elf yang baru ditambahkan untuk OMV2 dan OMV7.

  • Flashing DFU Windows ditambahkan menggunakan DfuSeCommand.exe ST bawaan, paket driver USB DfuSe ST (DfuSe v3.0.4.0 di Win7/Win8, v3.0.5.0 di Win8.1) dan installer driver dfuse.cmd (4ad2be5f9).

  • Flashing DFU macOS dan Linux beralih dari biner dfu-util yang telah dikompilasi sebelumnya ke flasher pydfu.py bawaan, dengan IDE menampilkan perintah instalasi libusb/pyusb yang diperlukan. ac248c0ec sempat menambahkan biner dfu-util/dfu-prefix/dfu-suffix Linux x86_64, tetapi 324f243f9 kemudian menghapus semuanya demi pydfu.py. Tidak ada biner dfu-util yang disertakan dalam rilis final; static.pro menyertakan direktori data pydfu untuk semua host non-Windows sementara Windows menggunakan aliran DfuSe bawaan (ac248c0ec, 324f243f9, 7837a07da).

  • Aturan udev Linux diperbarui untuk menggunakan pencocokan SUBSYSTEM (kamera VID 1209/PID abd1 tty dan STM DFU 0483/df11) sehingga symlink perangkat dan DFU berfungsi di Linux 32-bit, dan permintaan jaringan pengikut pengalihan dijaga untuk Qt yang lebih lama (194acd828).

Perubahan yang merusak

Biner dfu-util mandiri bawaan untuk macOS dan Linux dihapus dan digantikan oleh flasher Python pydfu.py. Di macOS dan Linux, flashing firmware DFU kini memerlukan instalasi sekali waktu Python beserta libusb dan pyusb (IDE menampilkan perintah MacPorts/HomeBrew/apt-get yang tepat). Windows terus menggunakan aliran berbasis DfuSe bawaan. Tidak ada perubahan API scripting, dan basis Qt Creator 4.0.2 tidak berubah.