v3.6.0

v3.6.0 menghadirkan dukungan penuh kamera OV5640 5 MP dengan framesizes resolusi tinggi baru (HD / FHD / QHD / QXGA / WQXGA), memperbarui inti ke MicroPython 1.12, mengoptimalkan secara besar-besaran encoder JPEG perangkat lunak serta deteksi AprilTag / garis, menambahkan UVC (video USB) pada OpenMV Cam H7 Plus, dan mendukung flash QSPI hingga 32 MB. Perilaku MicroPython dan get_histogram() berubah — baca perubahan yang merusak di bawah ini.

Sorotan

  • OV5640 5 MP — driver kamera lengkap dengan framesizes HD / FHD / QHD / QXGA / WQXGA / WQXGA2 baru.

  • MicroPython 1.12 — inti bawaan telah diperbarui.

  • Pipeline lebih cepat — pengodean JPEG perangkat lunak yang sangat dioptimalkan, deteksi AprilTag, deteksi garis LSD, histeq(), dan dekoding kode QR.

  • UVC pada H7 Plus — OpenMV Cam H7 Plus dapat berfungsi sebagai perangkat video USB.

  • Perubahan Merusak: Perilaku MicroPython, normalisasi image.get_histogram(), dan keluaran JPEG/grayscale OpenMV 3 berubah — lihat perubahan yang merusak.

Fitur baru

  • OV5640 — menambahkan dukungan penuh untuk kamera OV5640 5 MP (konfigurasi jam eksternal dalam inisialisasi sensor) dan konstanta framesize sensor.HD / FHD / QHD / QXGA / WQXGA / WQXGA2 baru.

  • TIM4 — dibebaskan sehingga dapat digunakan dari MicroPython.

  • Menambahkan contoh penulisan DAC bertimer (dac_write_timed.py) dan mengganti nama dac_control.py menjadi dac_write.py.

Perubahan dan peningkatan lainnya

  • Memperbarui MicroPython bawaan ke 1.12; sangat mengoptimalkan encoder JPEG perangkat lunak (jalur VGA, jalur skala abu-abu/biner, matematika integer alih-alih floating-point, pengambilan MCU yang dioptimalkan), find_line_segments() LSD, deteksi AprilTag, Image.histeq(), dan konversi kode QR / RGB-ke-gray; menambahkan dukungan flash QSPI untuk chip hingga 32 MB; menghapus contoh CMSIS-CNN cnn.py yang sudah usang.

Perbaikan bug

Kamera dan pencitraan:

  • Memperbaiki korupsi pengodean JPEG pada HQQQVGA, kompresi citra biner (1-bit) → JPEG, regresi find_line_segments() (mengaktifkan kembali pemeriksaan non-aligned NOTDEF), dan masalah kecil pada driver OV2640.

Sistem dan boot:

  • Memperbaiki korupsi self-test / filesystem (selftest.py sekarang berjalan sebelum USB MSC diaktifkan, dan USB MSC diaktifkan saat terjadi error fatal agar host dapat membaca log error), pyb.DAC write_timed(), timing machine.I2C H7, pengaktifan ulang overdrive F7 setelah stop mode, dan interval rtc.wakeup() stop_mode.py.

Dukungan perangkat keras dan board

  • OV5640 — driver kamera 5 MP lengkap dengan framesizes resolusi tinggi.

  • OpenMV Cam H7 Plus — dukungan UVC (video USB); target board OPENMV4R diganti nama menjadi OPENMV4P.

  • Flash QSPI — chip hingga 32 MB kini didukung.

Perubahan API yang merusak

Perubahan API yang terlihat pengguna antara v3.5.2 dan v3.6.0. Cakupan: C-modul Python di modules/ dan pustaka Python di scripts/libraries/.

Ketiga perubahan yang merusak adalah perubahan perilaku (API sama, hasil berbeda) — periksa kembali skrip yang terpengaruh. Setiap hash commit tertaut ke diff-nya di GitHub.

MicroPython diperbarui ke 1.12 (perilaku)

Inti MicroPython bawaan diperbarui ke 1.12. Perilaku pustaka standar dan bahasa mengikuti MicroPython 1.12 upstream; periksa kembali skrip yang bergantung pada perilaku micropython / modul standar yang spesifik untuk versi tertentu.

Commit: eafd431ea

Normalisasi ambang batas image.get_histogram() berubah (perilaku)

image.get_histogram() (dan get_statistics()) dengan ambang batas warna kini menormalisasi berdasarkan jumlah piksel yang di-threshold alih-alih seluruh ROI, dan menggunakan floor alih-alih round untuk pengindeksan bin. Nilai histogram/statistik untuk panggilan yang di-threshold berbeda dari rilis sebelumnya — sesuaikan ulang kode yang membandingkan terhadap nilai histogram absolut.

Commit: 7cf0f8089

Keluaran JPEG/grayscale OpenMV 3 berubah (perilaku)

Untuk menghemat flash, tabel pencarian YUV OpenMV 3 (M7) dinonaktifkan, sehingga nilai piksel keluaran JPEG dan skala abu-abu dihitung sedikit berbeda pada OpenMV 3. Keluaran masih valid namun berbeda sedikit dari rilis sebelumnya; periksa kembali perbandingan piksel-eksak pada OpenMV 3.

Commit: 0e4b46e41

Daftar periksa migrasi

Validasi ulang skrip yang bergantung pada perilaku MicroPython spesifik versi terhadap 1.12 (pembaruan MicroPython), sesuaikan ulang kode yang membandingkan terhadap nilai absolut get_histogram() / get_statistics() saat menggunakan ambang batas warna (perubahan histogram), dan periksa kembali perbandingan piksel-eksak pada OpenMV 3 (perubahan keluaran OpenMV 3). Semua skrip lainnya berjalan tanpa perubahan.