登录
加入联盟
找回密码
航空人生
新一代连飞客户端下载
空管人生
中国航空运动协会推荐
WEFLY
模拟飞行玩家聊天工具
门户
文章
商城
二手市场
外包服务
模飞软件
硬件设备
飞行体验
学院
云课堂
问答
资料下载
论坛
模拟飞行
低空飞行
太空探索
航圈
资源
素材
下载
企业
无人机论坛
»
论坛
›
无人机DIY专区
›
飞控开发区
›
APM飞控
›
APM飞控固件的两种输出调试信息的方法
返回列表
发新帖
查看:
1467
|
回复:
0
APM飞控固件的两种输出调试信息的方法
[复制链接]
zhangzijun
zhangzijun
当前离线
积分
1159
窥视卡
雷达卡
373
主题
409
帖子
1159
积分
金牌飞友
金牌飞友, 积分 1159, 距离下一级还需 1841 积分
金牌飞友, 积分 1159, 距离下一级还需 1841 积分
积分
1159
飞币
743
注册时间
2017-7-8
发消息
发表于 2023-3-10 08:08:56
|
显示全部楼层
|
阅读模式
在无人机飞控固件开发过程中,我们经常需要实时输出一些调试信息(如一些变量的值、状态机切换提示等),在APM固件中有如下两种常用的输出调试信息的方法:
一、使用Mavlink的“STATUS TEXT”帧来发送调试信息
这个Mavlink帧的ID号为253,内部包含了50个字节的定长数据段,也就是说我们使用这个帧最多一次只能输出50个字节的字符。其调用方法如下:
gcs().send_text(MAV_SEVERITY_CRITICAL, "NFCY test! %.2f", 1.234f);
其中第一个参数定义的是要发送的数据的紧急程度,如果定义的是“MAV_SEVERITY_CRITICAL”,则要显示的信息会同时在MissionPlanner的姿态窗口和消息窗口中显示。这个函数后面两个参数的用法与C语言中的printf是一样的。
最终的显示效果如下:
二、使用“hal.console->printf”来发送调试信息
相对于第一种方法,这种方法在效率和灵活性上更接近C语言的printf,其输出直接发送到飞控USB虚拟出的串口上,因此一般直接用串口调试助手查看其输出。其用法示例如下:
hal.console->printf("\n\nNFCYtest! %.2f \n\n", 1.234f)
最终的显示效果如下:
由上图可知,这种输出方法更接近平常我们用的单片机串口调试方法,但是由于默认情况下USB接口虚拟出的串口同时也输出Mavlink帧(至少有1Hz的Mavlink心跳帧),二者混在一起,看起来比较麻烦。不过可以通过关闭Mavlink输出来解决。
以上就是APM固件的两种飞控调试信息的输出方法,希望对大家有所帮助。
apm飞控系统
,
apm飞控调参
,
apm飞控功能
,
apm飞控硬件
,
APM
相关帖子
•
apm飞控osd设置
•
如何使用"ArduPilot-Arduino-1.0.3-windows"编译,上传APM程序_百度知...
•
【APM飞控DIY大撕教程】2.1部 软件方面第一课 X1飞控驱动及地面站安装
•
这段时间一直不怎么舒服,声音也是奇奇怪怪的。随便录一下出个简单的apm调参视频
•
飞控 APM/Ardupilot 简介,无人机开发实践 - 第 3 期 RISC-V Linux 系统开发公开课
•
【DIY大撕教程】准备篇 第三集 加速度计校准 实战零基础APM组无人机
•
一阶低通滤波(LPF)的原理及应用(以APM/PX4飞控为例)
•
蓝易云 - Ubuntu搭建APM固件编译环境教程!
•
从零搭建自主pix无人车(四):Apm和ROS通信
•
新越700直升机+零一空天 X6飞控+ARDUPILOT固件,apm、PIX直升机
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
加入联盟
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表