v4.3.0

v4.3.0 新增了硬件加速 JPEG 解码、FLIR Lepton 高温模式与型号检测、新的 JPEG 色彩空间转换,以及 MicroPython 1.18,外加一批 RTC 和 WiFi 修复。Lepton 测量模式 API 发生了变更——请阅读下方的破坏性变更说明。

亮点

  • STM32(H7)上的硬件 JPEG 解码 —— 更快的 JPEG 解压缩。

  • FLIR Lepton 高温模式(在 Lepton 3.5 上最高约 600 °C)以及自动型号检测(1.5–3.5)。

  • 新的 JPEG 转换 —— 将 YCbCr JPEG 解码为灰度图,以及将灰度 JPEG 解码为 RGB565。

  • MicroPython 已更新至 1.18。

  • 破坏性变更: Lepton 测量模式的 ioctl 发生了变更——参见破坏性变更说明。

新功能

  • 硬件加速 JPEG 解码 —— 现在使用 STM32 片上 JPEG 编解码器进行解压缩。

  • JPEG 色彩空间转换 —— 解码器可将 YCbCr JPEG 解码为 GRAYSCALE,并将 GRAYSCALE JPEG 解码为 RGB565。

  • Lepton 高温模式 —— 新的 high_temp 测量模式使用低增益将量程扩展到 Lepton 3.5 上约 600 °C。

  • Arduino Nano RP2040 Connect —— onewiredhtneopixel 驱动模块现已冻结到固件中。

其他变更与改进

  • MicroPython 已更新至 1.18。

  • FLIR Lepton 驱动现在会检测并向 IDE 报告具体的 Lepton 型号(1.5 / 1.6 / 2.0 / 2.5 / 3.0 / 3.5)。

错误修复

图像处理:

  • Image.to_grayscale() / L 通道转换不再对偏暗的 RGB565 像素返回负的 L 值;JPEG 解码器在处理奇数尺寸图像时不再发生故障(MemManage)。

摄像头与传感器:

  • 修复了 GC2145 的窗口子采样比率和 Bayer 像素顺序,以在亚 QVGA 分辨率下以及 BAYER 模式下获得正确的图像质量。

网络与存储:

  • 纠正了 WINC1500 非阻塞套接字的超时处理,并为套接字错误添加了正确的 MicroPython errno 映射;修复了 STM32 OpenMV USB 磁盘的文件处理。

实时时钟:

  • 修复了 OpenMV Cam H7 Plus 与 Pure Thermal 开发板上的 RTC 时钟源 / LSE 与 LSI 选择问题以及 LSE 振荡器的勘误。

硬件与开发板支持

  • STM32(H7) —— 硬件 JPEG 解码。

  • OpenMV Cam H7 Plus / Pure Thermal —— RTC 时钟源修复。

  • Arduino Nano RP2040 Connect —— 冻结的 onewire / dht / neopixel 驱动。

破坏性 API 变更

v4.2.3 与 v4.3.0 之间面向用户可见的 API 破坏性变更。范围:modules/ 中的 Python C 模块以及 scripts/libraries/ 中的 Python 库。

每项变更都标注了其影响:

  • minor —— 范围狭窄的 API;仅影响使用了它的脚本。

  • behavior —— API 相同,但结果不同;请重新检查经过调优的脚本。

这两项破坏性变更仅影响 FLIR Lepton 热成像传感器。每个提交哈希都链接到其在 GitHub 上的 diff。

Lepton 测量模式 ioctl (minor)

sensor.ioctl(SET_MEASUREMENT_MODE, ...) 接受一个新的可选参数 high_temp,并且 GET_MEASUREMENT_MODE 现在返回一个二元组 (enabled, high_temp) 而非单个布尔值。读取此前布尔返回值的代码必须更新为解包该元组。

提交: 6b2cd1008

Lepton 默认温度范围 (behavior)

FLIR Lepton 的默认温度范围从 −17.78 °C…37.78 °C 改为 −10.0 °C…40.0 °C。对于依赖旧默认范围的场景,其颜色映射和报告的温度将有所不同——如需此前的行为,请显式设置范围。

提交: bc07e0131

迁移清单

仅受影响的是 FLIR Lepton 脚本:解包新的 GET_MEASUREMENT_MODE (enabled, high_temp) 元组(测量模式变更),并在你依赖旧默认值时显式设置温度范围(默认范围变更)。所有其他脚本均可原样运行。