v3.8.0¶
v3.8.0 memperbarui inti ke MicroPython 1.13, membekukan sejumlah besar pustaka pembantu ke dalam firmware, menambahkan Portenta Ethernet (dengan contoh jaringan), dukungan HDMI CEC ke modul lcd, konfigurasi baudrate/sampling-point pyb.CAN, serta serangkaian perbaikan H7 low-power dan HAL. Modul time / utime digabungkan dan DMA F4 pyb.DAC dinonaktifkan — baca perubahan yang merusak kompatibilitas di bawah.
Sorotan¶
MicroPython 1.13 — inti MicroPython yang disertakan diperbarui.
Pustaka beku —
uasyncio,mqtt,rpc,rtsp,modbus,bno055,pid,ssd1306, dan lainnya kini dibekukan ke dalam firmware.Portenta Ethernet — dukungan Ethernet beserta contoh HTTP / SSL / peer-to-peer.
HDMI CEC — API CEC baru dalam modul
lcd(Pure Thermal).pyb.CAN— bit timing dari kata kuncibaudrate/sampling_point.Perubahan merusak: modul
time/utimedigabungkan dan fungsi DMA F4pyb.DACdinonaktifkan — lihat perubahan yang merusak kompatibilitas.
Fitur baru¶
Manifes beku —
uasyncio,mqtt,rpc,rtsp,modbus,bno055,mutex,pid,ssd1306,tb6612, danvl53l1xkini dibekukan ke dalam firmware pada OpenMV 3 / 4 / 4 Plus / Pure Thermal / Portenta.Portenta Ethernet — Ethernet diaktifkan dengan contoh
http_client,http_client_ssl, danpeer_to_peer.HDMI CEC — API HDMI CEC ditambahkan ke modul
lcd(Pure Thermal).pyb.CAN— konstruktor /init()kini menghasilkan bit timing dari kata kuncibaudratedansampling_point(bentuk prescaler manual tetap berfungsi); contoh CAN diperbarui sesuai.
Perubahan dan peningkatan lainnya¶
Banner REPL kini menyertakan string versi HAL; contoh Audio FFT diperbarui untuk API
ulabyang lebih baru.
Perbaikan bug¶
Kamera dan sensor:
Memperbaiki clock sensor OV2640 dan penskalaan frekuensi PCLK OV5640 pada perangkat STM32H7 rev Y; memulihkan bus I2C FIR dari kondisi arbitration-lost dengan memberikan pulsa pada SCL, dan mencoba ulang inisialisasi AMG8833 pada soft-reset F7.
Daya dan timer:
Memperbaiki entri low-power H7 (stop/standby) — penskalaan tegangan untuk rev V, mengaktifkan kembali osilator/PLL saat bangun, low-power SDRAM dengan retensi DRAM, menonaktifkan Systick saat masuk stop, dan mengaktifkan DBGMCU hanya pada build debug. Memperbaiki kondisi HAL
machine.Timersetelah pembaruan HAL H7 dan mengembalikan perubahan prioritas IRQ baca/tulis SD.
Tampilan dan konektivitas:
Memperbaiki konfigurasi ukuran data 8/16-bit LCD SPI F4 (definisi
MCU_SERIESyang salah), mengembalikan error pada kegagalan inisialisasi bus SPI WINC1500 alih-alih melanjutkan secara diam-diam, dan menggunakan handle SPI statis untuk menghindari konflik bus SPI WINC1500. Memperbaiki bug GC-collect MicroPython.
Sistem:
unittests.pytidak lagi menandai suite sebagai gagal ketika sebuah tes dinonaktifkan atau tidak tersedia; menghapus contohcamera_lcdThermopile-shield yang rusak.
Dukungan perangkat keras dan papan¶
OpenMV Pure Thermal — papan diperbarui dan diganti nama (
OPENMVPURETHERMAL→OPENMVPT), dengan HDMI CEC.OpenMV 2 — driver kamera OV2640 diaktifkan.
Arduino Portenta H7 — dukungan Ethernet.
Perubahan API yang merusak kompatibilitas¶
Perubahan API yang terlihat oleh pengguna antara v3.7.0 dan v3.8.0. Cakupan: C-modul Python dalam modules/ dan pustaka Python dalam scripts/libraries/.
Setiap perubahan diberi tag dengan dampaknya:
minor — API yang sempit; hanya memengaruhi skrip yang menggunakannya.
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 Anda, langsung ke daftar periksa migrasi di bagian akhir. Setiap hash commit menautkan ke diff-nya di GitHub.
Modul time / utime digabungkan (minor)¶
Modul time dan utime digabungkan dan kelas clock OpenMV dipindahkan ke utime. Semua contoh yang disertakan diperbarui ke import utime / clock = utime.clock(). Skrip yang mengandalkan import time untuk kelas clock harus mengimpor utime sebagai gantinya.
Commits: 20587f308
Fungsi DMA F4 pyb.DAC dinonaktifkan (minor)¶
Pada papan berbasis F4, fungsi pyb.DAC yang memerlukan DMA dinonaktifkan karena heap F4 berada di CCM, yang tidak dapat diakses oleh DMA. Skrip F4 yang menggunakan penulisan buffer DMA DAC harus menghindari fungsi-fungsi tersebut.
Commits: d61f236f2
MicroPython diperbarui ke 1.13 (behavior)¶
Inti MicroPython yang disertakan diperbarui ke 1.13. Perilaku pustaka standar dan bahasa mengikuti MicroPython 1.13 upstream; periksa ulang skrip yang bergantung pada perilaku micropython / modul-standar yang spesifik terhadap versi.
Commits: fb0a5e26d
Frekuensi yang didukung cpufreq bergantung pada revisi (behavior)¶
Lebih banyak frekuensi CPU ditambahkan dan dibuat sadar terhadap revisi silikon: cpufreq.get_supported_frequencies() kini mengembalikan daftar yang bergantung pada revisi di H7 (50/100/200/400 MHz pada rev X/Y, 60/120/240/480 MHz pada rev V). Skrip yang meng-hard-code frekuensi dari daftar tetap lama harus menanyakan daftar yang didukung saat runtime.
Commits: 825dd0742
Daftar periksa migrasi¶
Untuk port yang bersih ke v3.8.0, pekerjaan umum yang perlu dilakukan adalah:
Ubah
import timemenjadiimport utimedi mana Anda menggunakan kelasclock(penggabungan time/utime).Pada papan F4, hentikan penggunaan fungsi buffer DMA
pyb.DAC(perubahan F4 DAC).Validasi ulang skrip yang bergantung pada perilaku MicroPython yang spesifik terhadap versi terhadap 1.13 (peningkatan MicroPython) dan tanyakan
cpufreq.get_supported_frequencies()saat runtime alih-alih hard-coding (perubahan cpufreq).
Semua skrip lainnya berjalan tanpa perubahan.