iNavFlight之电传MAVLink协议

2023-05-16

iNavFlight之电传MAVLink协议

  • 1. 业务逻辑框架
  • 2. MAVLink电传报文
    • 2.1 MAVLink电传报文格式
    • 2.2 iNav支持地面站报文(接收)
    • 2.3 iNav支持飞控报文(发送)
  • 3. MAVLink报文处理
  • 4. 参考资料

本章重点介绍iNav飞控的MAVLink电传协议。

关于【电传框架设计】这里我们都不再重复了。如果前面那篇没有审阅过的同学,请点击iNavFlight之RC遥控CRSF协议。

1. 业务逻辑框架

从逻辑角度,需要三个步骤来完成电传的功能:

  1. 电传信息获取: 内部全局变量
  2. 电传信息处理: handleMAVLinkTelemetry
  3. 电传初始化: initMAVLinkTelemetry
taskTelemetry
 └──> telemetryProcess
     └──> handleMAVLinkTelemetry
         ├──> processMAVLinkIncomingTelemetry
         └──> processMAVLinkTelemetry

#ifdef USE_TELEMETRY
    [TASK_TELEMETRY] = {
        .taskName = "TELEMETRY",
        .taskFunc = taskTelemetry,
        .desiredPeriod = TASK_PERIOD_HZ(500),         // 500 Hz
        .staticPriority = TASK_PRIORITY_IDLE,
    },
#endif
main
 └──> init
     └──> telemetryInit
         ├──> initFrSkyTelemetry
         ├──> initHoTTTelemetry
         ├──> initSmartPortTelemetry
         ├──> initLtmTelemetry
         ├──> **initMAVLinkTelemetry**
         ├──> initJetiExBusTelemetry
         ├──> initIbusTelemetry
         ├──> initSimTelemetry
         ├──> initCrsfTelemetry
         ├──> initSrxlTelemetry
         ├──> initGhstTelemetry
         └──> telemetryCheckState
	         ├──> checkFrSkyTelemetryState
	         ├──> checkHoTTTelemetryState
	         ├──> checkSmartPortTelemetryState
	         ├──> checkLtmTelemetryState
	         ├──> **checkMAVLinkTelemetryState**
	         ├──> checkJetiExBusTelemetryState
	         ├──> checkIbusTelemetryState
	         ├──> checkSimTelemetryState
	         ├──> checkCrsfTelemetryState
	         ├──> checkSrxlTelemetryState
             └──> checkGhstTelemetryState

2. MAVLink电传报文

2.1 MAVLink电传报文格式

略,详见:PX4模块设计之四:MAVLink简介

2.2 iNav支持地面站报文(接收)

  1. MAVLINK_MSG_ID_HEARTBEAT 0
  2. MAVLINK_MSG_ID_MISSION_CLEAR_ALL 45
  3. MAVLINK_MSG_ID_MISSION_COUNT 44
  4. MAVLINK_MSG_ID_MISSION_ITEM 39
  5. MAVLINK_MSG_ID_MISSION_REQUEST_LIST 43
  6. MAVLINK_MSG_ID_MISSION_REQUEST 40
  7. MAVLINK_MSG_ID_RC_CHANNELS_OVERRIDE 70

2.3 iNav支持飞控报文(发送)

  1. MAVLINK_MSG_ID_SYS_STATUS 1
  2. MAVLINK_MSG_ID_RC_CHANNELS_RAW 35
  3. MAVLINK_MSG_ID_GPS_RAW_INT 24
  4. MAVLINK_MSG_ID_ATTITUDE 30
  5. MAVLINK_MSG_ID_VFR_HUD 74
  6. MAVLINK_MSG_ID_HEARTBEAT 0
  7. MAVLINK_MSG_ID_BATTERY_STATUS 147
  8. MAVLINK_MSG_ID_SCALED_PRESSURE 29
  9. MAVLINK_MSG_ID_STATUSTEXT 253

3. MAVLink报文处理

MAVLink是轻量级飞控与地面端,飞控与伴机电脑内部数据交互的消息协议,且具有非常久远的历史。详见:MAVLink Developer Guide

4. 参考资料

【1】iNavFlight之RC遥控MSP协议
【2】iNavFlight之RC遥控CRSF协议
【3】PX4模块设计之四:MAVLink简介
【4】PX4模块设计之五:自定义MAVLink消息
【5】MAVLink Developer Guide

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iNavFlight之电传MAVLink协议 的相关文章

  • PX4模块设计之四十七:mavlink模块

    PX4模块设计之四十七 xff1a mavlink模块 1 mavlink模块简介2 模块入口函数mavlink main3 mavlink模块重要函数3 1 Mavlink start3 2 Mavlink task main3 3 Ma
  • 找到了中文版的mavlink手册

    以前搜到的似乎都是英文的 xff0c 这次看到中文的了 http mavlink io zh 我发现接收函数mavlink手册就有讲 xff0c mavlink parse char 你是一个劲百度就不肯看mavlink手册 http ma
  • putty串口打开没反应_树莓派3B使用mavlink串口连接PIXHAWK_V5

    树莓派3B使用mavlink串口连接PIXHAWK V5 参考网址 xff1a http ardupilot org dev docs raspberry pi via mavlink html https dev px4 io en ro
  • STM32 移植Mavlink,Keil报错

    STM32 移植Mavlink xff0c Keil报一大堆错误 span class token keyword static span span class token keyword void span span class toke
  • MavLink

    2 1 MAVLink xff08 Micro Air Vehicle Link xff09 是一种用于小型无人载具的通信协议 xff0c 于2009年首次发布 该协议广泛应用于地面站 xff08 Ground Control Statio
  • PX4自定义mavlink消息

    PX4自定义mavlink消息 承接前面UORB发布消息 xff0c 然后现在要使用mavlink发布消息 xff0c 然后通过433MHz进行无线传输 这个阶段对我来说异常艰难 xff0c 我个人傻傻看了2天mavlink配置文件 xff
  • Mavlink任务协议

    联系作者QQ 843230304 本文翻译自 https mavlink io en services mission html mission protocol Mavlink任务协议 任务子协议允许GCS或开发人员API 在无人机 组件
  • 编译mavlink-router

    1 首先安装meson ninjia gcc g 43 43 等工具 xff1a sudo apt install git meson ninjia build pkg config gcc g 43 43 system 可能会出现一下错误
  • wifi数传组网之精简mavlink

    1 无人机集群测绘在同一地点同一时间采集一片区域的多光谱数据 xff0c 经过后期的处理可得到该区域的植被生长情况 xff0c 本文就是讨论和测试利用wifi数传组网的机制实现多台的无人机集群 xff0c 组网内的无人机能够单独的进行控制
  • matlab发送mavlink消息

    主要介绍了通过matlab脚本实现UDP发送mavlink消息 xff0c 为后面matlab计算 xff0c 与Optitrack联合调试 xff0c 控制无人机做准备 示例演示效果链接为 matlab通过UDP协议发送mavlink消息
  • px4 mavlink消息自定义及其发送

    在px4源码中自定义消息 xff0c 并发送主要有以下三个大步骤 xff1a 一 自定义mavlink消息 1 在myMessage XML文件中自定义消息 xff08 注意消息ID不要与原有的重复 xff09 具体消息ID可参考这里 2
  • px4中的mavlink协议

    原文地址 xff1a http blog csdn net oqqENvY12 article details 61615609 PX4 对Mavlink 协议提供了良好的原生支持 该协议既可以用于地面站 Ground ControlSta
  • 【C/C++/QT/ 移植/导入Mavlink V2.0/Mavlink V1.0教程】

    提示 xff1a 本文针对的实例是Mavlink V2 0版本 xff0c Mavlink V1 0版本其实也是类似的的步骤 xff0c 选择的mavlink库不一样而已 官方链接放在此 xff1a Install MAVLink MAVL
  • MAVLink简介

    MAVLink简介 Mavlink协议最早由 苏黎世联邦理工学院 计算机视觉与几何实验组 的 Lorenz Meier于2009年发布 xff0c 并遵循LGPL开源协议 Mavlink协议是在串口通讯基础上的一种更高层的开源通讯协议 xf
  • MAVLINK 请求参数和接收参数

    if decodeState 61 61 1 之后是放在mavlink消息解析后面 请求返回参数配置列表 void MavDebug on pushButton 3 clicked mavlink message t msg mavlink
  • mavlink解码java_mavlink: A Java API for MAVLink communication

    Overview A Java SDK for communication using the Mavlink1 and Mavlink2 protocols Structure The project is made up of 3 co
  • MAVLink v1.0详解——结构

    本文针对 MAVLink v1 0版本 xff0c 协议版本 xff1a 3 MAVLink是为微型飞行器MAV xff08 Micro Air Vehicle xff09 设计的 xff08 LGPL xff09 开源的通讯协议 是无人飞
  • MAVLink认识、使用、自定义

    对mavlink的认识 MAVLink是针对小型飞行器 xff08 MAV xff09 的一个lightweight header only message marshalling library 由头文件构成的信息编组库 它被封装成C结构
  • 在ubuntu上安装mavlink-router

    版本说明 xff1a ubuntu 20 0 04 mavlink router 2 为了安装mavlink router 需要预先安装一些依赖库 xff1a autoconf libtool python future python3 f
  • 【2020-8-9】APM,PX4,GAZEBO,MAVLINK,MAVROS,ROS之间的关系以及科研设备选型

    0 概述 无人机自主飞行平台可以分为四个部分 xff1a 动力平台 xff0c 飞行控制器 xff0c 机载电脑和模拟平台 动力平台 xff1a 负责执行飞行任务 xff0c 包括螺旋桨 电机 机架等 xff0c 用于科研的一般都是F380

随机推荐

  • BetaFlight深入传感设计之九:传感坐标系/机体坐标系/导航坐标系/经纬度坐标系

    BetaFlight深入传感设计之九 xff1a 传感坐标系 机体坐标系 导航坐标系 经纬度坐标系 1 问题症结2 入手分析2 1 传感坐标系2 2 机体坐标系2 3 导航坐标系2 4 经纬坐标系 3 CF BF iNav代码3 1 机体坐
  • BetaFlight深入传感设计之十:传感器物理特性方向对齐

    BetaFlight深入传感设计之十 xff1a 传感器物理特性方向对齐 1 对齐定义2 常见对齐方式3 自定义对齐方式4 总结5 参考资料6 补充 xff1a gyro 43 mag对齐方式 AHRS Attitude and Headi
  • ArduPilot飞控AOCODARC-H7DUAL固件编译

    ArduPilot飞控AOCODARC H743DUAL固件编译 1 编译目标 xff08 AOCODARC H743DUAL xff09 2 硬件支持包 xff08 APM AOCODARC H743DUAL xff09 3 编译步骤3
  • 四轴FPV手动训练进阶步骤

    四轴FPV手动训练进阶步骤 1 目的2 训练2 1 基本操作训练2 1 1 滞空训练2 1 2 基本动作2 1 3 位置保持 2 2 基本控制训练2 2 1 转弯 Turn 2 2 2 翻滚 Roll 2 2 3 翻转 Flips 2 3
  • 数据库binlog(二进制日志binary log)

    二进制日志中存储的内容称之为事件 xff0c 每一个数据库更新操作 Insert Update Delete xff0c 不包括Select 等都对应一个事件 mysql binlog基本原理 简书 jianshu com https ww
  • 四轴异常炸机分析讨论集锦

    四轴异常炸机分析讨论集锦 0 异常 amp 炸机 汇总目的1 AT9SPro 43 R12DSM 300米信号丢失炸机2 PID参数异常 起飞 Takeoff Runaway 炸机3 接收机信号干扰 炸机4 GPS救援 RC控制信号丢失炸机
  • Github工程中的Markdown语言应用

    Github工程中的Markdown语言应用 1 介绍2 工具2 1 下载链接2 2 编辑界面2 3 插件安装 3 基本操作3 1 标题编写3 2 正文编写3 3 代码块编写3 4 加粗倾斜3 5 有序列表3 6 无序列表3 7 行内代码编
  • iNavFlight之MSP DJI协议分析

    iNavFlight之MSP DJI协议分析 1 iNav串行口通信1 1 iNav 串口任务1 2 调用逻辑 2 iNav串行抽象2 1 框架代码2 2 MSP DJI 协议处理 3 DJI协议相关实现3 1 DJI串口初始化3 2 DJ
  • iNavFlight之MSP DJI协议天空端请求报文

    iNavFlight之MSP DJI协议天空端请求报文 1 报文格式 请求 2 报文标志 flag 3 报文命令 cmd 4 参考资料 MSP DJI协议是用于DJI天空端与飞控端之间的通信协议 xff0c 其工作模式符合C S经典设计 这
  • iNavFlight之MSP DJI协议飞控端请求应答

    iNavFlight之MSP DJI协议飞控端请求应答 1 报文格式2 报文标志 flag 3 报文命令 cmd 4 请求应答 amp 反馈报文4 1 DJI MSP API VERSION4 2 DJI MSP FC VARIANT4 3
  • 大疆Tello UDP控制协议接口

    大疆Tello UDP控制协议接口 1 设计架构2 UDP报文格式2 1 控制报文2 2 查询报文2 3 状态报文 3 命令集3 1 控制报文 控制命令3 2 控制报文 设置命令3 3 查询报文 读取命令 4 状态报文 这里介绍了大疆Tel
  • 蓝牙无线自制串口模块连接穿越机配置工具

    蓝牙无线自制串口模块连接穿越机配置工具 1 目的2 验证环境3 BLE SPP验证4 BT SPP验证5 参考资料6 补充资料 windows10配置全过程截图6 1 添加设备 搜索蓝牙串口设备6 2 连接 选中SnapAirUnit设备6
  • 传感模块:MATEKSYS Optical Flow & LIDAR 3901-L0X

    传感模块 xff1a MATEKSYS Optical Flow amp LIDAR 3901 L0X 1 模块介绍2 规格参数3 使用方法Step1 接线方式Step2 安装方式Step3 使用范围 4 存在问题 思考 4 1 MATEK
  • iNavFlight之MSP v2 Sensor报文格式

    iNavFlight之MSP v2 Sensor报文格式 1 MSP v2传感报文介绍2 MSP v2协议格式3 MSP v2传感代码流程4 MSP v2 传感器4 1 光流传感报文 MSP2 SENSOR RANGEFINDER4 2 测
  • 自制肥鲨HDO2电源降压延长线,支持3S~6S动力电池

    自制肥鲨HDO2电源降压延长线 xff0c 支持3S 6S动力电池 1 问题源由2 破题思路2 1 10元大钞搞定2 2 两个毛爷爷搞定 3 解决方案4 最终延长线产出4 1 裸照4 2 成品 5 花絮6 参考资料 1 问题源由 源由 xf
  • java中for、foreach、stream性能比较

    在开发中循环遍历一个数组经常会用到 xff0c jdk8推出了一些新特性 xff0c 对循环做了比较 xff0c 通过代码亲测 xff0c 记录一下 xff01 1 for循环 public static void main String
  • 自制肥鲨HDO2电源升压延长线

    自制肥鲨HDO2电源升压延长线 1 问题源由2 解决方案3 材料准备4 最终延长线产出4 1 裸照4 2 成品 5 参考资料 1 问题源由 之前我们介绍了 自制肥鲨HDO2电源降压延长线 xff0c 支持3S 6S动力电池 xff0c 主要
  • iNavFlight之RC遥控MSP协议

    iNavFlight之RC遥控MSP协议 1 RC摇杆MSP协议2 地面站配置 amp MSP遥控器2 1 iNav地面站 配置2 2 iNav地面站 MSP遥控器 3 RC摇杆总体逻辑框架3 1 摇杆信息获取3 2 摇杆信息处理3 3 摇
  • iNavFlight之RC遥控CRSF协议

    iNavFlight之RC遥控CRSF协议 1 遥控器电传框架设计1 1 场景分析1 2 逻辑框架1 2 1 电传信息获取1 2 2 电传信息处理1 2 3 电传初始化 1 3 模块化设计 2 CRSF电传报文2 1 CRSF电传报文格式2
  • iNavFlight之电传MAVLink协议

    iNavFlight之电传MAVLink协议 1 业务逻辑框架2 MAVLink电传报文2 1 MAVLink电传报文格式2 2 iNav支持地面站报文 接收 2 3 iNav支持飞控报文 发送 3 MAVLink报文处理4 参考资料 本章