14. Mavlink遥测通讯系统

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

14.1 概述

PH47 代码框架通过 mavlink plus 协议与地面控制站 GCS,或其他无人控制目标进行双向通讯。mavlink plus 协议在 mavlink 1.0 基础上增加修改了 message 设置,对 message 进行了加密,同时最大的改进是对 GCS 上行控制命令实施真伪性动态甄别。在mavlink+协议集当中,有一小部分消息ID带有_SA后缀的消息,如MAVLINK_MSG_ID_COMMAND_LONG_SA消息,它们就是会自动进行真伪验证的上行控制命令。

mavlink plus 协议向下兼容 mavlink 1.0 协议,但需要设置编译开关后对框架代码进行重新编译,目前BBP系列飞控以及CSS均使用mavlink plus 协议。

PH7代码库框架对mavlink协议及其运行机制进行了非常完善的封装,尽管整个通讯系统功能很复杂,但在本框架下使用起来却非常简单。

14.2 基本使用方法

14.2.1 添加文件包含

若在用户二次开发代码中使用mavlink通讯功能,那么只需要在自己的代码中加入如下文件包含:

	#include "/DevStudio/Frame/Core/MavlinkInterface.h"
	#include "/DevStudio/Frame/Core/MavlinkWrap.h"

14.2.2 对地面控制站通讯

在整个 PH7 代码框架内对 GCS 的数据通讯以 core.mavlink.FunName() 的形式来使用 mavlink 协议相关功能函数。

14.2.3 对其他无人机(运动控制对象)通讯

对其他控制目标的数据通讯以 core.consolelink.FunName() 的形式来使用式来使用 mavlink 通讯相关功能函数。

14.3 常用功能实现

14.3.1 与二次开发相关的mavlink功能函数

PH47代码框架已对Message的下行发送进行了完善的封装,为不同类型的Message设定了不同的发送速率,并可对发送速率进行后期设定调整。整个Message的下行发送机制为全自动执行,用户在需要发送message时以core.mavlink.AddMsg_xxx()形式调用对应函数,即可将发送消息加入下行消息发送队列随即自动发送。二次开发用户常用消息发送函数如下:

参数名称

功能描述

AddMsg_Ctrl_Base(mavlink_ctrl_base_t *pPacket);

下行发送飞控控制器相关数据

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值