v3.5.0-beta.3

v3.5.0-beta.3 引入了 TensorFlow Lite for Microcontrollers,将 STM32Cube.AI 集成为内置模块,并新增了用于 SSL/TLS 的 USSL / mbedTLS 模块。WINC1500 初始化现在返回字符串错误,且 OpenMV 4 上的 YUV 表已被禁用 —— 请阅读下文的破坏性变更。(这是面向 v3.5.0 的一个测试版。)

亮点

  • TensorFlow Lite for Microcontrollers —— 新增(现代 tf 模块的起点)。

  • STM32Cube.AI —— 集成为带示例的内置模块(X-CUBE-AI v4.1.0)。

  • USSL / mbedTLS —— 新增了用于 SSL/TLS 的 ussl MBEDTLS 模块。

  • 破坏性变更: WINC1500 初始化现在返回字符串错误,且 OpenMV 4 的 YUV 表已被禁用 —— 详见破坏性变更。

新特性

  • TensorFlow Lite for Microcontrollers —— 新增对 TFLite-micro 模型的支持。

  • STM32Cube.AI —— 集成进固件作为内置模块,附带更新后的 MNIST / Cube.AI 示例和 X-CUBE-AI v4.1.0 支持(按新增的说明,Cube.AI 文件现在需单独获取)。

  • USSL —— 启用了用于 SSL/TLS 套接字的 ussl MBEDTLS 模块,并附带更新后的 WINC1500 HTTP/HTTPS 客户端示例。

其他变更与改进

  • 更新了 WINC1500 固件、主机驱动和套接字缓冲区大小;清理了系统时钟配置;在选择 VSCALE0 之前启用 SYSCFG 时钟,并在进入低功耗模式之前切换到 VSCALE1。

缺陷修复

网络:

  • WINC1500 现在会检查 SSID 和/或密钥是否为空。

硬件与开发板支持

  • OpenMV 4R —— 使用 QSPI 作为内部存储。

破坏性 API 变更

v3.5.0-beta.2 与 v3.5.0-beta.3 之间面向用户的 API 破坏性变更。范围:modules/ 中的 Python C 模块以及 scripts/libraries/ 中的 Python 库。

这两项破坏性变更都是行为变更(API 相同,但结果不同)—— 请重新检查受影响的脚本。每个提交哈希都链接到其在 GitHub 上的 diff。

WINC1500 初始化返回字符串错误 (行为)

WINC1500 的 init 函数现在返回描述性的字符串错误,而非数字代码。将 WINC1500 初始化结果与数字错误值进行比较的代码必须更新,以处理新的字符串消息。

提交: 15e0d455

OpenMV 4 的 JPEG/灰度输出已更改 (行为)

OpenMV 4 / 4R 上的 YUV 查找表已被禁用,因此在这些开发板上 JPEG 和灰度输出的像素值计算方式略有不同。输出仍然有效,但与之前的版本存在细微差异;请在 OpenMV 4 上重新检查需要像素级精确比较的代码。

提交: f9ed0cb82

迁移清单

处理 WINC1500 初始化返回的字符串错误(WINC1500 变更),并在 OpenMV 4 上重新检查像素级精确比较(OpenMV 4 输出变更)。其余所有脚本均可原样运行。