v3.5.0

v3.5.0 引入了类 NumPy 的 ulab 模块、OpenRV 库、图像分割支持、可迭代的图像对象,并将所有 scripts/libraries 模块冻结进固件;TensorFlow 也接受更多模型类型。默认 CAN 波特率已更改 —— 请阅读下文的破坏性变更。

亮点

  • ulab —— 现已提供类 NumPy 的数组模块。

  • 新增了 OpenRV 库

  • 图像分割 —— TensorFlow 图像分割支持。

  • 可迭代图像 —— 图像对象现在可以被迭代。

  • 冻结库 —— 所有 scripts/libraries 模块都被冻结进固件。

  • 破坏性变更: 默认 CAN 波特率从 250 Kbps 改为 125 Kbps —— 详见破坏性变更。

新特性

  • ulab —— 新增了类 NumPy 的 ulab 模块(ulab 子模块)。

  • OpenRV —— 新增了 OpenRV 库。

  • 图像分割 —— 新增对 TensorFlow 图像分割的支持。

  • 可迭代图像 —— 图像对象现在可迭代。

  • TensorFlow —— TensorFlow 库现在接受更多模型类型。

  • 新增了 MobileNet 脚本示例(含模型位置)、一个原生代码发射器(code-emitters)示例、一个 modbus_apriltag.py 示例以及一个补光罩(light-shield)示例。

其他变更与改进

  • 将所有 scripts/libraries 模块冻结进固件;更新了 modbus 库 / RTU 从机示例;提高了人脸检测示例的对比度;更新了 cpufreq 示例以及 H7 的 cpufreq_scaling 频率。

破坏性 API 变更

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

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

默认 CAN 波特率改为 125 Kbps (行为)

默认的 pyb.CAN 波特率从 250 Kbps 改为 125 Kbps。在构造 CAN 总线时未显式指定波特率的脚本(例如 CAN(2, CAN.NORMAL))现在以 125 Kbps 运行,将无法与仍处于 250 Kbps 的对端通信。请传入显式的波特率(或 prescaler / sjw / bs1 / bs2)以恢复 250 Kbps。

提交: d3a9a06ef

迁移清单

为任何依赖旧版 250 Kbps 默认值的 pyb.CAN 总线设置显式的 CAN 波特率(CAN 波特率变更)。其余所有脚本均可原样运行。