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 波特率变更)。其余所有脚本均可原样运行。