v4.4.0

v4.4.0 新增了 tf.regression() API、OpenMV Cam H7 Pro 上的 FLIR Lepton 支援、Arduino Nicla Vision 上的 Cortex-M4 協同處理器支援,以及 MicroPython 1.19。部分特定開發板模組與 WiFi/LCD 行為有所變更——請閱讀下方的破壞性變更。

重點摘要

  • tf.regression() —— 執行 1D 輸入/1D 輸出的 TensorFlow Lite 迴歸模型。

  • OpenMV Cam H7 Pro 上的 FLIR Lepton 熱感測器支援。

  • Arduino Nicla Vision —— Cortex-M4 協同處理器支援、可運作的 MicroSpeech、LPUART1。

  • MicroPython 更新至 1.19;ulab 更新至 5.1.1。

  • 破壞性變更: Nicla Vision 的 lcdtv 模組已停用,且 RP2040 Connect 的 WiFi 驅動程式有所變更——請參閱破壞性變更。

新功能

  • tf.regression(model, input_array) —— 用於 1D 輸入/輸出 TensorFlow Lite 迴歸模型的新函式,回傳一個浮點數輸出的清單。

  • GC2145 控制 —— sensor.set_auto_exposure()sensor.set_auto_whitebal() 現在於 GC2145 上可正常運作(可停用自動曝光/白平衡;尚不支援明確設定曝光/增益)。

  • Arduino Nicla Vision —— 已啟用 Cortex-M4 (CM4) 協同處理器支援與 LPUART1 周邊裝置。

  • machine.Pin —— USB_VBUS 接腳現在會公開給使用者指令碼。

其他變更與改進

  • MicroPython 更新至 1.19;ulab 更新至 5.1.1;隨附的 cyw43 WiFi 驅動程式已更新。

  • RP2(Arduino Nano RP2040 Connect)與 nRF(Arduino Nano 33 BLE Sense)連接埠改用新的基於 TinyUSB 的除錯器來進行 IDE/主機連線。

  • OV7670 的 XCLK 從 12 MHz 提升至 24 MHz(更新了暫存器組)。

錯誤修正

相機與感測器:

  • OpenMV Pure Thermal 的色塊溫度統計現在改用 IR 影像而非彩色影像,因此每個色塊的平均溫度才正確。

  • 修正 draw_image() 的 ROI 處理與面積縮放,使縮放後的輸出更為準確。

  • 在軟體重置後會重新初始化 IMU,因此當啟用 IMU SPI 匯流排時 IMU 仍可持續運作。

系統:

  • 修正了 FAST/AGAST 特徵偵測、色塊偵測、CLAHE 以及 LCD/TV 驅動程式中的有號/無號比較問題;修正了 STM32 的相機 GPIO/SPI/DAC 反初始化、H7 LPUART 接腳對應,以及 STM32Cube.AI nn 模組的註冊。

Arduino Nicla Vision:

  • MicroSpeech 現在可正常運作(PDM 緩衝區加倍、新增範例),並修正了低功耗待機模式。

硬體與開發板支援

  • OpenMV Cam H7 Pro —— FLIR Lepton 熱感測器支援。

  • Arduino Nicla Vision —— CM4 協同處理器、LPUART1、MicroSpeech、低功耗待機。

破壞性 API 變更

v4.3.3 與 v4.4.0 之間使用者可見的 API 破壞性變更。範圍:modules/ 中的 Python C 模組與 scripts/libraries/ 中的 Python 函式庫。

每項變更皆標註其影響:

  • minor —— 範圍狹窄的 API;僅影響特定開發板上的指令碼。

  • behavior —— 相同的 API,但結果不同;請重新檢查經過調校的指令碼。

變更依影響程度按上述順序分組。若您只想移植程式碼,可直接跳至結尾的 遷移檢查清單。每個提交雜湊都連結至其在 GitHub 上的差異。

Nicla Vision 模組與 RP2040 WiFi (minor)

在 Arduino Nicla Vision 上,lcdtv 模組已停用,以釋出記憶體供 CM4 協同處理器支援使用——在 Nicla Vision 上使用這些模組的指令碼將再也找不到它們。Arduino Nano RP2040 Connect 從 OpenMV 自訂的 WiFi/nina 實作改為上游的 MicroPython NINA-W10 驅動程式/模組,其 API 有所不同。

Commits: f78d191e3ddf01cb09

WiFi 通訊端逾時與 LCD 垂直翻轉 (behavior)

WINC1500 通訊端逾時現在會回傳非阻塞錯誤(EWOULDBLOCK)而非 ETIMEDOUT,因此逾時的通訊端不再被意外關閉——原本捕捉 ETIMEDOUT 的程式碼必須更新。SPI LCD 擴充板的 display 現在於未啟用三重緩衝而要求負的 y_scale 時會引發 ValueError("Vertical flip requires triple buffering!")。

Commits: 1dc4bea887e52cf751

遷移檢查清單

若要乾淨地移植至 v4.4.0,通常需要做的工作如下:

  1. 在 Nicla Vision 上,停止使用 lcdtv;在 Nano RP2040 Connect 上,將 WiFi 程式碼移植至上游的 NINA-W10 驅動程式(開發板模組變更)。

  2. 更新 WINC1500 通訊端程式碼,使其在逾時時預期 EWOULDBLOCK,並為垂直翻轉的 LCD 輸出啟用三重緩衝(行為變更)。