v3.9.4¶
v3.9.4 menambahkan modul buzzer, ioctls deteksi gerak HM01B0 Himax (dengan contoh wake-on-motion berdaya rendah), kontrol jendela readout MT9V034, fungsi low-power Ethernet, driver kamera OV7670, dan kamera Arduino Nano 33 BLE Sense. Rilis ini juga membawa sejumlah besar peningkatan kecepatan JPEG / LCD / TV. API output VSYNC digantikan dengan callback dan matematika gain/eksposur MT9V034 telah dikoreksi — baca perubahan yang merusak di bawah ini.
Sorotan¶
Modul Buzzer — modul
buzzerbaru (freq(),duty(),RESONANT_FREQ) pada OpenMV Pure Thermal.Deteksi gerak HM01B0 — ioctls deteksi gerak Himax baru beserta contoh wake-on-motion berdaya rendah.
Jendela readout MT9V034 — kontrol jendela readout global-shutter melalui
sensor.ioctl().Kamera/papan baru — driver OV7670 dasar, kamera Arduino Nano 33 BLE Sense, dan papan Bormio.
Pipeline lebih cepat — encoder JPEG SIMD yang ditulis ulang, debayering lebih cepat, dan peningkatan kecepatan transfer LCD/TV yang signifikan.
Merusak:
sensor.set_vsync_output()digantikan dengansensor.set_vsync_callback()dan matematika gain/eksposur MT9V034 telah dikoreksi — lihat perubahan yang merusak.
Fitur baru¶
Buzzer — menambahkan modul
buzzerdenganbuzzer.freq(),buzzer.duty(), dan konstantabuzzer.RESONANT_FREQ(OpenMV Pure Thermal).Deteksi gerak HM01B0 — menambahkan ioctls
IOCTL_HIMAX_MD_ENABLE/MD_WINDOW/MD_THRESHOLD/MD_CLEARdanIOCTL_HIMAX_OSC_ENABLE, dengan contoh deteksi gerak Himax dan contoh wake berdaya rendahhimax_wakeup_on_motion_detection.py.Jendela readout MT9V034 — menambahkan
IOCTL_SET_READOUT_WINDOW/IOCTL_GET_READOUT_WINDOWuntuk kontrol jendela readout MT9V034 melaluisensor.ioctl().Low-power Ethernet — menambahkan fungsi power-down / low-power Ethernet.
Portenta — menambahkan fungsi callback enable/disable external-oscillator.
Perubahan dan peningkatan lainnya¶
Menulis ulang encoder JPEG dengan SIMD dan mempercepat encoding Bayer→YCbCr, menjaga inti hardware JPEG tetap bertenaga selama eksekusi skrip, mempercepat debayering (~19,5 ms untuk VGA), membongkar kompresi JPEG ke MDMA, mempercepat jalur transfer TV/LCD dengan SIMD/DMA efisien, dan secara masif mengurangi penggunaan bus SPI LCD. Menambahkan driver USB3320 ULPI PHY untuk USB berkecepatan tinggi.
Perbaikan bug¶
Kamera dan sensor:
Memperbaiki init/streaming driver HM01B0 dan menyetel target AE / gain maksimumnya, mengoreksi pembatasan gain AGC/AEC MT9V034, dan memperbaiki pemuatan firmware autofocus OV5640 (urutan byte).
Tampilan:
Memperbaiki transfer DMA SPI LCD lebih besar dari 64 KB, polaritas output LCD, dan stabilitas bus LCD (AXI QOS).
Sistem dan konektivitas:
Memperbaiki instans SDMMC yang digunakan oleh driver CYW43 WiFi (dengan instans SDMMC yang ditentukan per-papan), meningkatkan efisiensi DMA FLIR Lepton (VOSPI dinaikkan ke 20 MHz pada H7), memperbaiki perilaku low-power/standby Portenta (batas arus PMIC SW1, low-power Ethernet dan ULPI), membuat server RTSP menoleransi header
CSeqdanPLAY Rangeyang tidak berurutan (FFPLAY), memperbaiki penyelarasan 8-byte EABI stack linker, dan memperbaiki import yang rusak di contoh Portentamqtt_sub.py.
Dukungan perangkat keras dan papan¶
Sensor kamera OV7670 — driver dasar.
Arduino Nano 33 BLE Sense — driver sensor kamera (port nrf) dengan perbaikan pin reset dan bus I2C.
HM01B0 — menambahkan resolusi 320x320.
Bormio — konfigurasi clock PLL, tata letak flash, dan GPIO PORT K (juga diaktifkan pada Portenta).
USB3320 ULPI PHY — USB berkecepatan tinggi.
Perubahan API yang merusak¶
Perubahan API yang terlihat oleh pengguna antara v3.9.3 dan v3.9.4. Cakupan: Python C-modules di modules/ dan library Python di scripts/libraries/.
Setiap perubahan ditandai dengan dampaknya:
major — memengaruhi sebagian besar skrip yang menggunakan fitur tersebut; Anda perlu melakukan porting kode.
behavior — API sama, hasil berbeda; periksa kembali skrip yang telah distel.
Perubahan dikelompokkan berdasarkan dampak dalam urutan tersebut. Jika Anda hanya ingin melakukan porting kode, lompat ke daftar periksa migrasi di akhir. Setiap hash commit terhubung ke diff-nya di GitHub.
Output VSYNC digantikan dengan callback (major)¶
sensor.set_vsync_output(pin) telah dihapus dan digantikan dengan sensor.set_vsync_callback(callback). Baris VSYNC tidak lagi menggerakkan Pin secara langsung; sebagai gantinya, sebuah callable Python dipanggil dengan status VSYNC, dan callback Anda yang mengaktifkan Pin tersebut. Kode yang menggunakan sensor.set_vsync_output() harus di-porting (lihat contoh vsync_gpio_output.py yang diperbarui).
Commits: 5bbe25c20
Matematika gain/eksposur MT9V034 dikoreksi (behavior)¶
Kecepatan clock MT9V034 dan matematika gain/eksposur telah dikoreksi, sehingga sensor.set_auto_gain() / sensor.set_auto_exposure() kini menghasilkan nilai yang akurat (dan karenanya berbeda) dari sebelumnya. Skrip yang meng-hardcode nilai gain/eksposur kompensasi sebagai solusi untuk matematika lama yang salah pada kamera global-shutter MT9V034 harus menghapus solusi tersebut dan menyetel ulang.
Commits: 4420536c4
Daftar periksa migrasi¶
Untuk porting bersih ke v3.9.4, pekerjaan umumnya adalah:
Ganti
sensor.set_vsync_output(pin)dengansensor.set_vsync_callback(callback)dan aktifkanPindari dalam callback (perubahan VSYNC).Setel ulang solusi gain/eksposur MT9V034 terhadap matematika yang telah dikoreksi (perubahan MT9V034).
Semua skrip lainnya berjalan tanpa perubahan.