v2.8.1

v2.8.1 为 OpenMV IDE 带来了完整的 Arduino 开发板支持,新增了对 Arduino Nano RP2040 Connect 和 Nano 33 BLE 开发板的固件加载,同时还带来了标签式编辑器和代码缩略图。本版本仍基于 Qt Creator 4.0.2 基础版本,并随附了新的 4.1.0 OpenMV 固件。本版本存在破坏性变更:自动缩进现在默认关闭,并且为 OPENMV2/3/4/4P、OPENMVPT 和 PORTENTA 开发板移除了合并的 openmv.bin / openmv.dfu 固件镜像,这对于依赖这些默认设置或文件名的用户来说是工作流和行为上的变更。

重点更新

  • 为 Nano RP2040 Connect 和 Nano 33 BLE 提供 Arduino 开发板固件加载,通过新随附的 bossac(SAM-BA)和 picotool/elf2uf2/rp2040load 工具链进行烧录。

  • 标签式编辑器,使打开的文件以可切换的标签形式显示在编辑器顶部,并提供切换和重新排序标签的快捷键。

  • 代码缩略图 滚动条,可渲染文档的微型概览,并提供文本编辑器设置页面以切换它并设置其宽度。

  • 新的 Arduino 和 Portenta 示例,包括完整的 Nano RP2040 Connect 示例集和十个 Portenta-H7 WiFi 脚本。

  • 随附固件更新至 4.1.0,覆盖所有 OpenMV 摄像头以及 Arduino Nano 33 / Nano RP2040 镜像。

  • Arduino Nano RP2040 Connect 和 Portenta H7 的 Windows USB 驱动程序 现在由安装程序安装。

新功能

  • Arduino 开发板支持: 新增了对 Arduino Nano RP2040 Connect 和 Nano 33 BLE 开发板的完整固件加载支持,通过由新的 bossac.txt/boards.txt 描述符(以及现有的 picotool.txt)驱动的随附 bossac(SAM-BA)和 picotool/elf2uf2/rp2040load 工具链对它们进行烧录(deccee67634e0c0ee1ef5334782eb9c00a33)。

  • 标签式编辑器: 新增了编辑器标签栏插件,使打开的文件以可切换的标签形式显示在编辑器顶部,并提供上一个/下一个标签的快捷键(Ctrl+Page Down / Ctrl+Page Up)(325cd8d875501a4082)。

  • 代码缩略图: 新增了代码缩略图滚动条插件,并提供文本编辑器设置页面(启用开关、宽度、行数阈值和滚动条滑块透明度),可在滚动条中渲染文档的微型概览(325cd8d87)。

  • Portenta-H7 WiFi 示例: 新增了十个 WiFi 示例脚本(connect、scan、static IP、DNS、NTP、HTTP client、HTTP-SSL client、MJPEG streamer、MQTT publish/subscribe)(b2133f9f5)。

其他变更与改进

  • 标签重排序: 新增了将当前标签左移或右移的快捷键(Ctrl+Shift+Page Down / Ctrl+Shift+Page Up),并禁用了编辑器中冲突的默认 Ctrl+PgUp/Ctrl+PgDown/Ctrl+Up/ Ctrl+Down 绑定,以使标签栏快捷键生效(5501a4082)。

  • Nano RP2040 Connect 示例: 随附了一整套 Python 示例程序,涵盖基础、IMU 传感器、BLE、WiFi、音频 FFT 和热成像摄像头(91847b183)。

  • Arduino 连接提示: 新增了两个连接流程对话框:检测到旧的 Arduino RP2040 USB PID 时显示恢复提示,指导用户将 REC 短接到 GND 并复位开发板;以及在请求擦除闪存文件系统时,提示 Nano 33 BLE 没有板载数据闪存盘的信息通知(91847b183)。

  • 额外的 Arduino 和 Portenta 示例: 新增了 Arduino Nano 33 BLE Sense(blinky)、Portenta H7 BLE 温度的 Python 示例,改进了 Portenta H7 PWM 控制,更新了 Portenta H7 以太网点对点脚本,并更新了 ulab 滤波器示例(45a4564f4),还新增了 Portenta H7 以太网线缆测试示例(af1b2fcff)。

  • OpenMV WiFi-Shield 示例:14-WiFi-Shield 下新增了一个 http_post.py HTTP POST 示例(c73d9fdcf)。

  • WiFi 读取超时: 拆分了读取超时,使 WiFi 连接获得更长的停顿超时(3000ms,串行为 1000ms),并在 WiFi 停顿后重新发送待处理命令,而不是直接失败(81f00ac58)。

  • 简化的编辑器界面: 隐藏了编辑器工具栏的拆分和关闭拆分按钮,并在 Linux 上强制启用高 DPI 自动缩放,以保持编辑器布局一致(bc14a2290)。

  • 离线文档: 刷新了随附的离线文档,新增了每个传感器的摄像头引脚图(H7 OV7725、H7 Plus OV5640、M4/M7 变体),并更新了 IDE 概述和教程页面(97ff73ebd)。

Bug 修复

  • 修复了固件烧录期间使用的 RP2040(PICO)闪存擦除偏移量,以擦除正确的闪存区域(91847b183)。

  • 使随附的 Linux/macOS bossacpicotool 二进制文件可执行,以便在这些平台上进行固件加载,并对缩略图渲染器加以限制,使其仅在 Qt >= 5.6 上运行(76613152f)。

  • 修复了固件升级提示,使其遵循其对话框按钮(检查 QDialog::Accepted),并使串行/TCP 传输的停顿处理在新数据到达时重启其定时器,从而使长传输不再虚假超时(dd4ce12a5)。

平台与工具支持

  • Qt Creator 基础版本: 4.0.2。

  • 随附固件: 将随附的 OpenMV 固件更新至 4.1.0 版本(firmware.txt:4.0.2 -> 4.1.0)(b78603045);在此周期早期,同一文件曾逐步经过中间的 4.0.1 和 4.0.2 构建(beec4d25beb9c00a33)。

  • 新的闪存工具链: 为所有平台(windows/osx/linux32/linux64/arm/aarch64)随附了 bossac 以及 picotool/elf2uf2/rp2040load 工具链。

  • Windows USB 驱动程序: 新增了 Arduino Nano RP2040 Connect 和 Portenta H7 开发板的签名驱动程序安装,通过安装程序运行(bc14a2290a8ae96e1b)。

  • 新识别的传感器: 向随附的 share/qtcreator/firmware/sensors.txt 传感器表中新增了 PAJ6100 图像传感器(914546e78)以及 GC21450x21)和 MT9M114 摄像头传感器(9a8b1c762);MT9M114 的 ID 最初为 0x81,后更正为 0x2481eb9c00a33)。

破坏性变更

本版本中面向用户的工作流和行为破坏性变更。

  • 自动缩进现在默认关闭。 编辑器的自动缩进默认值已翻转为关闭(并在加载时强制关闭),Tab 键不再缩进;Auto indentTab key performs auto-indent 控件已从 Text Editor > Behavior 设置页面中移除,因此除非在固件/源代码中更改,否则键入时不再对新行自动缩进(bc14a2290)。

  • 为 OPENMV2/3/4/4P、OPENMVPT 和 PORTENTA 开发板移除了合并的 openmv.bin / openmv.dfu 固件镜像(OPENMVPT 仅有 openmv.bin,它从未提供 openmv.dfu);仅保留单独的 bootloader/firmware/uvc 镜像(84cd4cd2d)。

  • vsync_gpio_output 示例(位于 OpenMVArduino/Portenta-H702-Board-Control 示例集中)现在需要固件的新 set_vsync_callback API,而非 set_vsync_output,并且回调现在切换 LED_BLUE 而非红外 LED(f13453bdc)。