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()—— 运行一维输入/一维输出的 TensorFlow Lite 回归模型。在 OpenMV Cam H7 Pro 上支持 FLIR Lepton 热成像传感器。
Arduino Nicla Vision —— Cortex-M4 协处理器支持、可用的 MicroSpeech、LPUART1。
MicroPython 更新至 1.19;ulab 更新至 5.1.1。
破坏性变更: Nicla Vision 的
lcd/tv模块已被禁用,RP2040 Connect 的 WiFi 驱动也已变更——请参阅破坏性变更。
新功能¶
tf.regression(model, input_array)—— 用于一维输入/输出 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 总线启用时仍能正常工作。
系统:
修复了 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 上的 diff。
Nicla Vision 模块与 RP2040 WiFi (minor)¶
在 Arduino Nicla Vision 上,lcd 和 tv 模块已被禁用,以便为 CM4 协处理器支持腾出内存——在 Nicla Vision 上使用这些模块的脚本将再也找不到它们。Arduino Nano RP2040 Connect 已从 OpenMV 自定义的 WiFi/nina 实现切换到上游 MicroPython 的 NINA-W10 驱动/模块,其 API 有所不同。
WiFi 套接字超时与 LCD 垂直翻转 (behavior)¶
WINC1500 套接字超时现在返回非阻塞错误(EWOULDBLOCK)而非 ETIMEDOUT,因此超时的套接字不再被意外关闭——捕获 ETIMEDOUT 的代码必须更新。SPI LCD 扩展板的 display 现在会在请求负的 y_scale 而未启用三重缓冲时抛出 ValueError("Vertical flip requires triple buffering!")。
迁移检查清单¶
若要顺利移植到 v4.4.0,通常需要做的工作是: