v1.7.0¶
v1.7.0 新增了串口帧缓冲区分块与重组功能,使大帧能够通过调试串口链路传输;通过刷新(并在 Windows 上弹出)摄像头的 USB 大容量存储驱动器使带复位的断开连接更安全;并刷新了示例集。本版本基于 Qt Creator 4.0.2(与上一版本相同的基础版本),并新增了对交叉编译嵌入式 Linux 目标(如 Raspberry Pi)的构建支持。本版本没有破坏性变更。
亮点¶
串口帧缓冲区分块 —— 大型帧缓冲区传输会被拆分为 MTU 大小的块并在像素缓冲区中重组,因此大帧可以通过调试串口链路传输。
更安全的带复位断开连接 —— 在复位之前会先刷新摄像头的 USB 大容量存储驱动器(并在 Windows 上强制弹出),以便先同步文件系统。
原子化文件保存 ——
main.py和关键点文件以原子方式写入,从而防止损坏并修复了一处将main.py写入错误位置的路径错误。Raspberry Pi / 嵌入式 Linux —— 现已包含交叉编译构建支持。
刷新的示例 —— 一套 Servo Shield 示例、新的特征检测演示以及 Image Reader/Writer 视频示例。
新功能¶
串口帧缓冲区分块与重组。 帧缓冲区传输会被拆分为 MTU 大小的块并在像素缓冲区中重组,因此大帧可以使用默认 MTU 通过调试串口链路传输。新增了一个运行时 MTU 自动协商握手,其固件版本门限设置为 2.5.0,与同一提交中随附的 2.5.0 固件相匹配(96458ccef)。随后该门限在发布时被提升至
9.9.9,没有任何已发布的固件会报告此版本,因此摄像头使用默认 MTU 且不会发生协商(abd1dacb9)。带复位断开连接时的刷新/弹出。 带复位的断开连接现在会在复位之前刷新摄像头的 USB 大容量存储驱动器:在 Windows 上驱动器会被强制弹出,而在 Linux 和 macOS 上则会同步驱动器的文件系统(
syncfs/sync_volume_np)。在所有三个平台上,失败时都会报告Failed to eject错误(243618791、ff6b15aff、1865ffd31、4fd4e89cf)。Servo Shield 示例。 新增了一套
15-Servo-Shield示例,演示由 PCA9685 驱动的舵机,其中包括一个pca9685.py驱动程序和一个servo.py辅助程序(abd1dacb9)。新的特征检测示例。 在
09-Feature-Detection下新增了find_circles(霍夫变换)、find_rects(四阈值)、find_numbers(LeNet 数字识别)以及快速且稳健的线性回归示例(abd1dacb9)。视频与主板控制示例。 新增了用于从 SD 卡录制和回放快照流的 Image Reader/Writer 示例、一个 RTC 主板控制示例以及一个片上单元测试运行器(abd1dacb9)。
其他变更与改进¶
重命名了
99-Tests示例文件夹(原名15-Tests),并新增了unittests.py运行器(abd1dacb9)。
错误修复¶
平台与工具支持¶
Qt Creator 基础版本: 4.0.2。
新增了对交叉编译嵌入式 Linux 目标(如 Raspberry Pi)的构建支持:部署 Qt 字体,修复
chrpath/RPATH 处理,使用主机二进制文件构建翻译,并添加了缺失的qml依赖项(73c052fcc、8f0baa131、5b9e9e82e、45011ec2a)。将随附的 OpenMV 固件从 2.4.1 更新至 2.5.0(96458ccef)。
将固件文件夹
OMV2/OMV3重命名为OPENMV2/OPENMV3,并提供了更新并重新构建的 STM32F427(OPENMV2)和 STM32F765(OPENMV3)固件及引导加载程序二进制文件(abd1dacb9)。
破坏性变更¶
无。本版本未引入任何用户可见的工作流或行为破坏,现有项目可继续不变地正常工作。