串行直通

"串行直通 "允许(飞行)控制器在包括 USB 端口在内的(飞行)控制器串行端口之间路由串行协议信息。这可用于配置传感器或设备(具有串行接口),而无需使用 USB 连接将其与(飞行)控制器断开。还可以将数据从任何串行端口传递到另一个串行端口。

备注

该功能在 Copter-4.0(及更高版本)、Plane-3.10、Rover-3.6(及更高版本)中可用

设置

  • 传感器或设备(带串行接口)应已连接到(飞行)控制器的一个串行端口。理想情况下,它应该已经在工作。

  • 使用 USB 电缆将(飞行)控制器与电脑连接,并与地面站(如Mission Planner地面站、QGC 等)连接。

备注

在大多数 F7 和 H7 电路板上,通过 USB 与(飞行)控制器连接时还会出现第二个 USB 虚拟串行端口,并在 ArduPilot 中分配给 SLCAN 使用的最后一个 SERIALx 端口。通过更改 SERIAL_PASS1 到该端口的编号。这样,(飞行)控制器就可以保持与地面控制站的连接,并通过其配置程序同时在 PC 上使用直通传感器进行配置。

  • 通过设置 SERIALx_PROTOCOL 为-1("无")。

  • 请务必使用 SERIALx_BAUD 参数。每个端口的速率可能不同。ArduPilot 将进行缓冲。例如,如果尝试直通第一个 GPS、 SERIAL3_BAUD 通常应设置为 230400,但您可以在启动后不久查看地面站信息窗口,检查 GPS 驱动程序的 "autobauding"。

../_images/serial-passthrough-gps-baud.png
  • 默认值为 SERIAL_PASS1 (第一个要互联的串行端口)默认为 SERIAL0,即主 USB 端口。

  • 设置 序列号 的时间长度(以秒为单位),以便您有足够的时间连接传感器的配置软件。30 至 60 秒是一个不错的选择

  • 设置 SERIAL_PASS2 连接到传感器的串行端口号。例如,如果传感器连接到 Telem2/Serial2,则为 "2"。

  • 按下地面站上的 "断开 "按钮,但保持电脑与(飞行)控制器之间的 USB 电缆连接。

  • 打开传感器的配置软件并连接到(飞行)控制器的 COM 端口。如果一切顺利,配置软件应能像 PC 直接连接传感器时那样工作

  • 完成后,记得还原 SERIALx_PROTOCOL 恢复到原始值,以重新启用传感器

如果配置连接失败,可以尝试一些方法:

  • 某些配置软件默认情况下不允许连接到(飞行)控制器的 COM 端口,但可能有一个显示所有可用 COM 端口的选项。

  • 如果没有收到来自 PC 的串行信息,超时时间就会结束,并且 SERIAL_PASS2 将恢复为-1

视频