v1.7.0¶
v1.7.0 引入了 cpufreq 模組(CPU 頻率/超頻控制)、MicroPython 的 os 模組、MLX 熱感測器更新率/解析度控制,以及初步的 OpenMV Cam M7(STM32F7)開發板支援。fir.init() 的簽章、超大影格的處理方式,以及預設 JPEG 品質都有變更——請閱讀下方的破壞性變更。
重點摘要¶
cpufreq模組——查詢/設定 CPU 頻率,並附有超頻範例。MLX 熱感測器——
fir.init()可接受更新率與 ADC 解析度。OpenMV Cam M7——初步的 STM32F7 開發板支援。
破壞性變更:
fir.init()現在僅接受關鍵字引數、超大影格會自動裁切,且預設 JPEG 品質已降低——請參閱破壞性變更。
新功能¶
cpufreq——新增cpufreq模組,提供cpufreq.get_frequency()/cpufreq.set_frequency()以及CPUFREQ_120MHZ/144/168/192/216MHZ常數,並附有overclocking.py範例。MLX / FIR——
fir.init()現在可接受更新率與 ADC 解析度,並為 MLX 熱感測器提供對應的refresh/resolution控制。
其他變更與改進¶
調整了 OV7725 的 AGC/AEC 區域(減少動態模糊)、為 OV7725 啟用了 DSP 純色彩條,並修正了 IDE 的影格緩衝區串流(不再有過期/重複的影格)。
錯誤修正¶
修正了
sensor.snapshot()中的 DCMI/DMA 傳輸大小溢位、整理了 JPEG 壓縮的緩衝區溢位處理、改善了 OV7725 的 AEC/AGC 運作區域以獲得更佳的自動曝光/增益,並修正了 OV7725 的彩色條/自我測試指令碼。
硬體與開發板支援¶
OpenMV Cam M7(STM32F7 / OPENMV7)——初步的開發板與開機載入程式支援。
OpenMV 2——感測器時脈改由 MCO 輸出驅動。
破壞性 API 變更¶
v1.6.0 與 v1.7.0 之間使用者可見的 API 破壞性變更。範圍:modules/ 中的 Python C 模組與 scripts/libraries/ 中的 Python 函式庫。
每項變更都標註了其影響程度:
minor——影響範圍狹窄的 API;只影響有使用到它的指令碼。
behavior——API 相同,但結果不同;請重新檢查已調校的指令碼。
各項變更依影響程度依序分組。如果你只是想移植程式碼,請直接跳到結尾的 遷移檢查清單。每個提交雜湊都連結到其在 GitHub 上的差異。
fir.init() 現在僅接受關鍵字引數 (minor)¶
fir.init() 經過重新設計,改為接受關鍵字引數(type= / refresh= / resolution=,refresh 預設 64 Hz、最大 512 Hz),不再使用位置引數。請將位置引數形式的 fir.init(...) 呼叫改為關鍵字形式。
Commits: 958c5b7f7
超大影格自動裁切為 QVGA (behavior)¶
sensor.snapshot() 在原始影格超過開發板最大原始影格大小時不再拋出例外——超大原始影格現在會改為以視窗裁切為 QVGA(只有 JPEG 模式的原始影格仍會被拒絕)。如果你原本依賴先前的錯誤行為,請改選一個支援的影格大小。
OpenMV 2 的最大影格大小降為 QVGA (behavior)¶
在 OpenMV 2 上,最大積分影像/原始/色塊影格大小已從 VGA 降為 QVGA。在 OpenMV 2 上對灰階/RGB565/色塊/積分影像運算要求 VGA 時,現在會裁切為 QVGA——請重新設計在該開發板上依賴 VGA 處理的指令碼。
Commits: 7499062bd
預設 JPEG 品質降低 (behavior)¶
預設 JPEG 品質已降低(預設由 50 → 35,並降低了 IDE 的子取樣閾值)以獲得更穩定的串流。預設情況下擷取/串流的 JPEG 畫質明顯較低——如果你需要先前的品質,請對 image.compress() 傳入明確的 quality。
Commits: d9c8b1535
遷移檢查清單¶
要乾淨地移植到 v1.7.0,通常需要做的工作是:
將位置引數形式的
fir.init(...)呼叫轉換為關鍵字形式(fir.init 變更)。改用支援的影格大小,而非依賴舊有的超大影格錯誤(超大影格變更),並重新設計 OpenMV 2 上的 VGA 處理(OpenMV 2 影格大小變更)。
如果你需要先前的 JPEG 品質,請對
image.compress()傳入明確的quality(JPEG 品質變更)。
所有其他指令碼皆可不經修改執行。