v1.7.0

v1.7.0 menambahkan chunking dan perakitan ulang buffer bingkai serial sehingga bingkai besar dapat ditransfer melalui tautan serial debug, membuat disconnect-with-reset lebih aman dengan memflushing (dan, di Windows, meng-eject) drive USB mass-storage kamera, serta menyegarkan set contoh. Rilis ini didasarkan pada Qt Creator 4.0.2 (basis yang sama dengan rilis sebelumnya) dan menambahkan dukungan build untuk target Linux tertanam yang dikompilasi silang seperti Raspberry Pi. Tidak ada perubahan yang merusak kompatibilitas.

Sorotan

  • Chunking buffer bingkai serial — transfer buffer bingkai besar dipecah menjadi potongan berukuran MTU dan dirakit ulang dalam buffer piksel, sehingga bingkai besar dapat dipindahkan melalui tautan serial debug.

  • Disconnect-with-reset yang lebih aman — drive USB mass-storage kamera diflushing sebelum reset (dan di-eject paksa di Windows) sehingga sistem file disinkronkan terlebih dahulu.

  • Penyimpanan file atomikmain.py dan file titik kunci ditulis secara atomik, mencegah kerusakan dan memperbaiki bug jalur yang menulis main.py ke lokasi yang salah.

  • Raspberry Pi / Linux tertanam — dukungan build kompilasi silang kini disertakan.

  • Contoh yang diperbarui — set Servo Shield, demo Feature-Detection baru, dan contoh video Image Reader/Writer.

Fitur baru

  • Chunking dan perakitan ulang buffer bingkai serial. Transfer buffer bingkai dipecah menjadi potongan berukuran MTU dan dirakit ulang dalam buffer piksel, sehingga bingkai besar dapat dipindahkan melalui tautan serial debug menggunakan MTU default. Jabat tangan negosiasi MTU otomatis saat runtime ditambahkan dengan gerbang versi firmware-nya disetel ke 2.5.0, sesuai dengan firmware 2.5.0 yang disertakan dalam commit yang sama (96458ccef). Gerbang kemudian dinaikkan ke 9.9.9 untuk rilis, yang tidak dilaporkan oleh firmware yang dikirimkan, sehingga kamera menggunakan MTU default dan tidak ada negosiasi yang terjadi (abd1dacb9).

  • Flush/eject saat disconnect-with-reset. Memutuskan sambungan dengan reset kini memflushing drive USB mass-storage kamera sebelum reset: di Windows drive di-eject paksa, sementara di Linux dan macOS sistem file drive disinkronkan (syncfs / sync_volume_np). Kesalahan Failed to eject dilaporkan saat gagal di ketiga platform (243618791, ff6b15aff, 1865ffd31, 4fd4e89cf).

  • Contoh Servo Shield. Menambahkan set contoh 15-Servo-Shield yang mendemonstrasikan servo yang dikendalikan PCA9685, termasuk driver pca9685.py dan helper servo.py (abd1dacb9).

  • Contoh Feature-Detection baru. Menambahkan find_circles (Hough), find_rects (quad-threshold), find_numbers (pengenalan digit LeNet), dan contoh regresi linear cepat dan andal di bawah 09-Feature-Detection (abd1dacb9).

  • Contoh video dan kontrol papan. Menambahkan contoh Image Reader/Writer untuk merekam dan memutar ulang aliran snapshot dari kartu SD, contoh kontrol papan RTC, dan runner unit-test pada kamera (abd1dacb9).

Perubahan dan peningkatan lainnya

  • Mengganti nama folder contoh 99-Tests (sebelumnya 15-Tests) dan menambahkan runner unittests.py (abd1dacb9).

Perbaikan bug

  • Memperkuat penyimpanan main.py dan file titik kunci. Penulisan dialihkan ke penulisan FileSaver atomik (tulis lalu finalisasi) di (4fd4e89cf), dan pemisah jalur yang hilang yang menulis main.py ke lokasi yang salah diperbaiki di (1865ffd31).

  • Meningkatkan keandalan serial dengan memperbesar buffer baca serial menjadi 1MB di semua port dan meningkatkan batas waktu stall baca, mengatasi data yang hilang dengan QSerialPort (7f68368dc).

  • Memperbaiki gangguan tata letak splitter jendela dengan mengekspor MainWindow dan memancarkan sinyal show-event sehingga plugin OpenMV dapat memulihkan tata letak saat jendela utama ditampilkan (4895e20b7).

Dukungan platform dan alat

  • Basis Qt Creator: 4.0.2.

  • Menambahkan dukungan build untuk target Linux tertanam yang dikompilasi silang seperti Raspberry Pi: men-deploy font Qt, memperbaiki penanganan chrpath/RPATH, membangun terjemahan dengan biner host, dan menambahkan dependensi qml yang hilang (73c052fcc, 8f0baa131, 5b9e9e82e, 45011ec2a).

  • Memperbarui firmware OpenMV yang disertakan dari 2.4.1 ke 2.5.0 (96458ccef).

  • Mengganti nama folder firmware OMV2/OMV3 menjadi OPENMV2/OPENMV3 dan menyertakan firmware dan biner bootloader STM32F427 (OPENMV2) dan STM32F765 (OPENMV3) yang diperbarui dan dibangun ulang (abd1dacb9).

Perubahan yang merusak kompatibilitas

Tidak ada. Rilis ini tidak memperkenalkan perubahan alur kerja atau perilaku yang terlihat oleh pengguna, dan proyek yang sudah ada terus berjalan tanpa perubahan.