MAVLink 外围设备(GCS/OSD/同伴)
地面控制站 (GCS)、屏幕显示 (OSD)、配套计算机、ADS-B 接收器和其他 MAVLink 外围设备通过不同的串行端口发送单独的 MAVLink 数据流与 PX4 交互。这些通信通道通过 MAVLink 参数.
MAVLink 实例
为了给串行端口分配一个特定的外设,我们使用了(抽象的)"串行端口 "概念。 MAVLink 实例.
每个实例可以代表一组特定的流式信息(见 MAV_X_MODE 下同);参数用于定义报文集、使用的端口、数据传输速率等。
在编写本报告时,三个 MAVLink 实例 的定义,分别对应下文所列参数中的 0、1、2。
每个实例的参数为
- MAV_X_CONFIG - 为该实例设置串行端口(UART)"X",其中 X 为 0、1、2。它可以是任何未使用的端口,例如TELEM2、TELEM3、GPS2 等。更多信息,请参阅 串行端口配置.
MAV_X_MODE - 指定遥测模式/目标(当前实例的信息流集合及其速率)。默认值为
- 正常:全球监控系统的标准信息集。
- 定制 或 魔术:无(在 PX4 默认实现中)。开发新模式时,模式可用于测试。
- 机载:配套计算机的标准信息集。
- OSD:OSD 系统的标准信息集。
- 配置:快速链接(如 USB)的标准信息和速率配置。
- 最低限度:最小报文集,用于连接高延迟链路上的全球监控系统。
- ExtVision 或 ExtVisionMin:用于机载视觉系统的信息(VIO 需要 ExtVision)。
- 铱星:信息 铱星卫星通信系统.
如果您需要查找每种模式的特定信息集,请搜索
MAVLINK_MODE_
于 /src/modules/mavlink/mavlink_main.cpp.模式定义了 默认 信息和速率。已连接的 MAVLink 系统仍可通过以下方式请求所需的数据流/速率 mav_cmd_set_message_interval.
- MAV_X_RATE - 设置最大 数据速率 字节/秒)。
- 这是所有单个信息流的综合速率(如果总速率超过此值,单个信息的速率会降低)。
- 默认设置一般是可以接受的,但如果遥测链路饱和,丢弃的信息过多,则可以降低默认设置。
- 数值为 0 时,数据传输速率为理论值的一半。
- MAV_X_FORWARD - 将当前实例接收到的 MAVLink 数据包转发到其他接口。例如,这可用于在 GCS 和配套计算机之间传输信息,以便 GCS 可以与连接到配套计算机的启用 MAVLink 的摄像机通话。
接下来,您需要为上面分配的串行端口设置波特率(在 MAV_X_CONFIG
).
您需要重新启动 PX4 才能使用该参数(即在 QGroundControl 中)。
使用的参数取决于 指定的串行端口 - 例如 SER_GPS1_BAUD
, SER_TEL2_BAUD
等。使用的值取决于连接类型和所连接 MAVLink 外围设备的功能。
默认 MAVLink 端口
电话 1
端口几乎总是用于 GCS 遥测数据流。
为了支持这一点,有一个 默认串行端口映射 如下所示:
- MAV_0_CONFIG =
电话 1
- MAV_0_MODE =
正常
- MAV_0_RATE=
1200
字节/秒 - MAV_0_FORWARD =
正确
- SER_TEL1_BAUD =
57600
示例
例如,在以下设备上使用配套计算机 电话 2
您可以设置如图所示的参数:
- MAV_2_CONFIG =
电话 2
- MAV_2_MODE =
机载
- MAV_2_RATE=
80000
字节/秒在信息丢失的情况下,可能需要调整/降低该值。
- MAV_2_FORWARD =
正确
- SER_TEL2_BAUD =
921600
波特