# 1.12 版

# 预发布

# 变化

# 常见问题

  • 基于剩余飞行距离的 RTL 触发器 (PR#16399 (打开新窗口))
    • 考虑车速、风速和目的地距离/方向,以 RTL 计算到家时间
  • 先发制人的地理围栏破坏 (PR#16400 (打开新窗口))
    • 如果出现以下情况,则触发违约 预测 当前轨迹将导致破损,从而使飞行器重新定向到安全的固定位置。
  • 机身脚本
  • 安全(开关)默认为关闭(电机被解除,但舵机/襟翼可以移动)
  • 安全开关闭锁:一旦禁用,将保持禁用状态
  • 土地检测器:如果有距离传感器,将土地检测扩展为使用地面距离
  • 已添加对 IRC Ghost 的支持,包括遥测功能

# 传感器

  • 磁强计校准更快、更稳健
    • 新的软铁校准系数
    • 自动确定外部传感器的旋转
  • 优化的速率控制传感器流水线(最小化内环端到端延迟)

# 硬件

该版本包括对以下板卡、外设和配件的新硬件支持:

这些都已删除:

  • 移除已停产的英特尔 AeroFC
  • MAVLink 以太网配置 (PR#14460 (打开新窗口))
    • 现在可通过参数动态更改 MAVLink 以太网通道设置,如 UDP 端口、远程端口和广播模式。
  • 支持查询 组件信息 (PR#16039 (打开新窗口))
    • 现在,参数元数据与 QGC 每天自动同步。
    • 这一新消息允许任何 MAVLink 系统向自动驾驶仪请求丰富的层次信息,即了解任务中支持哪些命令或获取参数元数据。引入该报文的主要目的是帮助 GCS 更好地理解自动驾驶仪(RFC: mavlink#1339 (打开新窗口))

# 指挥官

  • 指挥官:使用控制模式标志和清理上膛/撤膛 (PR#16266 (打开新窗口))
    • 将分散的上膛要求整合到 arm_disarm()中,并保持 载具控制模式 指挥官最后状态
  • 指挥官分离出手动控制设定点处理 (PR#16878 (打开新窗口))
    • 添加一个新类 手动控制 用于处理 手动控制设定点 并处理遥控丢失、遥控覆盖和遥控上膛/撤膛。

# 多旋翼飞行器

# VTOL

  • RTL 改进 (PR#16377 (打开新窗口))
    • 根据当前飞行器模式(多旋翼飞行器与固定翼飞行器),考虑到尝试着陆时的多种边缘情况,加固 RTL 安全故障保险
  • 固定翼/VTOL 大幅改进 TECS

# 控制

  • 用陀螺 FFT 更新动态带阻滤波器 (PR#16385 (打开新窗口))
    • 为陀螺仪控制数据添加动态带阻滤波,使控制更加平稳
  • 默认情况下启用多重 EKF 在 STM32F7 和 STM32H7 电路板上

# 全球定位系统

  • GPS 协议现在默认为 u-blox,启动速度更快,而且 GPS_x_PROTOCOL 如果使用其他 GPS,则需要更改。

# NuttX

Nuttx 已从 8.2+ 到 NuttX 10.10.0+ (打开新窗口) (@ 904a602c74dc08a100b5c2bd490807de19e73e10 (打开新窗口))

  • SDCARD 性能: 提高 H7 目标的性能

    • [后端口]stm32:SDIO:使用 250 Ms 数据路径超时,与卡时钟频率无关
    • [后端口]stm32h7:SDMMC:使用 250 Ms 数据路径超时,与卡时钟频率无关
    • [后端口]stm32f7:SDMMC:使用 250 Ms 数据路径超时,与卡时钟频率无关
    • [后端口]修复了 SDM多旋翼 驱动程序事件等待逻辑中的竞赛条件。
    • [后端口mmcsd:Stuck in 1-bit mode, Removed CONFIG_ARCH_HAVE_SDIO_DELAYED_INVLDT
  • 以太网稳定性:

    • [后端口]stm32x7:以太网 修复了因帧过大而导致的硬故障
    • [后端口] stm32:Ethernet 修复过大的帧
  • 启动稳定性 V5-V6X 确保启动 LSE(RTC)振荡器

    • [后端口] stm32h7:lse fix Kconfig help text

    • [后端口直接使用 Kconfig 值

    • [后端口] stm32h7:Add DBGMCU

    • [后端口] stm32f7:添加自动选择 LSE 能力的选项

    • [后端口] stm32h7:添加自动选择 LSE 能力的选项

      备注

      该旋钮将从低到高循环显示正确的*值。为了避免损坏晶体。我们希望使用能使 OSC 运行的最低设置。请参见应用说明 AN2867 *它将考虑硅片的转速,并使用正确的码位来实现驱动强度。参见 Eratta ES0392 Rev 7 2.2.14 LSE 振荡器驱动能力选择位互换。

  • 驱动程序更改

    • [后端口] 驱动程序/串行:修复 cdcacm 的 Rx 中断启用功能

    • [后端口] binnfmt:Fix return before close ELF fd

    • [后端口] stm32f7:允许重复使用 OTG_ID GPIO

    • [后端口] stm32f7:SDM多旋翼 修复 do_gpio 的复位问题

    • [后端口] stm32h7:串行:使用 dma tx 信号作为资源持有器

    • [后端口] stm32h7:SDM多旋翼 修复 do_gpio 的复位问题

    • [后端口] stm32h7:串行添加 RX 和 TX DMA

    • [后端口] stm32h7:允许重复使用 OTG_ID GPIO

    • [后端口]Kinetis:kinetis:Replace DMA

    • [后端口kinetis:Serial 使用 eDMA

    • [后端口kinetis:SPI 使用 eDMA

    • [后端口]Kinetis:Serail 无需 DMA 轮询

    • [后端口libc/stdio:预分配 stdin、stdout 和 stderr 对于不带控制台的目标。

  • FlexCan 修复

    • [后端口][flexcan]CTRL1 寄存器的正确复位状态
    • [后端口][flexcan]修复 TX 丢失 #2792,并将 CAN 定时正确设置为非归零寄存器
    • [后端口]FlexCAN 修复 TX 终止进程
  • 支持 CAN 引导加载器

    • [后端口] s32k1xx:Support ramfunc
  • STM32F412 清理

  • [后端口stm32f412:Corrected Pin count

  • [后端口] stm32f412:用 SoC 引脚图替换了 Kludged 引脚图

  • [后端口] stm32412:修复 CAN1 引脚映射

  • 安全补丁

  • [后端口] tcp:删除对 TCP 重组装的不完整支持

  • [后端口] net/tcp/tcp_input.c:纠正紧急数据长度的错误检查

  • [后端口libc:为 malloc realloc 和 memalign 添加额外检查

  • IMXRT 修复

  • 为 IMXRT 添加单线和适当的奇偶校验设置,以支持 sbus etal。

  • [后端口imxrt:serial 支持单线模式

  • [后端口] imxrt:imxrt_lowputc 固定奇偶校验设置。

  • STM32H7 的改进

  • [后端口] stm32h7:SPI 固定 16 位 SPI 模式

  • [后端口]stm32h7:DMA BDMA 不会在完成时自动禁用

  • [后端口]修复 HEAP 在 SRAM4 中掐断静态数据的问题

  • [后端口] stm32h7:SDM多旋翼 修复 do_gpio 的复位问题

# UAVCAN

  • UAVCANv0:虽然 CAN 节点的固件升级和参数同步等基本功能已经实现了 5 年多,但现在设备终于上市,我们更新了支持功能。支持典型的 CAN GPS、空速和电源模块
  • UAVCANv0 节点:PX4 多年来一直支持构建节点 - 现在我们支持构建特定目标,如 CUAV GPS 设备
  • UAVCANv1:完整端到端实施的初始阿尔法版本