v4.4.2

v4.4.2 新增了 SPI-LCD 字节翻转和 MT9V0xx 时钟覆盖,使脚本执行和 WiFi 套接字处理更加健壮,并修复了一处值得注意的图像 copy= 错误。JPEG 压缩参数顺序和摄像头时钟选择已变更——请阅读下方的破坏性变更。

亮点

  • SPI LCD 字节翻转MT9V0xx 外部时钟覆盖

  • 更健壮的脚本执行和异常处理,以及 WiFi 套接字修复。

  • 修复了一处会修改原始对象的 image copy= 错误。

  • 破坏性变更: JPEG 压缩的位置参数顺序和摄像头时钟选择已变更——请参阅破坏性变更。

新功能

  • SPI LCD 字节翻转 —— STM32 SPI LCD 路径新增了字节翻转支持。

  • MT9V0xx 时钟覆盖 —— 现在可以覆盖 MT9V0xx 的外部时钟频率(Portenta 会覆盖其默认的 MT 传感器时钟)。

其他变更与改进

  • 在 nRF、RP2 和 STM32 端口上,脚本执行和异常处理变得更加健壮。

  • 优化了 MT9M114 传感器的补丁加载(初始化更快)。

错误修复

图像处理:

  • 修复了一处 image 操作的 copy= 参数错误,该错误会修改原始对象而非副本。

摄像头与传感器:

  • 新增了 Nicla Vision 传感器读出控制,并修复了其图像方向。

网络与 USB:

  • WINC1500 现在会在接受超时时保持监听套接字打开,并在关闭套接字时正确清除 NIC;修复了 RTSP 库。

  • 音频模块现在使用静态调度器节点以实现更可靠的回调调度;在抛出异常之前会禁用 USB 调试器,从而提升脚本出错时 IDE 连接的稳定性。

硬件与板级支持

  • Arduino Nicla Vision —— 传感器读出控制及修正后的图像方向。

  • Arduino Portenta —— 覆盖其默认的 MT 传感器时钟。

破坏性 API 变更

v4.4.1 与 v4.4.2 之间用户可见的 API 破坏性变更。范围:modules/ 中的 Python C 模块和 scripts/libraries/ 中的 Python 库。

两项破坏性变更均为 behavior(行为)变更(API 相同但结果不同)——请重新检查已调优的脚本。每个提交哈希都链接到其在 GitHub 上的 diff。

JPEG 压缩参数顺序 (behavior)

JPEG 压缩系列(compress() / compressed() / JPEG save())的位置参数处理已被修正,使 quality 成为第一个位置参数,默认值为 90。此前按(错误的)旧顺序以位置方式传递压缩参数的脚本必须更新。

提交: 509b094a5

摄像头时钟频率选择 (behavior)

STM32 摄像头外部时钟选择现在会选取低于请求值的最接近可用频率,而不是失败或超出。给定请求下的实际像素时钟可能与之前版本不同——请重新检查对时序敏感的采集。

提交: 39ba1a7f5

迁移检查清单

若要顺利移植到 v4.4.2:将 JPEG 的 quality 作为第一个位置参数(或作为关键字参数)传递(JPEG 参数变更),并重新检查任何对时序敏感的摄像头时钟设置(时钟选择变更)。