v1.1.0

v1.1.0 adalah rilis arsitektur fondasi: rilis ini menghapus modul periferal kustom awal demi MicroPython built-in standar, memindahkan API pencitraan ke modul image dan jam laju bingkai ke time, serta menambahkan Haar cascade bawaan, get_pixel() / set_pixel(), dukungan papan OpenMV 2, dan debugging USB-CDC. Ini adalah rilis yang banyak melanggar aturan dan mendefinisikan API — baca perubahan yang melanggar di bawah ini.

Sorotan

  • MicroPython built-in — modul kustom gpio / led / spi / socket / wlan / uart / file / select dihapus demi pyb / machine MicroPython.

  • Modul imageImage() / HaarCascade() / deskriptor kini berada di modul image.

  • time.clock — jam laju bingkai dipindahkan ke modul time.

  • Haar cascade bawaanHaarCascade("frontalface") / HaarCascade("eye") (tidak perlu file).

  • Dukungan papan OpenMV 2 dan debugging USB-CDC.

  • Melanggar: struktur modul didefinisikan ulang — lihat perubahan yang melanggar.

Fitur baru

  • Citra — ditambahkan Image.get_pixel(x, y) / set_pixel() dan akses piksel subskrip img[i]; Haar cascade flash bawaan (HaarCascade("frontalface") / HaarCascade("eye")) dan kata kunci stages= untuk membatasi tahapan cascade; draw_string() bekerja pada citra skala abu-abu.

  • Sensor — ditambahkan sensor.set_colorbar(), sensor.set_saturation(), dan ukuran bingkai QQVGA2.

  • mlxmlx.read(type) dengan keluaran mlx.RAINBOW / mlx.GRAYSCALE.

  • Debugging — diterapkan debugging melalui USB CDC, kueri fw_version() firmware, firmware per-papan (OpenMV 1 / OpenMV 2), dan skrip pengujian mandiri / colorbar; kesalahan fatal/parse dicatat ke flash.

Perubahan dan peningkatan lainnya

  • Kehabisan memori kini memunculkan MemoryError bukan OSError; skrip dijalankan dengan pengecualian re-raise sehingga error dicetak alih-alih crash; laju baud serial dapat dikonfigurasi (default 921600); filesystem flash lebih besar; clock piksel sensor diturunkan menjadi 54 MHz untuk kestabilan pengambilan gambar; sensor.reset() hanya mengandalkan soft reset sensor.

Perbaikan bug

  • Memperbaiki pencocokan template, find_features() yang mengulang objek pertama, akses register atomik SCCB/I2C, deteksi chip kartu SD, pemetaan pin soft-I2C, akurasi warna fast_cbrtf / LAB, dan penggunaan memori integral-image / median-filter pada OpenMV 1 / 2.

Dukungan perangkat keras dan papan

  • Dukungan papan OpenMV 2 (STM32F427) (dan desain perangkat keras OpenMV 3); MCO digunakan sebagai clock sensor pada OpenMV 2.

Perubahan API yang melanggar

Perubahan API yang terlihat pengguna antara v1.0.3-beta dan v1.1.0. Cakupan: C-modul Python di modules/ dan pustaka Python di scripts/libraries/.

Setiap perubahan diberi tag dampaknya:

  • major — memengaruhi sebagian besar skrip yang menggunakan fitur tersebut; Anda perlu melakukan porting kode.

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

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

Modul periferal kustom dihapus (major)

Modul kustom awal clock / file / gpio / led / select / socket / spi / wlan / uart dihapus demi periferal bawaan pyb / machine MicroPython. Port skrip ke padanan MicroPython standar (mis. pyb.Pin / pyb.LED / pyb.SPI / pyb.UART).

Commit: 6d2fafa94

API pencitraan dipindahkan ke modul image (major)

Image(), HaarCascade(), dan fungsi simpan/muat deskriptor tidak lagi sebagai built-in biasa — sekarang berada di modul image baru. Skrip harus melakukan import image dan menggunakan image.Image / image.HaarCascade().

Commit: 54288c535

Jam laju bingkai dipindahkan ke time (major)

Modul clock mandiri dihapus; jam laju bingkai kini berada di time. Gunakan import time dan clock = time.clock() — objek yang dikembalikan masih menyediakan .tick() / .fps() / .avg() / .reset().

Commit: a8928ca3b

/flash dan /sd tidak lagi ditambahkan ke sys.path (behavior)

Label volume / direktori root diperbaiki dan /flash serta /sd tidak lagi ditambahkan secara otomatis ke sys.path. Skrip yang mengimpor modul pembantu dengan nama biasa dari lokasi tersebut harus menambahkan path secara eksplisit (atau menempatkan modul di lokasi yang dapat ditemukan).

Commit: 09e77b5da

Daftar periksa migrasi

Untuk port bersih ke v1.1.0, pekerjaan umumnya adalah:

  1. Ganti modul kustom gpio / led / spi / uart / socket / wlan / file / select dengan MicroPython pyb / machine (penghapusan modul kustom).

  2. import image dan awali Image() / HaarCascade() dengan image. (perpindahan modul image).

  3. Gunakan import time dan clock = time.clock() (perpindahan clock).

  4. Tambahkan /flash / /sd ke sys.path secara eksplisit jika Anda mengimpor modul pembantu dengan nama biasa (perubahan sys.path).

Semua skrip lainnya berjalan tanpa perubahan.