v1.7.0

v1.7.0 memperkenalkan modul cpufreq (kontrol frekuensi CPU / overclocking), modul MicroPython os, kontrol refresh / resolusi sensor termal MLX, dan bring-up awal papan OpenMV Cam M7 (STM32F7). Tanda tangan fir.init(), penanganan bingkai terlalu besar, dan kualitas JPEG default berubah — baca perubahan yang dapat merusak di bawah.

Sorotan

  • Modul cpufreq — query / atur frekuensi CPU, dengan contoh overclocking.

  • Modul os — modul MicroPython os kini tersedia.

  • Termal MLXfir.init() menerima laju refresh dan resolusi ADC.

  • OpenMV Cam M7 — bring-up awal papan STM32F7.

  • Breaking: fir.init() kini hanya menerima keyword, bingkai terlalu besar dipangkas otomatis, dan kualitas JPEG default berkurang — lihat perubahan yang dapat merusak.

Fitur baru

  • cpufreq — menambahkan modul cpufreq dengan cpufreq.get_frequency() / cpufreq.set_frequency() dan konstanta CPUFREQ_120MHZ / 144 / 168 / 192 / 216MHZ, ditambah contoh overclocking.py.

  • os — mengaktifkan modul MicroPython os.

  • MLX / FIRfir.init() kini menerima laju refresh dan resolusi ADC, dengan kontrol refresh / resolution yang sesuai untuk sensor termal MLX.

Perubahan dan peningkatan lainnya

  • Menyetel wilayah AGC/AEC OV7725 (blur gerakan lebih sedikit), mengaktifkan colorbar solid DSP untuk OV7725, dan memperbaiki streaming buffer bingkai IDE (tidak ada bingkai basi / duplikat).

Perbaikan bug

  • Memperbaiki overflow ukuran transfer DCMI/DMA di sensor.snapshot(), membersihkan penanganan buffer-overflow kompresi JPEG, meningkatkan wilayah operasi AEC/AGC OV7725 untuk eksposur/gain otomatis yang lebih baik, dan memperbaiki skrip colorbar / self-test untuk OV7725.

Dukungan perangkat keras dan papan

  • OpenMV Cam M7 (STM32F7 / OPENMV7) — dukungan papan dan bootloader awal.

  • OpenMV 2 — clock sensor digerakkan oleh output MCO.

Perubahan API yang dapat merusak

Perubahan API yang terlihat oleh pengguna antara v1.6.0 dan v1.7.0. Lingkup: C-module Python di modules/ dan pustaka Python di scripts/libraries/.

Setiap perubahan diberi tag dengan dampaknya:

  • minor — API sempit; hanya mempengaruhi skrip yang menggunakannya.

  • behavior — API sama, hasil berbeda; periksa ulang skrip yang disetel.

Perubahan dikelompokkan berdasarkan dampak dalam urutan tersebut. Jika Anda hanya ingin memigrasikan kode, langsung ke daftar periksa migrasi di akhir. Setiap hash commit terhubung ke diff-nya di GitHub.

fir.init() kini hanya menerima keyword (minor)

fir.init() diubah untuk menerima argumen kata kunci (type= / refresh= / resolution=, default refresh 64 Hz, maks 512 Hz) alih-alih argumen posisi. Perbarui panggilan posisi fir.init(...) ke bentuk kata kunci.

Commits: 958c5b7f7

Bingkai terlalu besar dipangkas otomatis ke QVGA (perilaku)

sensor.snapshot() tidak lagi memunculkan error ketika bingkai mentah melebihi ukuran bingkai mentah maksimum papan — bingkai mentah yang terlalu besar kini di-window/dipangkas ke QVGA (hanya bingkai mentah mode JPEG yang masih ditolak). Pilih ukuran bingkai yang didukung jika Anda mengandalkan error sebelumnya.

Commits: b655a5488, abace9e4f

Ukuran bingkai maks OpenMV 2 diturunkan ke QVGA (perilaku)

Pada OpenMV 2, ukuran bingkai citra-integral / mentah / blob maksimum diturunkan dari VGA ke QVGA. Meminta VGA untuk operasi skala abu-abu / RGB565 / blob / citra-integral pada OpenMV 2 kini dipangkas ke QVGA — rancang ulang skrip yang bergantung pada pemrosesan VGA di papan tersebut.

Commits: 7499062bd

Kualitas JPEG default berkurang (perilaku)

Kualitas JPEG default dikurangi (default 50 → 35, dengan ambang batas subsampel IDE yang lebih rendah) untuk streaming yang lebih andal. JPEG yang ditangkap/di-stream secara default memiliki kualitas yang lebih rendah secara kasat mata — berikan quality yang eksplisit ke image.compress() jika Anda membutuhkan kualitas sebelumnya.

Commits: d9c8b1535

Daftar periksa migrasi

Untuk migrasi bersih ke v1.7.0, pekerjaan yang umum dilakukan adalah:

  1. Ubah panggilan posisi fir.init(...) ke bentuk kata kunci (perubahan fir.init).

  2. Gunakan ukuran bingkai yang didukung alih-alih mengandalkan error bingkai terlalu besar yang lama (perubahan bingkai terlalu besar), dan rancang ulang pemrosesan VGA pada OpenMV 2 (perubahan ukuran bingkai OpenMV 2).

  3. Berikan quality yang eksplisit ke image.compress() jika Anda membutuhkan kualitas JPEG sebelumnya (perubahan kualitas JPEG).

Semua skrip lainnya berjalan tanpa perubahan.