| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 示例:添加与编译一个mavlink(test.xml) -> 正文阅读 |
|
[Python知识库]示例:添加与编译一个mavlink(test.xml) |
MAVLINK 是个小型的数据通信协议,负责地面站和飞控本身的数据交互和地面站向飞控发送数据指令。 比如我们添加一个新的传感器,会把新的传感器数据发送回来和地面站交互,这时候就会涉及到自定义一个 MAVLINK 的消息包,自定义消息包的数据,发送给地面站来解析显示。对于 MAVLINK 这套系统,有对应的工具,来自动生成MAVLINK 的库函数,只要约定好消息包的结构体,我们就可以用相应的MAVLINK工具,来生成 MAVLINK 库的头文件和功能接口函数。 使用 MAVLINK GENERATOR(mavlink 生成器)
示例: 在mavlink/message_definitions/v1.0/目录下创建test.xml文件,id为0-255之间
在mavlink/目录下运行
选择xml文件,输出文件夹,语言选C,协议选2.0 生成后在mavlink/目录下生成test文件夹,将test文件夹下的mavlink_msg_test_types.h文件复制到Firmware/mavlink/include/mavlink/v2.0/common/目录下 ?修改Firmware/mavlink/include/mavlink/v2.0/common/common.h头文件,添加头文件
修改?Firmware/src/modules/mavlink/mavlink_messages.cpp文件,添加类 MavlinkStreamMytest
?在static const StreamListItem streams_list[] = {}中添加类,
?修改Firmware/src/modules/mavlink/mavlink_main.cpp文件,设置频率 ?configure_stream("TEST_TYPES", 20.0f); //TEST_TYPES为mavlink_messages.cpp中添加的类中的值 ?编译/下载
查看mavlink结果,ID git https://github.com/ArduPilot/MissionPlanner 用Visual Studio打开MissionPlanner/ExtLibs/SimpleExample/SimpleEample.sln 运行 ? xml 文件定义了 mavlink 消息 ID 号,消息结构体数据类型 可以按照心跳包的消息格式,我们来在mavlink_messages.cpp写一个自己定义的消息,要在头文件里面添加好我们用mavlink generator生成的mavlink头文件,里面定义了消息ID的编号和这个消息的结构体的函数。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 14:04:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |