v4.3.3

v4.3.3 新增 OpenMV Cam H7 Pro 開發板、立體視差成像、網路伺服器函式庫(ping / FTP / Telnet)、Nicla Vision 藍牙與 MicroSpeech,以及數個新感測器。內附的內建 TensorFlow 模型已替換 —— 請閱讀下方的破壞性變更。

重點摘要

  • OpenMV Cam H7 Pro 開發板支援。

  • 立體視差 —— Arduino Portenta 上的 Image.stereo_disparity()

  • 網路伺服器 —— 新的 uping / uftpd / utelnet 函式庫。

  • Arduino Nicla Vision —— 藍牙、SPI5、MicroSpeech 以及完整的開發板套件。

  • 破壞性變更: 內建 TensorFlow 模型已替換,且部分開發板的 LED 接腳已重新命名 —— 請參閱破壞性變更。

新功能

  • 立體視差 —— 新的 Image.stereo_disparity(reversed=False, max_disparity=64, threshold=...) 方法,用於 Arduino Portenta 上的立體深度圖。

  • 網路函式庫 —— 新增 uping(ping)、uftpd(FTP 伺服器)與 utelnet(Telnet 伺服器)。

  • 透過 SPI/I2C 的 IMU —— LSM6DSOX 驅動程式新增 SPI 匯流排模式(並內附於 Nicla Vision);新增了透過 I2C 與 SPI 的 LSM6DS3 IMU 支援。

  • 感測器斷電 —— sensor.sleep() 現在會實際使 GC2145 斷電。

其他變更與改進

  • 透過 MicroPython 子模組更新,為 Arduino Nicla Vision / Portenta 進行開發板設定更新(接腳別名、UART 修正)。

  • HIMAX HM0360 現在以其內部振盪器運行(當請求的 xclk 頻率為 0 時,STM32 連接埠會停止驅動外部時鐘)。

錯誤修正

  • USB 偵錯器現在會在阻塞於命令時處理 USB IRQ,因此即使 USB IRQ 被停用,偵錯命令也不再卡住。

  • 修正指令碼未中斷地結束時的未處理例外(STM32)、偽 VSYNC IRQ 處理錯誤(現在會檢查 EXTI GPIO 來源)、SD 卡 DMA_BUFFER 路徑,以及開機載入程式的 USB 大容量儲存(檔案系統)模式。

硬體與開發板支援

  • OpenMV Cam H7 Pro —— 新開發板。

  • Arduino Nicla Vision —— 藍牙、SPI5、MicroSpeech、完整的開發板套件與範例。

  • 新感測器 —— 彩色 MT9V0xx 變體與 HIMAX HM0360。

  • 開機載入程式 —— USB 高速支援(可依開發板設定)與早期接腳設定。

破壞性 API 變更

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

每項變更都標示其影響程度:

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

  • behavior —— 相同 API、不同結果;請重新檢查已調校的指令碼。

變更依影響程度依此順序分組。每個提交雜湊都連結至其在 GitHub 上的差異。

Nicla Vision / Portenta LED 接腳重新命名 (minor)

Arduino Nicla Vision 與 Arduino Portenta 上的 LED 接腳名稱已重新命名。在這些開發板上引用舊 LED 接腳名稱的指令碼必須更新為新名稱。

提交: b7a253e570aaf296e7

內建模型替換;ToF 改用專屬 I2C 匯流排 (behavior)

內附的內建 TensorFlow 模型已從 person_detection 變更為小得多的 FOMO fomo_face_detection 模型(標籤「face」)。載入內建人員偵測模型的指令碼必須改為提供自己的模型。另外,ToF 感測器現在使用專屬的 I2C 匯流排(TOF_I2C_ID)而非共用 FIR I2C 匯流排,這會改變同時使用兩者之開發板的底層匯流排。

提交: 53b5b07867d79afac5

遷移檢查清單

若要乾淨地移植到 v4.3.3:更新舊的 Nicla Vision / Portenta LED 接腳名稱(LED 接腳重新命名),並以您自己的模型替換任何對內建人員偵測模型的使用(模型/ToF 變更)。所有其他指令碼可不加修改地執行。