3
0

2 Коммитууд 7d2c52a8e0 ... 84858b0e0b

Эзэн SHA1 Мессеж Огноо
  Liu Yang 84858b0e0b 代码生成 3 өдөр өмнө
  Liu Yang 94d2ccf181 增加电调的电机电容温度等数据, 增加空速计消息 3 өдөр өмнө

+ 13 - 0
msg_definitions/VKFly.xml

@@ -1049,6 +1049,10 @@
       <field type="float[4]" name="current" units="A">Current measured from each ESC.</field>
       <field type="int16_t[4]" name="temperature" units="degC">Temperature measured from each ESC.</field>
       <field type="uint32_t[4]" name="status">Status data from each ESC.</field>
+      <extensions />
+      <field type="int16_t[4]" name="motor_temp" units="degC">Motro temperature from each ESC.</field>
+      <field type="int16_t[4]" name="cap_temp" units="degC">Capacity temperature from each ESC.</field>
+      <field type="uint32_t[4]" name="status2">Status2 data from each ESC.</field>
     </message>
 
     <message id="53009" name="VK_FIXEDWING_CONTROL_VALUE">
@@ -1079,6 +1083,15 @@
       <field type="float" name="radius" units="m">Radius in m, NAN means use default radius.</field>
     </message>
 
+    <message id="53012" name="VK_AIRSPEED">
+      <description>Airspeed information from a sensor.</description>
+      <field type="uint8_t" name="id" instance="true">Sensor ID.</field>
+      <field type="float" name="airspeed" units="m/s">Calibrated airspeed (CAS).</field>
+      <field type="int16_t" name="temperature" units="cdegC" invalid="INT16_MAX">Temperature.</field>
+      <field type="float" name="raw_press" units="hPa" invalid="NaN">Raw differential pressure.</field>
+      <field type="uint8_t" name="flags">Airspeed sensor flags.</field>
+    </message>
+
     <message id="53020" name="VK_PARACHUTE_STATUS">
       <description>parachute status</description>
       <field type="uint32_t" name="timestamp" units="ms">timestamp from system boot</field>

+ 226 - 209
readme.md

@@ -870,7 +870,10 @@ comp_id 为 0 时, 飞控将回复多个消息逐个返回所有可获取设备
 | voltage[4]     | 电压 V                                                                     |
 | current[4]     | 电流 A                                                                     |
 | temperature[4] | 温度 degC                                                                  |
+| motor_temp[4]  | 电机温度 degC                                                              |
+| cap_temp[4]    | 电容温度 degC                                                              |
 | status[4]      | 状态字 (不同品牌型号有不同的状态定义)                                      |
+| status2[4]     | 状态字2 (不同品牌型号有不同的状态定义)                                     |
 
 status 结构
 
@@ -1090,6 +1093,18 @@ CACC 管理信息 json 表, 地面站向飞控传输后飞控记录在内部存
 * 手动降落上锁, 飞机触地后 z < -900
 * 手动强制上锁, b0 = b1 = b2 = 1, 持续1s 强制上锁
 
+
+### 2.36 空速传感器数据 VK_AIRSPEED
+
+| 字段        | 说明          |
+| ----------- | ------------- |
+| id          | 编号          |
+| airspeed    | 空速 m/s      |
+| temperature | 温度 0.01degC |
+| raw_press   | 压力 hPa 百帕 |
+| flags       | 标志位 1-异常 |
+
+
 ## 3 参数设置
 
 飞控的参数修改、读取方法参考 [mavlink services parameter](https://mavlink.io/en/services/parameter.html). 使用16字节的 paramid 作为每各参数的唯一表示码.
@@ -1577,6 +1592,7 @@ param2 = (float)(颜色 + (闪烁 << 4) +(电调编号<<8))
 | 关  | 蓝  | 绿  | 青  | 红  | 紫  | 黄  | 白  |
 
 闪烁如下
+
 | 0      | 0x1     |
 | ------ | ------- |
 | 不闪烁 | 1hz闪烁 |
@@ -1658,7 +1674,7 @@ param2 = (float)(颜色 + (闪烁 << 4) +(电调编号<<8))
 | ------ | ----------------------------------------- |
 | param1 | 重量校准, 填写实际载重单位克. NAN表示忽略 |
 | param2 | 1-恢复出厂配置.  NAN表示忽略              |
-| param3 | 熔断指令,1-进行熔断.  NAN表示忽略         |
+| param3 | 熔断指令,1-进行熔断.  NAN表示忽略        |
 ### 5.37 队形飞行 VKFLY_CMD_FORMATION_FLY
 
 编队指令. 编队集结或解散指令发送给队形从机, 设置队形指令发送给队形主机.
@@ -1887,214 +1903,215 @@ VKins 系统的状态数据自定义消息, 主要用于一些自定状态的传
 
 ### 9.1 旋翼版本参数
 
-| 参数名          | 参数                                 | 类型   | 说明                                                                                     |
-| --------------- | ------------------------------------ | ------ | ---------------------------------------------------------------------------------------- |
-| MAV_SYS_ID      | 系统ID                               | UINT8  | 范围1~255, 作为MAVLINK通信使用的 SYSTEM ID                                               |
-| MAV_COMP_ID     | 组件ID                               | UINT8  | 范围1~255, 作为MAVLINK通信使用的COMPONENT ID                                             |
-| MLOG_MODE       | 数据记录模式                         | UINT32 | 范围0~3 <br>0-不记录 <br>1-解锁到上锁 <br>2-上电到落锁 3-上电到下电                      |
-| BOOT_MODE       | 系统启动模式                         | UINT8  | 范围0~1, 0正常启动, 1U盘模式(用于导入导出数据文件)                                       |
-| HW_SN_NUM       | 硬件SN号                             | UINT32 | 范围0~UINT32_MAX                                                                         |
-| AIRFRAME        | 飞机布局类型                         | UINT16 | 范围0~UINT16_MAX, 区分不同的飞机布局类型, 参考 enum AP_TYPE                              |
-| GCS_DISCONT_DT  | 地面站失联时间                       | UINT16 | 范围0~UINT16_MAX, 单位s. 持续未收到地面站心跳的时间, 0-表示不检测地面站失联              |
-| RCFAIL_LOT_T    | RC失控悬停时间                       | UINT16 | 范围0~UINT16_MAX, 单位s. 遥控器失控后悬停等待时间                                        |
-| RC_ATT_EN       | 遥控器姿态模式启用                   | UINT16 | 范围0~1, 0不启用, 1启用                                                                  |
-| VOLT1_LOW_VAL   | 一级电压低阈值                       | FLOAT  | 范围0~1000, 单位V                                                                        |
-| VOLT2_LOW_VAL   | 二级电压低阈值                       | FLOAT  | 范围0~1000, 单位V                                                                        |
-| VCAP1_LOW_VAL   | 一级电量低阈值                       | UINT8  | 范围0~100, 单位1%, 当具有多个智能电池时, 飞控按他们中最低电量进行触发保护判定            |
-| VCAP2_LOW_VAL   | 二级电量低阈值                       | UINT8  | 范围0~100, 单位1%                                                                        |
-| H2P_LOW1_VAL    | 一级氢气压低阈值                     | FLOAT  | 范围0~10000, 单位MPa                                                                     |
-| H2P_LOW1_VAL    | 二级氢气压低阈值                     | FLOAT  | 范围0~10000, 单位MPa                                                                     |
-| FUEL_LOW1_VAL   | 一级ecu油量低阈值                    | FLOAT  | 范围 1~100, 单位%                                                                        |
-| FUEL_LOW2_VAL   | 二级ecu油量低阈值                    | FLOAT  | 范围 1~100, 单位%                                                                        |
-| VOLT_PROT_CH    | 电压保护通道                         | UINT16 | 范围0~10, 触发电压保护的通道, 默认0飞控供电                                              |
-| OBAVOID_DIST    | 障碍悬停距离                         | FLOAT  | 范围2~8, 单位m                                                                           |
-| OBAVOID_ACT     | 避障动作                             | UINT8  | 范围0~2,0-不开启 1-悬停 2-爬高                                                           |
-| GCS_DISC_CRUISE | 航线中是否启用地面站失联             | UINT8  | 范围0~1,0-不启用 1-启用                                                                  |
-| FS_CONF_A       | 失控保护设置                         | UINT32 | 参考enum FS_ACTION. 每4bit为一类保护动作设置                                             |
-| CIR_RAD_DFLT    | 默认环绕/盘旋半径                    | FLOAT  | 范围1~10000m                                                                             |
-| TOF_ALT_M       | 默认起飞高度                         | FLOAT  | 范围1~5000, 单位m                                                                        |
-| RTL_ALT_M       | 默认返航高度                         | FLOAT  | 范围0~5000, 单位m                                                                        |
-| RTL_HEAD_MODE   | 返航机头对准方式                     | UINT16 | 0-对头返航 1-对尾返航 2-保持当前航向                                                     |
-| WP_FP_ALT_MODE  | 去航线起始点爬高方式                 | UINT8  | 0-直线爬升 1-斜线爬升                                                                    |
-| RTL_EXEC_MODE   | 默认返航执行方式                     | UINT8  | 参考VKFLY_RTL_EXEC_MODE                                                                  |
-| MC_XY_CRUISE    | 默认旋翼巡航速度                     | FLOAT  | 范围2~25, 单位m/s                                                                        |
-| COM_P1_AF       | 载荷P1串口复用                       | UINT16 | 范围0~UINT16_MAX                                                                         |
-| ALT_LIM_UP1     | 1级高度限制                          | UINT16 | 范围10~10000, 单位m                                                                      |
-| ALT_LIM_UP2     | 2级高度限制                          | UINT16 | 范围0~10000, 单位m                                                                       |
-| MAX_HOR_DIST    | 最远水平距离                         | UINT32 | 范围0~UINT32_MAX, 单位m                                                                  |
-| PREC_LAND_ERR   | 精准降落误差范围                     | FLOAT  | 范围0.05~1.0, 单位m                                                                      |
-| VEFOL_FR        | 车辆跟随相对右向位置                 | FLOAT  | 范围-1000~1000,单位m                                                                     |
-| VEFOL_FF        | 车辆跟随相对前向位置                 | FLOAT  | 范围-1000~1000,单位m                                                                     |
-| VEFOL_FU        | 车辆跟随相对上向位置                 | FLOAT  | 范围-1000~1000,单位m                                                                     |
-| VEFOL_FYD       | 车辆跟随相对航向夹角                 | FLOAT  | 范围-180~180,单位deg                                                                     |
-| VEFOL_BASE_YD   | 基站航向安装偏角                     | FLOAT  | 范围-180~180, 单位deg                                                                    |
-| VEFOL_BASE_YD   | 基站航向安装偏角                     | FLOAT  | 范围-180~180, 单位deg                                                                    |
-| PHO_SIG_TYPE    | 拍照信号类型                         | UINT8  | 范围0~2 <br>0-低电平 <br>1-高电平 <br>2-PWM                                              |
-| PHO_PWM_OFF     | 拍照PWM信号待命值                    | UINT16 | 范围0~10000, 单位us                                                                      |
-| PHO_PWM_ON      | 拍照PWM信号触发值                    | UINT16 | 范围0~10000, 单位us                                                                      |
-| PHO_SIG_TIME    | 拍照触发信号持续时间                 | UINT16 | 范围0~20000, 单位ms                                                                      |
-| PHO_SIG_CH      | 拍照-信号输出通道映射                | UINT8  | 拍照信号映射到飞控的哪个输出接口,0~16, 0-表示不启用映射输出                              |
-| FOLLOW_DIST     | 默认跟随距离                         | FLOAT  | 范围2~1000,单位m                                                                         |
-| MAN_VELH_MAX    | 手动模式最大水平速度                 | FLOAT  | 范围2~20,单位m/s                                                                         |
-| MAN_VELU_MAX    | 手动模式最大爬升速度                 | FLOAT  | 范围1~10,单位m/s                                                                         |
-| MAN_VELD_MAX    | 手动模式最大下降速度                 | FLOAT  | 范围1~10,单位m/s                                                                         |
-| AUTO_VELU_MAX   | 自动模式最大爬升速度                 | FLOAT  | 范围0.5~8, 单位m/s                                                                       |
-| AUTO_VELD_MAX   | 自动模式最大下降速度                 | FLOAT  | 范围0.2~5,单位m/s                                                                        |
-| AUTO_VELV_LND   | 自动模式降落接地速度                 | FLAOT  | 范围0.2~0.6, 单位m/s                                                                     |
-| TILT_ANG_MAX    | 最大倾斜角度                         | FLOAT  | 范围10~45,单位deg                                                                        |
-| YAW_SPD_MAX     | 最大航向角速度                       | FLAOT  | 范围10~120,单位deg/s                                                                     |
-| MC_RP_ANG_KP    | 旋翼横滚俯仰角度比例系数             | UINT16 | 范围200~800                                                                              |
-| MC_YAW_ANG_KP   | 旋翼航向角度比例系数                 | UINT16 | 范围200~800                                                                              |
-| MC_RSPD_KP      | 旋翼横滚角速度比例系数               | UINT16 | 范围30~200                                                                               |
-| MC_RSPD_KI      | 旋翼横滚角速度积分系数               | UINT16 | 范围0~20                                                                                 |
-| MC_RSPD_KD      | 旋翼横滚角速度微分系数               | UINT16 | 范围0~20                                                                                 |
-| MC_PSPD_KP      | 旋翼俯仰角速度比例系数               | UINT16 | 范围30~200                                                                               |
-| MC_PSPD_KI      | 旋翼俯仰角速度积分系数               | UINT16 | 范围0~20                                                                                 |
-| MC_PSPD_KD      | 旋翼俯仰角速度微分系数               | UINT16 | 范围0~20                                                                                 |
-| MC_YSPD_KP      | 旋翼航向角速度比例系数               | UINT16 | 范围50~400                                                                               |
-| MC_YSPD_KI      | 旋翼航向角速度积分系数               | UINT16 | 范围0~20                                                                                 |
-| MC_YSPD_KD      | 旋翼航向角速度微分系数               | UINT16 | 范围0~20                                                                                 |
-| MC_PXY_KP       | 旋翼水平位置比例系数                 | UINT16 | 范围20~150                                                                               |
-| MC_VXY_KP       | 旋翼水平速度比例系数                 | UINT16 | 范围80~200                                                                               |
-| MC_VXY_KI       | 旋翼水平速度积分系数                 | UINT16 | 范围0~20                                                                                 |
-| MC_VXY_KD       | 旋翼水平速度微分系数                 | UINT16 | 范围0~20                                                                                 |
-| MC_PZ_KP        | 旋翼高度位置比例系数                 | UINT16 | 范围20~150                                                                               |
-| MC_VZ_KP        | 旋翼垂直速度比例系数                 | UINT16 | 范围300~500                                                                              |
-| MC_AZ_KP        | 旋翼垂直加速度比例系数               | UINT16 | 范围5~20                                                                                 |
-| MC_AZ_KI        | 旋翼垂直加速度积分系数               | UINT16 | 范围5~20                                                                                 |
-| MC_JERKXY_MAX   | 旋翼水平最大加加速度                 | FLOAT  | 范围8~20,单位m/s                                                                         |
-| MC_HOV_THR      | 旋翼悬停油门                         | FLOAT  | 范围0.3~0.7(暂未使用)                                                                    |
-| MC_MIN_THR      | 旋翼怠速油门                         | FLOAT  | 范围0.05~0.25                                                                            |
-| GYRO0_XOFF      | GYRO0 X轴零位偏移                    | FLOAT  | 范围-10~10, 单位 rad/s                                                                   |
-| GYRO0_YOFF      | GYRO0 Y轴零位偏移                    | FLOAT  | 范围-10~10, 单位 rad/s                                                                   |
-| GYRO0_ZOFF      | GYRO0 Z轴零位偏移                    | FLOAT  | 范围-10~10, 单位 rad/s                                                                   |
-| ACC0_XOFF       | ACC0 X轴零位偏移                     | FLOAT  | 范围-10~10, 单位m/s^2                                                                    |
-| ACC0_YOFF       | ACC0 Y轴零位偏移                     | FLOAT  | 范围-10~10, 单位m/s^2                                                                    |
-| ACC0_ZOFF       | ACC0 Z轴零位偏移                     | FLOAT  | 范围-10~10, 单位m/s^2                                                                    |
-| ACC0_XXSCALE    | ACC0 校准XX系数                      | FLOAT  | 范围-10~10                                                                               |
-| ACC0_YYSCALE    | ACC0 校准YY系数                      | FLOAT  | 范围-10~10                                                                               |
-| ACC0_ZZSCALE    | ACC0 校准ZZ系数                      | FLOAT  | 范围-10~10                                                                               |
-| MAG0_XOFF       | MAG0 X轴零位偏移                     | FLOAT  | 范围-10~10,单位Gauss                                                                     |
-| MAG0_YOFF       | MAG0 Y轴零位偏移                     | FLOAT  | 范围-10~10,单位Gauss                                                                     |
-| MAG0_ZOFF       | MAG0 Z轴零位偏移                     | FLOAT  | 范围-10~10,单位Gauss                                                                     |
-| MAG0_XXSCALE    | MAG0 校准XX系数                      | FLOAT  | 范围-10~10                                                                               |
-| MAG0_YYSCALE    | MAG0 校准YY系数                      | FLOAT  | 范围-10~10                                                                               |
-| MAG0_ZZSCALE    | MAG0 校准ZZ系数                      | FLOAT  | 范围-10~10                                                                               |
-| GYRO1_XOFF      | GYRO1 X轴零位偏移                    | FLOAT  | 范围-10~10, 单位 rad/s                                                                   |
-| GYRO1_YOFF      | GYRO1 Y轴零位偏移                    | FLOAT  | 范围-10~10, 单位 rad/s                                                                   |
-| GYRO1_ZOFF      | GYRO1 Z轴零位偏移                    | FLOAT  | 范围-10~10, 单位 rad/s                                                                   |
-| ACC1_XOFF       | ACC1 X轴零位偏移                     | FLOAT  | 范围-10~10, 单位m/s^2                                                                    |
-| ACC1_YOFF       | ACC1 Y轴零位偏移                     | FLOAT  | 范围-10~10, 单位m/s^2                                                                    |
-| ACC1_ZOFF       | ACC1 Z轴零位偏移                     | FLOAT  | 范围-10~10, 单位m/s^2                                                                    |
-| ACC1_XXSCALE    | ACC1 校准XX系数                      | FLOAT  | 范围-10~10                                                                               |
-| ACC1_YYSCALE    | ACC1 校准YY系数                      | FLOAT  | 范围-10~10                                                                               |
-| ACC1_ZZSCALE    | ACC1 校准ZZ系数                      | FLOAT  | 范围-10~10                                                                               |
-| MAG1_XOFF       | MAG1 X轴零位偏移                     | FLOAT  | 范围-10~10,单位Gauss                                                                     |
-| MAG1_YOFF       | MAG1 Y轴零位偏移                     | FLOAT  | 范围-10~10,单位Gauss                                                                     |
-| MAG1_ZOFF       | MAG1 Z轴零位偏移                     | FLOAT  | 范围-10~10,单位Gauss                                                                     |
-| MAG1_XXSCALE    | MAG1 校准XX系数                      | FLOAT  | 范围-10~10                                                                               |
-| MAG1_YYSCALE    | MAG1 校准YY系数                      | FLOAT  | 范围-10~10                                                                               |
-| MAG1_ZZSCALE    | MAG1 校准ZZ系数                      | FLOAT  | 范围-10~10                                                                               |
-| IMU_ATT_ROFF0   | IMU水平ROLL偏移                      | FLOAT  | 范围-180~180, 单位 deg <br>飞控通过水平校准自动捕获                                      |
-| IMU_ATT_POFF0   | IMU水平PITCH偏移                     | FLOAT  | 范围-180~180, 单位 deg <br>飞控通过水平校准自动捕获                                      |
-| IMU_ATT_YOFF0   | IMU水平YAW偏移                       | FLOAT  | 范围-180~180, 单位 deg <br>可用于设置飞控IMU安装朝向 <br>安装方向前0, 右90, 左-90, 后180 |
-| ASPD0_OFFSET1   | 空速计零偏                           | FLOAT  | 范围 -5000~5000, 单位Pa                                                                  |
-| IMU_GFLT_TYPE   | 角速度滤波类型                       | UINT8  | 范围0~5, 0-VVH 1-VH 2-H 3-M 4-L 5-VL                                                     |
-| IMU_AFLT_TYPE   | 加速度滤波类型                       | UINT8  | 范围0~5, 0-VVH 1-VH 2-H 3-M 4-L 5-VL                                                     |
-| IMU_PXOFF       | 飞控IMU X安装距离偏差                | INT32  | 范围-1000~1000, 单位cm <br>IMU安装离飞机中心X轴向偏差距离                                |
-| IMU_PYOFF       | 飞控IMU Y安装距离偏差                | INT32  | 范围-1000~1000, 单位cm <br>IMU安装离飞机中心Y轴向偏差距离                                |
-| IMU_PZOFF       | 飞控IMU Z安装距离偏差                | INT32  | 范围-1000~1000, 单位cm <br>IMU安装离飞机中心Z轴向偏差距离                                |
-| GPS_ANT_XOFF    | 普通GPS天线X安装距离偏差             | INT32  | 范围-1000~1000, 单位cm <br>天线安装离飞机中心X轴向偏差距离                               |
-| GPS_ANT_YOFF    | 普通GPS天线Y安装距离偏差             | INT32  | 范围-1000~1000, 单位cm <br>天线安装离飞机中心Y轴向偏差距离                               |
-| GPS_ANT_ZOFF    | 普通GPS天线Z安装距离偏差             | INT32  | 范围-1000~1000, 单位cm <br>天线安装离飞机中心Z轴向偏差距离                               |
-| RTK_ANT_XOFF    | RTK定位天线X安装距离偏差             | INT32  | 范围-1000~1000, 单位cm <br>天线安装离飞机中心X轴向偏差距离                               |
-| RTK_ANT_YOFF    | RTK定位天线Y安装距离偏差             | INT32  | 范围-1000~1000, 单位cm <br>天线安装离飞机中心Y轴向偏差距离                               |
-| RTK_ANT_ZOFF    | RTK定位天线Z安装距离偏差             | INT32  | 范围-1000~1000, 单位cm <br>天线安装离飞机中心Z轴向偏差距离                               |
-| RTK_H_COMP      | RTK测向先天安装角度偏差              | FLOAT  | 范围-180~180, 单位deg <br>常用前后安装 0deg, 左右安装 90deg                              |
-| BAT_V_DIV0      | 电压通道0校准比例系数                | FLOAT  | 范围0~1000, 通道0为飞控供电电压                                                          |
-| BAT_V_DIV1      | 电压通道1校准比例系数                | FLOAT  | 范围0~1000, 通道0为飞控供电电压                                                          |
-| BAT_V_DIV2      | 电压通道2校准比例系数                | FLOAT  | 范围0~1000, 通道0为飞控供电电压                                                          |
-| BAT_V_DIV3      | 电压通道3校准比例系数                | FLOAT  | 范围0~1000, 通道0为飞控供电电压                                                          |
-| BAT_V_OFF0      | 电压通道0校准偏移                    | FLOAT  | 范围-100~100, 单位V                                                                      |
-| BAT_V_OFF1      | 电压通道1校准偏移                    | FLOAT  | 范围-100~100, 单位V                                                                      |
-| BAT_V_OFF2      | 电压通道2校准偏移                    | FLOAT  | 范围-100~100, 单位V                                                                      |
-| BAT_V_OFF3      | 电压通道3校准偏移                    | FLOAT  | 范围-100~100, 单位V                                                                      |
-| GIMB_RTM_RCCH   | 载荷回中-遥控器通道映射              | UINT32 | 范围 0~18, 0-表示不启用                                                                  |
-| GIMB_MROI_RCCH  | 载荷ROI-遥控器通道映射               | UINT32 | 范围 0~18, 0-表示不启用                                                                  |
-| GIMB_FOLL_RCCH  | 载荷跟随\锁定模式切换-遥控器通道映射 | UINT32 | 范围 0~18, 0-表示不启用                                                                  |
-| GIMB_ZOOM_RCCH  | 载荷画面缩放-遥控器通道映射          | UINT32 | 范围 0~18, 0-表示不启用                                                                  |
-| GIMB_PHO_RCCH   | 载荷拍照-遥控器通道映射              | UINT32 | 范围 0~18, 0-表示不启用                                                                  |
-| GIMB_REC_RCCH   | 载荷录像-遥控器通道映射              | UINT32 | 范围 0~18, 0-表示不启用                                                                  |
-| GIMB_SSW_RCCH   | 载荷画面切换-遥控器通道映射          | UINT32 | 范围 0~18, 0-表示不启用                                                                  |
-| THROW_INSUR     | 手动抛投保险开关-遥控器通道映射      | UINT16 | 范围 0~18, 0-表示不启用                                                                  |
-| THROW_RCCH1     | 抛投1-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                  |
-| THROW_RCCH2     | 抛投2-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                  |
-| THROW_RCCH3     | 抛投3-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                  |
-| THROW_RCCH4     | 抛投4-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                  |
-| THROW_RCCH5     | 抛投5-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                  |
-| THROW_RCCH6     | 抛投6-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                  |
-| THROW_RCCH7     | 抛投7-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                  |
-| THROW_RCCH8     | 抛投8-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                  |
-| THROW_RCCH9     | 抛投9-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                  |
-| THROW_RCCH10    | 抛投10-遥控器通道映射                | UINT16 | 范围 0~18, 0-表示不启用                                                                  |
-| THROW_CH1       | 抛投1-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                  |
-| THROW_CH2       | 抛投2-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                  |
-| THROW_CH3       | 抛投3-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                  |
-| THROW_CH4       | 抛投4-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                  |
-| THROW_CH5       | 抛投5-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                  |
-| THROW_CH6       | 抛投6-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                  |
-| THROW_CH7       | 抛投7-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                  |
-| THROW_CH8       | 抛投8-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                  |
-| THROW_CH9       | 抛投9-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                  |
-| THROW_CH10      | 抛投10-PWM输出通道映射               | UINT16 | 范围 0~16, 0-表示不启用                                                                  |
-| THROW_CH1_ON    | 抛投1-打开PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH2_ON    | 抛投2-打开PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH3_ON    | 抛投3-打开PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH4_ON    | 抛投4-打开PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH5_ON    | 抛投5-打开PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH6_ON    | 抛投6-打开PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH7_ON    | 抛投7-打开PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH8_ON    | 抛投8-打开PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH9_ON    | 抛投9-打开PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH10_ON   | 抛投10-打开PWM值                     | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH1_OFF   | 抛投1-关闭PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH2_OFF   | 抛投2-关闭PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH3_OFF   | 抛投3-关闭PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH4_OFF   | 抛投4-关闭PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH5_OFF   | 抛投5-关闭PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH6_OFF   | 抛投6-关闭PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH7_OFF   | 抛投7-关闭PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH8_OFF   | 抛投8-关闭PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH9_OFF   | 抛投9-关闭PWM值                      | UINT16 | 范围 0~2500                                                                              |
-| THROW_CH10_OFF  | 抛投10-关闭PWM值                     | UINT16 | 范围 0~2500                                                                              |
-| THROW_DC_CH1    | 直通舵机1-飞控通道映射               | UINT16 | 范围 0~18,0表示不启用                                                                    |
-| THROW_DC_CH2    | 直通舵机2-飞控通道映射               | UINT16 | 范围 0~18,0表示不启用                                                                    |
-| THROW_DC_CH3    | 直通舵机3-飞控通道映射               | UINT16 | 范围 0~18,0表示不启用                                                                    |
-| THROW_DC_CH4    | 直通舵机4-飞控通道映射               | UINT16 | 范围 0~18,0表示不启用                                                                    |
-| THROW_DC_RCCH1  | 直通舵机1-遥控器通道映射             | UINT16 | 范围 0~18,0表示不启用                                                                    |
-| THROW_DC_RCCH2  | 直通舵机2-遥控器通道映射             | UINT16 | 范围 0~18,0表示不启用                                                                    |
-| THROW_DC_RCCH3  | 直通舵机3-遥控器通道映射             | UINT16 | 范围 0~18,0表示不启用                                                                    |
-| THROW_DC_RCCH4  | 直通舵机4-遥控器通道映射             | UINT16 | 范围 0~18,0表示不启用                                                                    |
-| PARACHUTE_RCCH  | 降落伞-遥控器通道映射                | UINT16 | 范围 0~18, 0-表示不启用                                                                  |
-| PARACHUTE_CH    | 降落伞-PWM输出通道映射               | UINT16 | 范围 7~16, 0-表示不启用                                                                  |
-| PARACHUTE_ON    | 降落伞-打开PWM值                     | UINT16 | 范围 0~2500                                                                              |
-| PARACHUTE_OFF   | 降落伞-关闭PWM值                     | UINT16 | 范围 0~2500                                                                              |
-| COM_SBUSO_AF    | SBUS.O复用                           | UINT8  | 0-透传SBUS.I 1-复用为抛投信号                                                            |
-| LADRC_EN        | LADRC控制开关                        | UINT8  | 0-不启用 1-启用, 默认不启用                                                              |
-| LADRC_R_B0      | LADRC横滚感度                        | float  | 100~1000, 默认300                                                                        |
-| LADRC_P_B0      | LADRC俯仰感度                        | float  | 100~1000, 默认300                                                                        |
-| LADRC_Y_B0      | LADRC航向感度                        | float  | 100~1000, 默认600                                                                        |
-| WIND_COMP_KP    | 抗风补偿                             | float  | 0~1, 默认0                                                                               |
-| PL_WEI_MAX      | 称重超重门限                         | float  | 单位kg, 范围 0~1000kg, 0表示不启用                                                       |
-| NAV_DFLT_SATID  | 默认定位卫导模块                     | UINT16 | 0 RTK, 1 GPS, 2 外接备份/抗干扰模块                                                      |
-| MAV_GCS_STA     | 主链路初始默认状态                   | uint32 | 0 自动发送周期消息, 1 静默                                                               |
-| MAV_OBV_STA     | 备份链路初默认始状态                 | uint32 | 0 自动发送周期消息, 1 静默                                                               |
-| FORM_CUS_X      | 自定义队形左右位置                   | float  | m, 右为正                                                                                |
-| FORM_CUS_Y      | 自定义队形前后位置                   | float  | m, 前为正                                                                                |
-| FORM_CUS_Z      | 自定义队形上下位置                   | float  | m, 上为正                                                                                |
-| RC_AUTO_AID     | 遥控器自动辅助开关                   | UINT32 | 每bit代表一个通道, 1 启用, bit0遥控器高度辅助开关                                        |
-| GIMB_PROT_TYPE  | 载荷串口设备                         | UINT32 | 参考[载荷串口设备](#9-载荷串口设备)                                                      |
-| PREFLY_CHECK    | 预飞检查等级                         | UINT32 | 0默认, 1调试. 调试级手动飞行解锁不检查姿态和部分传感器状态                               |
+| 参数名          | 参数                                 | 类型   | 说明                                                                                               |
+| --------------- | ------------------------------------ | ------ | -------------------------------------------------------------------------------------------------- |
+| MAV_SYS_ID      | 系统ID                               | UINT8  | 范围1~255, 作为MAVLINK通信使用的 SYSTEM ID                                                         |
+| MAV_COMP_ID     | 组件ID                               | UINT8  | 范围1~255, 作为MAVLINK通信使用的COMPONENT ID                                                       |
+| MLOG_MODE       | 数据记录模式                         | UINT32 | 范围0~3 <br>0-不记录 <br>1-解锁到上锁 <br>2-上电到落锁 3-上电到下电                                |
+| BOOT_MODE       | 系统启动模式                         | UINT8  | 范围0~1, 0正常启动, 1U盘模式(用于导入导出数据文件)                                                 |
+| HW_SN_NUM       | 硬件SN号                             | UINT32 | 范围0~UINT32_MAX                                                                                   |
+| AIRFRAME        | 飞机布局类型                         | UINT16 | 范围0~UINT16_MAX, 区分不同的飞机布局类型, 参考 enum AP_TYPE                                        |
+| GCS_DISCONT_DT  | 地面站失联时间                       | UINT16 | 范围0~UINT16_MAX, 单位s. 持续未收到地面站心跳的时间, 0-表示不检测地面站失联                        |
+| RCFAIL_LOT_T    | RC失控悬停时间                       | UINT16 | 范围0~UINT16_MAX, 单位s. 遥控器失控后悬停等待时间                                                  |
+| RC_ATT_EN       | 遥控器姿态模式启用                   | UINT16 | 范围0~1, 0不启用, 1启用                                                                            |
+| VOLT1_LOW_VAL   | 一级电压低阈值                       | FLOAT  | 范围0~1000, 单位V                                                                                  |
+| VOLT2_LOW_VAL   | 二级电压低阈值                       | FLOAT  | 范围0~1000, 单位V                                                                                  |
+| VCAP1_LOW_VAL   | 一级电量低阈值                       | UINT8  | 范围0~100, 单位1%, 当具有多个智能电池时, 飞控按他们中最低电量进行触发保护判定                      |
+| VCAP2_LOW_VAL   | 二级电量低阈值                       | UINT8  | 范围0~100, 单位1%                                                                                  |
+| H2P_LOW1_VAL    | 一级氢气压低阈值                     | FLOAT  | 范围0~10000, 单位MPa                                                                               |
+| H2P_LOW1_VAL    | 二级氢气压低阈值                     | FLOAT  | 范围0~10000, 单位MPa                                                                               |
+| FUEL_LOW1_VAL   | 一级ecu油量低阈值                    | FLOAT  | 范围 1~100, 单位%                                                                                  |
+| FUEL_LOW2_VAL   | 二级ecu油量低阈值                    | FLOAT  | 范围 1~100, 单位%                                                                                  |
+| VOLT_PROT_CH    | 电压保护通道                         | UINT16 | 范围0~10, 触发电压保护的通道, 默认0飞控供电                                                        |
+| OBAVOID_DIST    | 障碍悬停距离                         | FLOAT  | 范围2~8, 单位m                                                                                     |
+| OBAVOID_ACT     | 避障动作                             | UINT8  | 范围0~2,0-不开启 1-悬停 2-爬高                                                                     |
+| GCS_DISC_CRUISE | 航线中是否启用地面站失联             | UINT8  | 范围0~1,0-不启用 1-启用                                                                            |
+| FS_CONF_A       | 失控保护设置                         | UINT32 | 参考enum FS_ACTION. 每4bit为一类保护动作设置                                                       |
+| CIR_RAD_DFLT    | 默认环绕/盘旋半径                    | FLOAT  | 范围1~10000m                                                                                       |
+| TOF_ALT_M       | 默认起飞高度                         | FLOAT  | 范围1~5000, 单位m                                                                                  |
+| RTL_ALT_M       | 默认返航高度                         | FLOAT  | 范围0~5000, 单位m                                                                                  |
+| RTL_HEAD_MODE   | 返航机头对准方式                     | UINT16 | 0-对头返航 1-对尾返航 2-保持当前航向                                                               |
+| WP_FP_ALT_MODE  | 去航线起始点爬高方式                 | UINT8  | 0-直线爬升 1-斜线爬升                                                                              |
+| RTL_EXEC_MODE   | 默认返航执行方式                     | UINT8  | 参考VKFLY_RTL_EXEC_MODE                                                                            |
+| MC_XY_CRUISE    | 默认旋翼巡航速度                     | FLOAT  | 范围2~25, 单位m/s                                                                                  |
+| COM_P1_AF       | 载荷P1串口复用                       | UINT16 | 范围0~UINT16_MAX                                                                                   |
+| ALT_LIM_UP1     | 1级高度限制                          | UINT16 | 范围10~10000, 单位m                                                                                |
+| ALT_LIM_UP2     | 2级高度限制                          | UINT16 | 范围0~10000, 单位m                                                                                 |
+| MAX_HOR_DIST    | 最远水平距离                         | UINT32 | 范围0~UINT32_MAX, 单位m                                                                            |
+| PREC_LAND_ERR   | 精准降落误差范围                     | FLOAT  | 范围0.05~1.0, 单位m                                                                                |
+| VEFOL_FR        | 车辆跟随相对右向位置                 | FLOAT  | 范围-1000~1000,单位m                                                                               |
+| VEFOL_FF        | 车辆跟随相对前向位置                 | FLOAT  | 范围-1000~1000,单位m                                                                               |
+| VEFOL_FU        | 车辆跟随相对上向位置                 | FLOAT  | 范围-1000~1000,单位m                                                                               |
+| VEFOL_FYD       | 车辆跟随相对航向夹角                 | FLOAT  | 范围-180~180,单位deg                                                                               |
+| VEFOL_BASE_YD   | 基站航向安装偏角                     | FLOAT  | 范围-180~180, 单位deg                                                                              |
+| VEFOL_BASE_YD   | 基站航向安装偏角                     | FLOAT  | 范围-180~180, 单位deg                                                                              |
+| PHO_SIG_TYPE    | 拍照信号类型                         | UINT8  | 范围0~2 <br>0-低电平 <br>1-高电平 <br>2-PWM                                                        |
+| PHO_PWM_OFF     | 拍照PWM信号待命值                    | UINT16 | 范围0~10000, 单位us                                                                                |
+| PHO_PWM_ON      | 拍照PWM信号触发值                    | UINT16 | 范围0~10000, 单位us                                                                                |
+| PHO_SIG_TIME    | 拍照触发信号持续时间                 | UINT16 | 范围0~20000, 单位ms                                                                                |
+| PHO_SIG_CH      | 拍照-信号输出通道映射                | UINT8  | 拍照信号映射到飞控的哪个输出接口,0~16, 0-表示不启用映射输出                                        |
+| FOLLOW_DIST     | 默认跟随距离                         | FLOAT  | 范围2~1000,单位m                                                                                   |
+| MAN_VELH_MAX    | 手动模式最大水平速度                 | FLOAT  | 范围2~20,单位m/s                                                                                   |
+| MAN_VELU_MAX    | 手动模式最大爬升速度                 | FLOAT  | 范围1~10,单位m/s                                                                                   |
+| MAN_VELD_MAX    | 手动模式最大下降速度                 | FLOAT  | 范围1~10,单位m/s                                                                                   |
+| AUTO_VELU_MAX   | 自动模式最大爬升速度                 | FLOAT  | 范围0.5~8, 单位m/s                                                                                 |
+| AUTO_VELD_MAX   | 自动模式最大下降速度                 | FLOAT  | 范围0.2~5,单位m/s                                                                                  |
+| AUTO_VELV_LND   | 自动模式降落接地速度                 | FLAOT  | 范围0.2~0.6, 单位m/s                                                                               |
+| TILT_ANG_MAX    | 最大倾斜角度                         | FLOAT  | 范围10~45,单位deg                                                                                  |
+| YAW_SPD_MAX     | 最大航向角速度                       | FLAOT  | 范围10~120,单位deg/s                                                                               |
+| MC_RP_ANG_KP    | 旋翼横滚俯仰角度比例系数             | UINT16 | 范围200~800                                                                                        |
+| MC_YAW_ANG_KP   | 旋翼航向角度比例系数                 | UINT16 | 范围200~800                                                                                        |
+| MC_RSPD_KP      | 旋翼横滚角速度比例系数               | UINT16 | 范围30~200                                                                                         |
+| MC_RSPD_KI      | 旋翼横滚角速度积分系数               | UINT16 | 范围0~20                                                                                           |
+| MC_RSPD_KD      | 旋翼横滚角速度微分系数               | UINT16 | 范围0~20                                                                                           |
+| MC_PSPD_KP      | 旋翼俯仰角速度比例系数               | UINT16 | 范围30~200                                                                                         |
+| MC_PSPD_KI      | 旋翼俯仰角速度积分系数               | UINT16 | 范围0~20                                                                                           |
+| MC_PSPD_KD      | 旋翼俯仰角速度微分系数               | UINT16 | 范围0~20                                                                                           |
+| MC_YSPD_KP      | 旋翼航向角速度比例系数               | UINT16 | 范围50~400                                                                                         |
+| MC_YSPD_KI      | 旋翼航向角速度积分系数               | UINT16 | 范围0~20                                                                                           |
+| MC_YSPD_KD      | 旋翼航向角速度微分系数               | UINT16 | 范围0~20                                                                                           |
+| MC_PXY_KP       | 旋翼水平位置比例系数                 | UINT16 | 范围20~150                                                                                         |
+| MC_VXY_KP       | 旋翼水平速度比例系数                 | UINT16 | 范围80~200                                                                                         |
+| MC_VXY_KI       | 旋翼水平速度积分系数                 | UINT16 | 范围0~20                                                                                           |
+| MC_VXY_KD       | 旋翼水平速度微分系数                 | UINT16 | 范围0~20                                                                                           |
+| MC_PZ_KP        | 旋翼高度位置比例系数                 | UINT16 | 范围20~150                                                                                         |
+| MC_VZ_KP        | 旋翼垂直速度比例系数                 | UINT16 | 范围300~500                                                                                        |
+| MC_AZ_KP        | 旋翼垂直加速度比例系数               | UINT16 | 范围5~20                                                                                           |
+| MC_AZ_KI        | 旋翼垂直加速度积分系数               | UINT16 | 范围5~20                                                                                           |
+| MC_JERKXY_MAX   | 旋翼水平最大加加速度                 | FLOAT  | 范围8~20,单位m/s                                                                                   |
+| MC_HOV_THR      | 旋翼悬停油门                         | FLOAT  | 范围0.3~0.7(暂未使用)                                                                              |
+| MC_MIN_THR      | 旋翼怠速油门                         | FLOAT  | 范围0.05~0.25                                                                                      |
+| MC_UL_THR_BAL   | 旋翼共轴负载均衡                     | INT8   | -10~10,单位%, 调配指定共轴型旋翼上下层动力负载分配, 负值代表下层桨叶负载少, 正值代表下层桨叶负载多 |
+| GYRO0_XOFF      | GYRO0 X轴零位偏移                    | FLOAT  | 范围-10~10, 单位 rad/s                                                                             |
+| GYRO0_YOFF      | GYRO0 Y轴零位偏移                    | FLOAT  | 范围-10~10, 单位 rad/s                                                                             |
+| GYRO0_ZOFF      | GYRO0 Z轴零位偏移                    | FLOAT  | 范围-10~10, 单位 rad/s                                                                             |
+| ACC0_XOFF       | ACC0 X轴零位偏移                     | FLOAT  | 范围-10~10, 单位m/s^2                                                                              |
+| ACC0_YOFF       | ACC0 Y轴零位偏移                     | FLOAT  | 范围-10~10, 单位m/s^2                                                                              |
+| ACC0_ZOFF       | ACC0 Z轴零位偏移                     | FLOAT  | 范围-10~10, 单位m/s^2                                                                              |
+| ACC0_XXSCALE    | ACC0 校准XX系数                      | FLOAT  | 范围-10~10                                                                                         |
+| ACC0_YYSCALE    | ACC0 校准YY系数                      | FLOAT  | 范围-10~10                                                                                         |
+| ACC0_ZZSCALE    | ACC0 校准ZZ系数                      | FLOAT  | 范围-10~10                                                                                         |
+| MAG0_XOFF       | MAG0 X轴零位偏移                     | FLOAT  | 范围-10~10,单位Gauss                                                                               |
+| MAG0_YOFF       | MAG0 Y轴零位偏移                     | FLOAT  | 范围-10~10,单位Gauss                                                                               |
+| MAG0_ZOFF       | MAG0 Z轴零位偏移                     | FLOAT  | 范围-10~10,单位Gauss                                                                               |
+| MAG0_XXSCALE    | MAG0 校准XX系数                      | FLOAT  | 范围-10~10                                                                                         |
+| MAG0_YYSCALE    | MAG0 校准YY系数                      | FLOAT  | 范围-10~10                                                                                         |
+| MAG0_ZZSCALE    | MAG0 校准ZZ系数                      | FLOAT  | 范围-10~10                                                                                         |
+| GYRO1_XOFF      | GYRO1 X轴零位偏移                    | FLOAT  | 范围-10~10, 单位 rad/s                                                                             |
+| GYRO1_YOFF      | GYRO1 Y轴零位偏移                    | FLOAT  | 范围-10~10, 单位 rad/s                                                                             |
+| GYRO1_ZOFF      | GYRO1 Z轴零位偏移                    | FLOAT  | 范围-10~10, 单位 rad/s                                                                             |
+| ACC1_XOFF       | ACC1 X轴零位偏移                     | FLOAT  | 范围-10~10, 单位m/s^2                                                                              |
+| ACC1_YOFF       | ACC1 Y轴零位偏移                     | FLOAT  | 范围-10~10, 单位m/s^2                                                                              |
+| ACC1_ZOFF       | ACC1 Z轴零位偏移                     | FLOAT  | 范围-10~10, 单位m/s^2                                                                              |
+| ACC1_XXSCALE    | ACC1 校准XX系数                      | FLOAT  | 范围-10~10                                                                                         |
+| ACC1_YYSCALE    | ACC1 校准YY系数                      | FLOAT  | 范围-10~10                                                                                         |
+| ACC1_ZZSCALE    | ACC1 校准ZZ系数                      | FLOAT  | 范围-10~10                                                                                         |
+| MAG1_XOFF       | MAG1 X轴零位偏移                     | FLOAT  | 范围-10~10,单位Gauss                                                                               |
+| MAG1_YOFF       | MAG1 Y轴零位偏移                     | FLOAT  | 范围-10~10,单位Gauss                                                                               |
+| MAG1_ZOFF       | MAG1 Z轴零位偏移                     | FLOAT  | 范围-10~10,单位Gauss                                                                               |
+| MAG1_XXSCALE    | MAG1 校准XX系数                      | FLOAT  | 范围-10~10                                                                                         |
+| MAG1_YYSCALE    | MAG1 校准YY系数                      | FLOAT  | 范围-10~10                                                                                         |
+| MAG1_ZZSCALE    | MAG1 校准ZZ系数                      | FLOAT  | 范围-10~10                                                                                         |
+| IMU_ATT_ROFF0   | IMU水平ROLL偏移                      | FLOAT  | 范围-180~180, 单位 deg <br>飞控通过水平校准自动捕获                                                |
+| IMU_ATT_POFF0   | IMU水平PITCH偏移                     | FLOAT  | 范围-180~180, 单位 deg <br>飞控通过水平校准自动捕获                                                |
+| IMU_ATT_YOFF0   | IMU水平YAW偏移                       | FLOAT  | 范围-180~180, 单位 deg <br>可用于设置飞控IMU安装朝向 <br>安装方向前0, 右90, 左-90, 后180           |
+| ASPD0_OFFSET1   | 空速计零偏                           | FLOAT  | 范围 -5000~5000, 单位Pa                                                                            |
+| IMU_GFLT_TYPE   | 角速度滤波类型                       | UINT8  | 范围0~5, 0-VVH 1-VH 2-H 3-M 4-L 5-VL                                                               |
+| IMU_AFLT_TYPE   | 加速度滤波类型                       | UINT8  | 范围0~5, 0-VVH 1-VH 2-H 3-M 4-L 5-VL                                                               |
+| IMU_PXOFF       | 飞控IMU X安装距离偏差                | INT32  | 范围-1000~1000, 单位cm <br>IMU安装离飞机中心X轴向偏差距离                                          |
+| IMU_PYOFF       | 飞控IMU Y安装距离偏差                | INT32  | 范围-1000~1000, 单位cm <br>IMU安装离飞机中心Y轴向偏差距离                                          |
+| IMU_PZOFF       | 飞控IMU Z安装距离偏差                | INT32  | 范围-1000~1000, 单位cm <br>IMU安装离飞机中心Z轴向偏差距离                                          |
+| GPS_ANT_XOFF    | 普通GPS天线X安装距离偏差             | INT32  | 范围-1000~1000, 单位cm <br>天线安装离飞机中心X轴向偏差距离                                         |
+| GPS_ANT_YOFF    | 普通GPS天线Y安装距离偏差             | INT32  | 范围-1000~1000, 单位cm <br>天线安装离飞机中心Y轴向偏差距离                                         |
+| GPS_ANT_ZOFF    | 普通GPS天线Z安装距离偏差             | INT32  | 范围-1000~1000, 单位cm <br>天线安装离飞机中心Z轴向偏差距离                                         |
+| RTK_ANT_XOFF    | RTK定位天线X安装距离偏差             | INT32  | 范围-1000~1000, 单位cm <br>天线安装离飞机中心X轴向偏差距离                                         |
+| RTK_ANT_YOFF    | RTK定位天线Y安装距离偏差             | INT32  | 范围-1000~1000, 单位cm <br>天线安装离飞机中心Y轴向偏差距离                                         |
+| RTK_ANT_ZOFF    | RTK定位天线Z安装距离偏差             | INT32  | 范围-1000~1000, 单位cm <br>天线安装离飞机中心Z轴向偏差距离                                         |
+| RTK_H_COMP      | RTK测向先天安装角度偏差              | FLOAT  | 范围-180~180, 单位deg <br>常用前后安装 0deg, 左右安装 90deg                                        |
+| BAT_V_DIV0      | 电压通道0校准比例系数                | FLOAT  | 范围0~1000, 通道0为飞控供电电压                                                                    |
+| BAT_V_DIV1      | 电压通道1校准比例系数                | FLOAT  | 范围0~1000, 通道0为飞控供电电压                                                                    |
+| BAT_V_DIV2      | 电压通道2校准比例系数                | FLOAT  | 范围0~1000, 通道0为飞控供电电压                                                                    |
+| BAT_V_DIV3      | 电压通道3校准比例系数                | FLOAT  | 范围0~1000, 通道0为飞控供电电压                                                                    |
+| BAT_V_OFF0      | 电压通道0校准偏移                    | FLOAT  | 范围-100~100, 单位V                                                                                |
+| BAT_V_OFF1      | 电压通道1校准偏移                    | FLOAT  | 范围-100~100, 单位V                                                                                |
+| BAT_V_OFF2      | 电压通道2校准偏移                    | FLOAT  | 范围-100~100, 单位V                                                                                |
+| BAT_V_OFF3      | 电压通道3校准偏移                    | FLOAT  | 范围-100~100, 单位V                                                                                |
+| GIMB_RTM_RCCH   | 载荷回中-遥控器通道映射              | UINT32 | 范围 0~18, 0-表示不启用                                                                            |
+| GIMB_MROI_RCCH  | 载荷ROI-遥控器通道映射               | UINT32 | 范围 0~18, 0-表示不启用                                                                            |
+| GIMB_FOLL_RCCH  | 载荷跟随\锁定模式切换-遥控器通道映射 | UINT32 | 范围 0~18, 0-表示不启用                                                                            |
+| GIMB_ZOOM_RCCH  | 载荷画面缩放-遥控器通道映射          | UINT32 | 范围 0~18, 0-表示不启用                                                                            |
+| GIMB_PHO_RCCH   | 载荷拍照-遥控器通道映射              | UINT32 | 范围 0~18, 0-表示不启用                                                                            |
+| GIMB_REC_RCCH   | 载荷录像-遥控器通道映射              | UINT32 | 范围 0~18, 0-表示不启用                                                                            |
+| GIMB_SSW_RCCH   | 载荷画面切换-遥控器通道映射          | UINT32 | 范围 0~18, 0-表示不启用                                                                            |
+| THROW_INSUR     | 手动抛投保险开关-遥控器通道映射      | UINT16 | 范围 0~18, 0-表示不启用                                                                            |
+| THROW_RCCH1     | 抛投1-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                            |
+| THROW_RCCH2     | 抛投2-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                            |
+| THROW_RCCH3     | 抛投3-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                            |
+| THROW_RCCH4     | 抛投4-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                            |
+| THROW_RCCH5     | 抛投5-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                            |
+| THROW_RCCH6     | 抛投6-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                            |
+| THROW_RCCH7     | 抛投7-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                            |
+| THROW_RCCH8     | 抛投8-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                            |
+| THROW_RCCH9     | 抛投9-遥控器通道映射                 | UINT16 | 范围 0~18, 0-表示不启用                                                                            |
+| THROW_RCCH10    | 抛投10-遥控器通道映射                | UINT16 | 范围 0~18, 0-表示不启用                                                                            |
+| THROW_CH1       | 抛投1-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                            |
+| THROW_CH2       | 抛投2-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                            |
+| THROW_CH3       | 抛投3-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                            |
+| THROW_CH4       | 抛投4-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                            |
+| THROW_CH5       | 抛投5-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                            |
+| THROW_CH6       | 抛投6-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                            |
+| THROW_CH7       | 抛投7-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                            |
+| THROW_CH8       | 抛投8-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                            |
+| THROW_CH9       | 抛投9-PWM输出通道映射                | UINT16 | 范围 0~16, 0-表示不启用                                                                            |
+| THROW_CH10      | 抛投10-PWM输出通道映射               | UINT16 | 范围 0~16, 0-表示不启用                                                                            |
+| THROW_CH1_ON    | 抛投1-打开PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH2_ON    | 抛投2-打开PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH3_ON    | 抛投3-打开PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH4_ON    | 抛投4-打开PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH5_ON    | 抛投5-打开PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH6_ON    | 抛投6-打开PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH7_ON    | 抛投7-打开PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH8_ON    | 抛投8-打开PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH9_ON    | 抛投9-打开PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH10_ON   | 抛投10-打开PWM值                     | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH1_OFF   | 抛投1-关闭PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH2_OFF   | 抛投2-关闭PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH3_OFF   | 抛投3-关闭PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH4_OFF   | 抛投4-关闭PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH5_OFF   | 抛投5-关闭PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH6_OFF   | 抛投6-关闭PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH7_OFF   | 抛投7-关闭PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH8_OFF   | 抛投8-关闭PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH9_OFF   | 抛投9-关闭PWM值                      | UINT16 | 范围 0~2500                                                                                        |
+| THROW_CH10_OFF  | 抛投10-关闭PWM值                     | UINT16 | 范围 0~2500                                                                                        |
+| THROW_DC_CH1    | 直通舵机1-飞控通道映射               | UINT16 | 范围 0~18,0表示不启用                                                                              |
+| THROW_DC_CH2    | 直通舵机2-飞控通道映射               | UINT16 | 范围 0~18,0表示不启用                                                                              |
+| THROW_DC_CH3    | 直通舵机3-飞控通道映射               | UINT16 | 范围 0~18,0表示不启用                                                                              |
+| THROW_DC_CH4    | 直通舵机4-飞控通道映射               | UINT16 | 范围 0~18,0表示不启用                                                                              |
+| THROW_DC_RCCH1  | 直通舵机1-遥控器通道映射             | UINT16 | 范围 0~18,0表示不启用                                                                              |
+| THROW_DC_RCCH2  | 直通舵机2-遥控器通道映射             | UINT16 | 范围 0~18,0表示不启用                                                                              |
+| THROW_DC_RCCH3  | 直通舵机3-遥控器通道映射             | UINT16 | 范围 0~18,0表示不启用                                                                              |
+| THROW_DC_RCCH4  | 直通舵机4-遥控器通道映射             | UINT16 | 范围 0~18,0表示不启用                                                                              |
+| PARACHUTE_RCCH  | 降落伞-遥控器通道映射                | UINT16 | 范围 0~18, 0-表示不启用                                                                            |
+| PARACHUTE_CH    | 降落伞-PWM输出通道映射               | UINT16 | 范围 7~16, 0-表示不启用                                                                            |
+| PARACHUTE_ON    | 降落伞-打开PWM值                     | UINT16 | 范围 0~2500                                                                                        |
+| PARACHUTE_OFF   | 降落伞-关闭PWM值                     | UINT16 | 范围 0~2500                                                                                        |
+| COM_SBUSO_AF    | SBUS.O复用                           | UINT8  | 0-透传SBUS.I 1-复用为抛投信号                                                                      |
+| LADRC_EN        | LADRC控制开关                        | UINT8  | 0-不启用 1-启用, 默认不启用                                                                        |
+| LADRC_R_B0      | LADRC横滚感度                        | float  | 100~1000, 默认300                                                                                  |
+| LADRC_P_B0      | LADRC俯仰感度                        | float  | 100~1000, 默认300                                                                                  |
+| LADRC_Y_B0      | LADRC航向感度                        | float  | 100~1000, 默认600                                                                                  |
+| WIND_COMP_KP    | 抗风补偿                             | float  | 0~1, 默认0                                                                                         |
+| PL_WEI_MAX      | 称重超重门限                         | float  | 单位kg, 范围 0~1000kg, 0表示不启用                                                                 |
+| NAV_DFLT_SATID  | 默认定位卫导模块                     | UINT16 | 0 RTK, 1 GPS, 2 外接备份/抗干扰模块                                                                |
+| MAV_GCS_STA     | 主链路初始默认状态                   | uint32 | 0 自动发送周期消息, 1 静默                                                                         |
+| MAV_OBV_STA     | 备份链路初默认始状态                 | uint32 | 0 自动发送周期消息, 1 静默                                                                         |
+| FORM_CUS_X      | 自定义队形左右位置                   | float  | m, 右为正                                                                                          |
+| FORM_CUS_Y      | 自定义队形前后位置                   | float  | m, 前为正                                                                                          |
+| FORM_CUS_Z      | 自定义队形上下位置                   | float  | m, 上为正                                                                                          |
+| RC_AUTO_AID     | 遥控器自动辅助开关                   | UINT32 | 每bit代表一个通道, 1 启用, bit0遥控器高度辅助开关                                                  |
+| GIMB_PROT_TYPE  | 载荷串口设备                         | UINT32 | 参考[载荷串口设备](#9-载荷串口设备)                                                                |
+| PREFLY_CHECK    | 预飞检查等级                         | UINT32 | 0默认, 1调试. 调试级手动飞行解锁不检查姿态和部分传感器状态                                         |
 
 | id  | 设备     |
 | --- | -------- |

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 1 - 1
v2.0/VKFly/VKFly.h


+ 1 - 1
v2.0/VKFly/mavlink.h

@@ -6,7 +6,7 @@
 #ifndef MAVLINK_H
 #define MAVLINK_H
 
-#define MAVLINK_PRIMARY_XML_HASH 8342406483840289831
+#define MAVLINK_PRIMARY_XML_HASH -885188825176165029
 
 #ifndef MAVLINK_STX
 #define MAVLINK_STX 253

+ 372 - 0
v2.0/VKFly/mavlink_msg_vk_airspeed.h

@@ -0,0 +1,372 @@
+#pragma once
+// MESSAGE VK_AIRSPEED PACKING
+
+#define MAVLINK_MSG_ID_VK_AIRSPEED 53012
+
+
+typedef struct __mavlink_vk_airspeed_t {
+ float airspeed; /*< [m/s] Calibrated airspeed (CAS).*/
+ float raw_press; /*< [hPa] Raw differential pressure.*/
+ int16_t temperature; /*< [cdegC] Temperature.*/
+ uint8_t id; /*<  Sensor ID.*/
+ uint8_t flags; /*<  Airspeed sensor flags.*/
+} mavlink_vk_airspeed_t;
+
+#define MAVLINK_MSG_ID_VK_AIRSPEED_LEN 12
+#define MAVLINK_MSG_ID_VK_AIRSPEED_MIN_LEN 12
+#define MAVLINK_MSG_ID_53012_LEN 12
+#define MAVLINK_MSG_ID_53012_MIN_LEN 12
+
+#define MAVLINK_MSG_ID_VK_AIRSPEED_CRC 97
+#define MAVLINK_MSG_ID_53012_CRC 97
+
+
+
+#if MAVLINK_COMMAND_24BIT
+#define MAVLINK_MESSAGE_INFO_VK_AIRSPEED { \
+    53012, \
+    "VK_AIRSPEED", \
+    5, \
+    {  { "id", NULL, MAVLINK_TYPE_UINT8_T, 0, 10, offsetof(mavlink_vk_airspeed_t, id) }, \
+         { "airspeed", NULL, MAVLINK_TYPE_FLOAT, 0, 0, offsetof(mavlink_vk_airspeed_t, airspeed) }, \
+         { "temperature", NULL, MAVLINK_TYPE_INT16_T, 0, 8, offsetof(mavlink_vk_airspeed_t, temperature) }, \
+         { "raw_press", NULL, MAVLINK_TYPE_FLOAT, 0, 4, offsetof(mavlink_vk_airspeed_t, raw_press) }, \
+         { "flags", NULL, MAVLINK_TYPE_UINT8_T, 0, 11, offsetof(mavlink_vk_airspeed_t, flags) }, \
+         } \
+}
+#else
+#define MAVLINK_MESSAGE_INFO_VK_AIRSPEED { \
+    "VK_AIRSPEED", \
+    5, \
+    {  { "id", NULL, MAVLINK_TYPE_UINT8_T, 0, 10, offsetof(mavlink_vk_airspeed_t, id) }, \
+         { "airspeed", NULL, MAVLINK_TYPE_FLOAT, 0, 0, offsetof(mavlink_vk_airspeed_t, airspeed) }, \
+         { "temperature", NULL, MAVLINK_TYPE_INT16_T, 0, 8, offsetof(mavlink_vk_airspeed_t, temperature) }, \
+         { "raw_press", NULL, MAVLINK_TYPE_FLOAT, 0, 4, offsetof(mavlink_vk_airspeed_t, raw_press) }, \
+         { "flags", NULL, MAVLINK_TYPE_UINT8_T, 0, 11, offsetof(mavlink_vk_airspeed_t, flags) }, \
+         } \
+}
+#endif
+
+/**
+ * @brief Pack a vk_airspeed message
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param msg The MAVLink message to compress the data into
+ *
+ * @param id  Sensor ID.
+ * @param airspeed [m/s] Calibrated airspeed (CAS).
+ * @param temperature [cdegC] Temperature.
+ * @param raw_press [hPa] Raw differential pressure.
+ * @param flags  Airspeed sensor flags.
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vk_airspeed_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
+                               uint8_t id, float airspeed, int16_t temperature, float raw_press, uint8_t flags)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VK_AIRSPEED_LEN];
+    _mav_put_float(buf, 0, airspeed);
+    _mav_put_float(buf, 4, raw_press);
+    _mav_put_int16_t(buf, 8, temperature);
+    _mav_put_uint8_t(buf, 10, id);
+    _mav_put_uint8_t(buf, 11, flags);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_AIRSPEED_LEN);
+#else
+    mavlink_vk_airspeed_t packet;
+    packet.airspeed = airspeed;
+    packet.raw_press = raw_press;
+    packet.temperature = temperature;
+    packet.id = id;
+    packet.flags = flags;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_AIRSPEED_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VK_AIRSPEED;
+    return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_VK_AIRSPEED_MIN_LEN, MAVLINK_MSG_ID_VK_AIRSPEED_LEN, MAVLINK_MSG_ID_VK_AIRSPEED_CRC);
+}
+
+/**
+ * @brief Pack a vk_airspeed message
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param status MAVLink status structure
+ * @param msg The MAVLink message to compress the data into
+ *
+ * @param id  Sensor ID.
+ * @param airspeed [m/s] Calibrated airspeed (CAS).
+ * @param temperature [cdegC] Temperature.
+ * @param raw_press [hPa] Raw differential pressure.
+ * @param flags  Airspeed sensor flags.
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vk_airspeed_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
+                               uint8_t id, float airspeed, int16_t temperature, float raw_press, uint8_t flags)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VK_AIRSPEED_LEN];
+    _mav_put_float(buf, 0, airspeed);
+    _mav_put_float(buf, 4, raw_press);
+    _mav_put_int16_t(buf, 8, temperature);
+    _mav_put_uint8_t(buf, 10, id);
+    _mav_put_uint8_t(buf, 11, flags);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_AIRSPEED_LEN);
+#else
+    mavlink_vk_airspeed_t packet;
+    packet.airspeed = airspeed;
+    packet.raw_press = raw_press;
+    packet.temperature = temperature;
+    packet.id = id;
+    packet.flags = flags;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_AIRSPEED_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VK_AIRSPEED;
+#if MAVLINK_CRC_EXTRA
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VK_AIRSPEED_MIN_LEN, MAVLINK_MSG_ID_VK_AIRSPEED_LEN, MAVLINK_MSG_ID_VK_AIRSPEED_CRC);
+#else
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VK_AIRSPEED_MIN_LEN, MAVLINK_MSG_ID_VK_AIRSPEED_LEN);
+#endif
+}
+
+/**
+ * @brief Pack a vk_airspeed message on a channel
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param chan The MAVLink channel this message will be sent over
+ * @param msg The MAVLink message to compress the data into
+ * @param id  Sensor ID.
+ * @param airspeed [m/s] Calibrated airspeed (CAS).
+ * @param temperature [cdegC] Temperature.
+ * @param raw_press [hPa] Raw differential pressure.
+ * @param flags  Airspeed sensor flags.
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vk_airspeed_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
+                               mavlink_message_t* msg,
+                                   uint8_t id,float airspeed,int16_t temperature,float raw_press,uint8_t flags)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VK_AIRSPEED_LEN];
+    _mav_put_float(buf, 0, airspeed);
+    _mav_put_float(buf, 4, raw_press);
+    _mav_put_int16_t(buf, 8, temperature);
+    _mav_put_uint8_t(buf, 10, id);
+    _mav_put_uint8_t(buf, 11, flags);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_AIRSPEED_LEN);
+#else
+    mavlink_vk_airspeed_t packet;
+    packet.airspeed = airspeed;
+    packet.raw_press = raw_press;
+    packet.temperature = temperature;
+    packet.id = id;
+    packet.flags = flags;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_AIRSPEED_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VK_AIRSPEED;
+    return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_VK_AIRSPEED_MIN_LEN, MAVLINK_MSG_ID_VK_AIRSPEED_LEN, MAVLINK_MSG_ID_VK_AIRSPEED_CRC);
+}
+
+/**
+ * @brief Encode a vk_airspeed struct
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param msg The MAVLink message to compress the data into
+ * @param vk_airspeed C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vk_airspeed_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_vk_airspeed_t* vk_airspeed)
+{
+    return mavlink_msg_vk_airspeed_pack(system_id, component_id, msg, vk_airspeed->id, vk_airspeed->airspeed, vk_airspeed->temperature, vk_airspeed->raw_press, vk_airspeed->flags);
+}
+
+/**
+ * @brief Encode a vk_airspeed struct on a channel
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param chan The MAVLink channel this message will be sent over
+ * @param msg The MAVLink message to compress the data into
+ * @param vk_airspeed C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vk_airspeed_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_vk_airspeed_t* vk_airspeed)
+{
+    return mavlink_msg_vk_airspeed_pack_chan(system_id, component_id, chan, msg, vk_airspeed->id, vk_airspeed->airspeed, vk_airspeed->temperature, vk_airspeed->raw_press, vk_airspeed->flags);
+}
+
+/**
+ * @brief Encode a vk_airspeed struct with provided status structure
+ *
+ * @param system_id ID of this system
+ * @param component_id ID of this component (e.g. 200 for IMU)
+ * @param status MAVLink status structure
+ * @param msg The MAVLink message to compress the data into
+ * @param vk_airspeed C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vk_airspeed_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_vk_airspeed_t* vk_airspeed)
+{
+    return mavlink_msg_vk_airspeed_pack_status(system_id, component_id, _status, msg,  vk_airspeed->id, vk_airspeed->airspeed, vk_airspeed->temperature, vk_airspeed->raw_press, vk_airspeed->flags);
+}
+
+/**
+ * @brief Send a vk_airspeed message
+ * @param chan MAVLink channel to send the message
+ *
+ * @param id  Sensor ID.
+ * @param airspeed [m/s] Calibrated airspeed (CAS).
+ * @param temperature [cdegC] Temperature.
+ * @param raw_press [hPa] Raw differential pressure.
+ * @param flags  Airspeed sensor flags.
+ */
+#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
+
+static inline void mavlink_msg_vk_airspeed_send(mavlink_channel_t chan, uint8_t id, float airspeed, int16_t temperature, float raw_press, uint8_t flags)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VK_AIRSPEED_LEN];
+    _mav_put_float(buf, 0, airspeed);
+    _mav_put_float(buf, 4, raw_press);
+    _mav_put_int16_t(buf, 8, temperature);
+    _mav_put_uint8_t(buf, 10, id);
+    _mav_put_uint8_t(buf, 11, flags);
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_AIRSPEED, buf, MAVLINK_MSG_ID_VK_AIRSPEED_MIN_LEN, MAVLINK_MSG_ID_VK_AIRSPEED_LEN, MAVLINK_MSG_ID_VK_AIRSPEED_CRC);
+#else
+    mavlink_vk_airspeed_t packet;
+    packet.airspeed = airspeed;
+    packet.raw_press = raw_press;
+    packet.temperature = temperature;
+    packet.id = id;
+    packet.flags = flags;
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_AIRSPEED, (const char *)&packet, MAVLINK_MSG_ID_VK_AIRSPEED_MIN_LEN, MAVLINK_MSG_ID_VK_AIRSPEED_LEN, MAVLINK_MSG_ID_VK_AIRSPEED_CRC);
+#endif
+}
+
+/**
+ * @brief Send a vk_airspeed message
+ * @param chan MAVLink channel to send the message
+ * @param struct The MAVLink struct to serialize
+ */
+static inline void mavlink_msg_vk_airspeed_send_struct(mavlink_channel_t chan, const mavlink_vk_airspeed_t* vk_airspeed)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    mavlink_msg_vk_airspeed_send(chan, vk_airspeed->id, vk_airspeed->airspeed, vk_airspeed->temperature, vk_airspeed->raw_press, vk_airspeed->flags);
+#else
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_AIRSPEED, (const char *)vk_airspeed, MAVLINK_MSG_ID_VK_AIRSPEED_MIN_LEN, MAVLINK_MSG_ID_VK_AIRSPEED_LEN, MAVLINK_MSG_ID_VK_AIRSPEED_CRC);
+#endif
+}
+
+#if MAVLINK_MSG_ID_VK_AIRSPEED_LEN <= MAVLINK_MAX_PAYLOAD_LEN
+/*
+  This variant of _send() can be used to save stack space by re-using
+  memory from the receive buffer.  The caller provides a
+  mavlink_message_t which is the size of a full mavlink message. This
+  is usually the receive buffer for the channel, and allows a reply to an
+  incoming message with minimum stack space usage.
+ */
+static inline void mavlink_msg_vk_airspeed_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint8_t id, float airspeed, int16_t temperature, float raw_press, uint8_t flags)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char *buf = (char *)msgbuf;
+    _mav_put_float(buf, 0, airspeed);
+    _mav_put_float(buf, 4, raw_press);
+    _mav_put_int16_t(buf, 8, temperature);
+    _mav_put_uint8_t(buf, 10, id);
+    _mav_put_uint8_t(buf, 11, flags);
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_AIRSPEED, buf, MAVLINK_MSG_ID_VK_AIRSPEED_MIN_LEN, MAVLINK_MSG_ID_VK_AIRSPEED_LEN, MAVLINK_MSG_ID_VK_AIRSPEED_CRC);
+#else
+    mavlink_vk_airspeed_t *packet = (mavlink_vk_airspeed_t *)msgbuf;
+    packet->airspeed = airspeed;
+    packet->raw_press = raw_press;
+    packet->temperature = temperature;
+    packet->id = id;
+    packet->flags = flags;
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_AIRSPEED, (const char *)packet, MAVLINK_MSG_ID_VK_AIRSPEED_MIN_LEN, MAVLINK_MSG_ID_VK_AIRSPEED_LEN, MAVLINK_MSG_ID_VK_AIRSPEED_CRC);
+#endif
+}
+#endif
+
+#endif
+
+// MESSAGE VK_AIRSPEED UNPACKING
+
+
+/**
+ * @brief Get field id from vk_airspeed message
+ *
+ * @return  Sensor ID.
+ */
+static inline uint8_t mavlink_msg_vk_airspeed_get_id(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint8_t(msg,  10);
+}
+
+/**
+ * @brief Get field airspeed from vk_airspeed message
+ *
+ * @return [m/s] Calibrated airspeed (CAS).
+ */
+static inline float mavlink_msg_vk_airspeed_get_airspeed(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_float(msg,  0);
+}
+
+/**
+ * @brief Get field temperature from vk_airspeed message
+ *
+ * @return [cdegC] Temperature.
+ */
+static inline int16_t mavlink_msg_vk_airspeed_get_temperature(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_int16_t(msg,  8);
+}
+
+/**
+ * @brief Get field raw_press from vk_airspeed message
+ *
+ * @return [hPa] Raw differential pressure.
+ */
+static inline float mavlink_msg_vk_airspeed_get_raw_press(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_float(msg,  4);
+}
+
+/**
+ * @brief Get field flags from vk_airspeed message
+ *
+ * @return  Airspeed sensor flags.
+ */
+static inline uint8_t mavlink_msg_vk_airspeed_get_flags(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint8_t(msg,  11);
+}
+
+/**
+ * @brief Decode a vk_airspeed message into a struct
+ *
+ * @param msg The message to decode
+ * @param vk_airspeed C-struct to decode the message contents into
+ */
+static inline void mavlink_msg_vk_airspeed_decode(const mavlink_message_t* msg, mavlink_vk_airspeed_t* vk_airspeed)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    vk_airspeed->airspeed = mavlink_msg_vk_airspeed_get_airspeed(msg);
+    vk_airspeed->raw_press = mavlink_msg_vk_airspeed_get_raw_press(msg);
+    vk_airspeed->temperature = mavlink_msg_vk_airspeed_get_temperature(msg);
+    vk_airspeed->id = mavlink_msg_vk_airspeed_get_id(msg);
+    vk_airspeed->flags = mavlink_msg_vk_airspeed_get_flags(msg);
+#else
+        uint8_t len = msg->len < MAVLINK_MSG_ID_VK_AIRSPEED_LEN? msg->len : MAVLINK_MSG_ID_VK_AIRSPEED_LEN;
+        memset(vk_airspeed, 0, MAVLINK_MSG_ID_VK_AIRSPEED_LEN);
+    memcpy(vk_airspeed, _MAV_PAYLOAD(msg), len);
+#endif
+}

+ 102 - 15
v2.0/VKFly/mavlink_msg_vk_digi_esc_status.h

@@ -3,7 +3,7 @@
 
 #define MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS 53008
 
-
+MAVPACKED(
 typedef struct __mavlink_vk_digi_esc_status_t {
  uint32_t timestamp; /*< [ms] Timestamp from system boot.*/
  int32_t rpm[4]; /*< [rpm] Reported motor RPM from each ESC (negative for
@@ -14,11 +14,14 @@ typedef struct __mavlink_vk_digi_esc_status_t {
  int16_t temperature[4]; /*< [degC] Temperature measured from each ESC.*/
  uint8_t index; /*<  Index of the first ESC in this message.
         minValue = 0, maxValue = 60, increment = 4.*/
-} mavlink_vk_digi_esc_status_t;
+ int16_t motor_temp[4]; /*< [degC] Motro temperature from each ESC.*/
+ int16_t cap_temp[4]; /*< [degC] Capacity temperature from each ESC.*/
+ uint32_t status2[4]; /*<  Status2 data from each ESC.*/
+}) mavlink_vk_digi_esc_status_t;
 
-#define MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN 77
+#define MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN 109
 #define MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN 77
-#define MAVLINK_MSG_ID_53008_LEN 77
+#define MAVLINK_MSG_ID_53008_LEN 109
 #define MAVLINK_MSG_ID_53008_MIN_LEN 77
 
 #define MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_CRC 110
@@ -29,12 +32,15 @@ typedef struct __mavlink_vk_digi_esc_status_t {
 #define MAVLINK_MSG_VK_DIGI_ESC_STATUS_FIELD_CURRENT_LEN 4
 #define MAVLINK_MSG_VK_DIGI_ESC_STATUS_FIELD_STATUS_LEN 4
 #define MAVLINK_MSG_VK_DIGI_ESC_STATUS_FIELD_TEMPERATURE_LEN 4
+#define MAVLINK_MSG_VK_DIGI_ESC_STATUS_FIELD_MOTOR_TEMP_LEN 4
+#define MAVLINK_MSG_VK_DIGI_ESC_STATUS_FIELD_CAP_TEMP_LEN 4
+#define MAVLINK_MSG_VK_DIGI_ESC_STATUS_FIELD_STATUS2_LEN 4
 
 #if MAVLINK_COMMAND_24BIT
 #define MAVLINK_MESSAGE_INFO_VK_DIGI_ESC_STATUS { \
     53008, \
     "VK_DIGI_ESC_STATUS", \
-    7, \
+    10, \
     {  { "index", NULL, MAVLINK_TYPE_UINT8_T, 0, 76, offsetof(mavlink_vk_digi_esc_status_t, index) }, \
          { "timestamp", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vk_digi_esc_status_t, timestamp) }, \
          { "rpm", NULL, MAVLINK_TYPE_INT32_T, 4, 4, offsetof(mavlink_vk_digi_esc_status_t, rpm) }, \
@@ -42,12 +48,15 @@ typedef struct __mavlink_vk_digi_esc_status_t {
          { "current", NULL, MAVLINK_TYPE_FLOAT, 4, 36, offsetof(mavlink_vk_digi_esc_status_t, current) }, \
          { "temperature", NULL, MAVLINK_TYPE_INT16_T, 4, 68, offsetof(mavlink_vk_digi_esc_status_t, temperature) }, \
          { "status", NULL, MAVLINK_TYPE_UINT32_T, 4, 52, offsetof(mavlink_vk_digi_esc_status_t, status) }, \
+         { "motor_temp", NULL, MAVLINK_TYPE_INT16_T, 4, 77, offsetof(mavlink_vk_digi_esc_status_t, motor_temp) }, \
+         { "cap_temp", NULL, MAVLINK_TYPE_INT16_T, 4, 85, offsetof(mavlink_vk_digi_esc_status_t, cap_temp) }, \
+         { "status2", NULL, MAVLINK_TYPE_UINT32_T, 4, 93, offsetof(mavlink_vk_digi_esc_status_t, status2) }, \
          } \
 }
 #else
 #define MAVLINK_MESSAGE_INFO_VK_DIGI_ESC_STATUS { \
     "VK_DIGI_ESC_STATUS", \
-    7, \
+    10, \
     {  { "index", NULL, MAVLINK_TYPE_UINT8_T, 0, 76, offsetof(mavlink_vk_digi_esc_status_t, index) }, \
          { "timestamp", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vk_digi_esc_status_t, timestamp) }, \
          { "rpm", NULL, MAVLINK_TYPE_INT32_T, 4, 4, offsetof(mavlink_vk_digi_esc_status_t, rpm) }, \
@@ -55,6 +64,9 @@ typedef struct __mavlink_vk_digi_esc_status_t {
          { "current", NULL, MAVLINK_TYPE_FLOAT, 4, 36, offsetof(mavlink_vk_digi_esc_status_t, current) }, \
          { "temperature", NULL, MAVLINK_TYPE_INT16_T, 4, 68, offsetof(mavlink_vk_digi_esc_status_t, temperature) }, \
          { "status", NULL, MAVLINK_TYPE_UINT32_T, 4, 52, offsetof(mavlink_vk_digi_esc_status_t, status) }, \
+         { "motor_temp", NULL, MAVLINK_TYPE_INT16_T, 4, 77, offsetof(mavlink_vk_digi_esc_status_t, motor_temp) }, \
+         { "cap_temp", NULL, MAVLINK_TYPE_INT16_T, 4, 85, offsetof(mavlink_vk_digi_esc_status_t, cap_temp) }, \
+         { "status2", NULL, MAVLINK_TYPE_UINT32_T, 4, 93, offsetof(mavlink_vk_digi_esc_status_t, status2) }, \
          } \
 }
 #endif
@@ -74,10 +86,13 @@ typedef struct __mavlink_vk_digi_esc_status_t {
  * @param current [A] Current measured from each ESC.
  * @param temperature [degC] Temperature measured from each ESC.
  * @param status  Status data from each ESC.
+ * @param motor_temp [degC] Motro temperature from each ESC.
+ * @param cap_temp [degC] Capacity temperature from each ESC.
+ * @param status2  Status2 data from each ESC.
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_vk_digi_esc_status_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
-                               uint8_t index, uint32_t timestamp, const int32_t *rpm, const float *voltage, const float *current, const int16_t *temperature, const uint32_t *status)
+                               uint8_t index, uint32_t timestamp, const int32_t *rpm, const float *voltage, const float *current, const int16_t *temperature, const uint32_t *status, const int16_t *motor_temp, const int16_t *cap_temp, const uint32_t *status2)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN];
@@ -88,6 +103,9 @@ static inline uint16_t mavlink_msg_vk_digi_esc_status_pack(uint8_t system_id, ui
     _mav_put_float_array(buf, 36, current, 4);
     _mav_put_uint32_t_array(buf, 52, status, 4);
     _mav_put_int16_t_array(buf, 68, temperature, 4);
+    _mav_put_int16_t_array(buf, 77, motor_temp, 4);
+    _mav_put_int16_t_array(buf, 85, cap_temp, 4);
+    _mav_put_uint32_t_array(buf, 93, status2, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN);
 #else
     mavlink_vk_digi_esc_status_t packet;
@@ -98,6 +116,9 @@ static inline uint16_t mavlink_msg_vk_digi_esc_status_pack(uint8_t system_id, ui
     mav_array_memcpy(packet.current, current, sizeof(float)*4);
     mav_array_memcpy(packet.status, status, sizeof(uint32_t)*4);
     mav_array_memcpy(packet.temperature, temperature, sizeof(int16_t)*4);
+    mav_array_memcpy(packet.motor_temp, motor_temp, sizeof(int16_t)*4);
+    mav_array_memcpy(packet.cap_temp, cap_temp, sizeof(int16_t)*4);
+    mav_array_memcpy(packet.status2, status2, sizeof(uint32_t)*4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN);
 #endif
 
@@ -121,10 +142,13 @@ static inline uint16_t mavlink_msg_vk_digi_esc_status_pack(uint8_t system_id, ui
  * @param current [A] Current measured from each ESC.
  * @param temperature [degC] Temperature measured from each ESC.
  * @param status  Status data from each ESC.
+ * @param motor_temp [degC] Motro temperature from each ESC.
+ * @param cap_temp [degC] Capacity temperature from each ESC.
+ * @param status2  Status2 data from each ESC.
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_vk_digi_esc_status_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
-                               uint8_t index, uint32_t timestamp, const int32_t *rpm, const float *voltage, const float *current, const int16_t *temperature, const uint32_t *status)
+                               uint8_t index, uint32_t timestamp, const int32_t *rpm, const float *voltage, const float *current, const int16_t *temperature, const uint32_t *status, const int16_t *motor_temp, const int16_t *cap_temp, const uint32_t *status2)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN];
@@ -135,6 +159,9 @@ static inline uint16_t mavlink_msg_vk_digi_esc_status_pack_status(uint8_t system
     _mav_put_float_array(buf, 36, current, 4);
     _mav_put_uint32_t_array(buf, 52, status, 4);
     _mav_put_int16_t_array(buf, 68, temperature, 4);
+    _mav_put_int16_t_array(buf, 77, motor_temp, 4);
+    _mav_put_int16_t_array(buf, 85, cap_temp, 4);
+    _mav_put_uint32_t_array(buf, 93, status2, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN);
 #else
     mavlink_vk_digi_esc_status_t packet;
@@ -145,6 +172,9 @@ static inline uint16_t mavlink_msg_vk_digi_esc_status_pack_status(uint8_t system
     mav_array_memcpy(packet.current, current, sizeof(float)*4);
     mav_array_memcpy(packet.status, status, sizeof(uint32_t)*4);
     mav_array_memcpy(packet.temperature, temperature, sizeof(int16_t)*4);
+    mav_array_memcpy(packet.motor_temp, motor_temp, sizeof(int16_t)*4);
+    mav_array_memcpy(packet.cap_temp, cap_temp, sizeof(int16_t)*4);
+    mav_array_memcpy(packet.status2, status2, sizeof(uint32_t)*4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN);
 #endif
 
@@ -171,11 +201,14 @@ static inline uint16_t mavlink_msg_vk_digi_esc_status_pack_status(uint8_t system
  * @param current [A] Current measured from each ESC.
  * @param temperature [degC] Temperature measured from each ESC.
  * @param status  Status data from each ESC.
+ * @param motor_temp [degC] Motro temperature from each ESC.
+ * @param cap_temp [degC] Capacity temperature from each ESC.
+ * @param status2  Status2 data from each ESC.
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_vk_digi_esc_status_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
                                mavlink_message_t* msg,
-                                   uint8_t index,uint32_t timestamp,const int32_t *rpm,const float *voltage,const float *current,const int16_t *temperature,const uint32_t *status)
+                                   uint8_t index,uint32_t timestamp,const int32_t *rpm,const float *voltage,const float *current,const int16_t *temperature,const uint32_t *status,const int16_t *motor_temp,const int16_t *cap_temp,const uint32_t *status2)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN];
@@ -186,6 +219,9 @@ static inline uint16_t mavlink_msg_vk_digi_esc_status_pack_chan(uint8_t system_i
     _mav_put_float_array(buf, 36, current, 4);
     _mav_put_uint32_t_array(buf, 52, status, 4);
     _mav_put_int16_t_array(buf, 68, temperature, 4);
+    _mav_put_int16_t_array(buf, 77, motor_temp, 4);
+    _mav_put_int16_t_array(buf, 85, cap_temp, 4);
+    _mav_put_uint32_t_array(buf, 93, status2, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN);
 #else
     mavlink_vk_digi_esc_status_t packet;
@@ -196,6 +232,9 @@ static inline uint16_t mavlink_msg_vk_digi_esc_status_pack_chan(uint8_t system_i
     mav_array_memcpy(packet.current, current, sizeof(float)*4);
     mav_array_memcpy(packet.status, status, sizeof(uint32_t)*4);
     mav_array_memcpy(packet.temperature, temperature, sizeof(int16_t)*4);
+    mav_array_memcpy(packet.motor_temp, motor_temp, sizeof(int16_t)*4);
+    mav_array_memcpy(packet.cap_temp, cap_temp, sizeof(int16_t)*4);
+    mav_array_memcpy(packet.status2, status2, sizeof(uint32_t)*4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN);
 #endif
 
@@ -213,7 +252,7 @@ static inline uint16_t mavlink_msg_vk_digi_esc_status_pack_chan(uint8_t system_i
  */
 static inline uint16_t mavlink_msg_vk_digi_esc_status_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_vk_digi_esc_status_t* vk_digi_esc_status)
 {
-    return mavlink_msg_vk_digi_esc_status_pack(system_id, component_id, msg, vk_digi_esc_status->index, vk_digi_esc_status->timestamp, vk_digi_esc_status->rpm, vk_digi_esc_status->voltage, vk_digi_esc_status->current, vk_digi_esc_status->temperature, vk_digi_esc_status->status);
+    return mavlink_msg_vk_digi_esc_status_pack(system_id, component_id, msg, vk_digi_esc_status->index, vk_digi_esc_status->timestamp, vk_digi_esc_status->rpm, vk_digi_esc_status->voltage, vk_digi_esc_status->current, vk_digi_esc_status->temperature, vk_digi_esc_status->status, vk_digi_esc_status->motor_temp, vk_digi_esc_status->cap_temp, vk_digi_esc_status->status2);
 }
 
 /**
@@ -227,7 +266,7 @@ static inline uint16_t mavlink_msg_vk_digi_esc_status_encode(uint8_t system_id,
  */
 static inline uint16_t mavlink_msg_vk_digi_esc_status_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_vk_digi_esc_status_t* vk_digi_esc_status)
 {
-    return mavlink_msg_vk_digi_esc_status_pack_chan(system_id, component_id, chan, msg, vk_digi_esc_status->index, vk_digi_esc_status->timestamp, vk_digi_esc_status->rpm, vk_digi_esc_status->voltage, vk_digi_esc_status->current, vk_digi_esc_status->temperature, vk_digi_esc_status->status);
+    return mavlink_msg_vk_digi_esc_status_pack_chan(system_id, component_id, chan, msg, vk_digi_esc_status->index, vk_digi_esc_status->timestamp, vk_digi_esc_status->rpm, vk_digi_esc_status->voltage, vk_digi_esc_status->current, vk_digi_esc_status->temperature, vk_digi_esc_status->status, vk_digi_esc_status->motor_temp, vk_digi_esc_status->cap_temp, vk_digi_esc_status->status2);
 }
 
 /**
@@ -241,7 +280,7 @@ static inline uint16_t mavlink_msg_vk_digi_esc_status_encode_chan(uint8_t system
  */
 static inline uint16_t mavlink_msg_vk_digi_esc_status_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_vk_digi_esc_status_t* vk_digi_esc_status)
 {
-    return mavlink_msg_vk_digi_esc_status_pack_status(system_id, component_id, _status, msg,  vk_digi_esc_status->index, vk_digi_esc_status->timestamp, vk_digi_esc_status->rpm, vk_digi_esc_status->voltage, vk_digi_esc_status->current, vk_digi_esc_status->temperature, vk_digi_esc_status->status);
+    return mavlink_msg_vk_digi_esc_status_pack_status(system_id, component_id, _status, msg,  vk_digi_esc_status->index, vk_digi_esc_status->timestamp, vk_digi_esc_status->rpm, vk_digi_esc_status->voltage, vk_digi_esc_status->current, vk_digi_esc_status->temperature, vk_digi_esc_status->status, vk_digi_esc_status->motor_temp, vk_digi_esc_status->cap_temp, vk_digi_esc_status->status2);
 }
 
 /**
@@ -257,10 +296,13 @@ static inline uint16_t mavlink_msg_vk_digi_esc_status_encode_status(uint8_t syst
  * @param current [A] Current measured from each ESC.
  * @param temperature [degC] Temperature measured from each ESC.
  * @param status  Status data from each ESC.
+ * @param motor_temp [degC] Motro temperature from each ESC.
+ * @param cap_temp [degC] Capacity temperature from each ESC.
+ * @param status2  Status2 data from each ESC.
  */
 #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
 
-static inline void mavlink_msg_vk_digi_esc_status_send(mavlink_channel_t chan, uint8_t index, uint32_t timestamp, const int32_t *rpm, const float *voltage, const float *current, const int16_t *temperature, const uint32_t *status)
+static inline void mavlink_msg_vk_digi_esc_status_send(mavlink_channel_t chan, uint8_t index, uint32_t timestamp, const int32_t *rpm, const float *voltage, const float *current, const int16_t *temperature, const uint32_t *status, const int16_t *motor_temp, const int16_t *cap_temp, const uint32_t *status2)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN];
@@ -271,6 +313,9 @@ static inline void mavlink_msg_vk_digi_esc_status_send(mavlink_channel_t chan, u
     _mav_put_float_array(buf, 36, current, 4);
     _mav_put_uint32_t_array(buf, 52, status, 4);
     _mav_put_int16_t_array(buf, 68, temperature, 4);
+    _mav_put_int16_t_array(buf, 77, motor_temp, 4);
+    _mav_put_int16_t_array(buf, 85, cap_temp, 4);
+    _mav_put_uint32_t_array(buf, 93, status2, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS, buf, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_CRC);
 #else
     mavlink_vk_digi_esc_status_t packet;
@@ -281,6 +326,9 @@ static inline void mavlink_msg_vk_digi_esc_status_send(mavlink_channel_t chan, u
     mav_array_memcpy(packet.current, current, sizeof(float)*4);
     mav_array_memcpy(packet.status, status, sizeof(uint32_t)*4);
     mav_array_memcpy(packet.temperature, temperature, sizeof(int16_t)*4);
+    mav_array_memcpy(packet.motor_temp, motor_temp, sizeof(int16_t)*4);
+    mav_array_memcpy(packet.cap_temp, cap_temp, sizeof(int16_t)*4);
+    mav_array_memcpy(packet.status2, status2, sizeof(uint32_t)*4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS, (const char *)&packet, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_CRC);
 #endif
 }
@@ -293,7 +341,7 @@ static inline void mavlink_msg_vk_digi_esc_status_send(mavlink_channel_t chan, u
 static inline void mavlink_msg_vk_digi_esc_status_send_struct(mavlink_channel_t chan, const mavlink_vk_digi_esc_status_t* vk_digi_esc_status)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
-    mavlink_msg_vk_digi_esc_status_send(chan, vk_digi_esc_status->index, vk_digi_esc_status->timestamp, vk_digi_esc_status->rpm, vk_digi_esc_status->voltage, vk_digi_esc_status->current, vk_digi_esc_status->temperature, vk_digi_esc_status->status);
+    mavlink_msg_vk_digi_esc_status_send(chan, vk_digi_esc_status->index, vk_digi_esc_status->timestamp, vk_digi_esc_status->rpm, vk_digi_esc_status->voltage, vk_digi_esc_status->current, vk_digi_esc_status->temperature, vk_digi_esc_status->status, vk_digi_esc_status->motor_temp, vk_digi_esc_status->cap_temp, vk_digi_esc_status->status2);
 #else
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS, (const char *)vk_digi_esc_status, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_CRC);
 #endif
@@ -307,7 +355,7 @@ static inline void mavlink_msg_vk_digi_esc_status_send_struct(mavlink_channel_t
   is usually the receive buffer for the channel, and allows a reply to an
   incoming message with minimum stack space usage.
  */
-static inline void mavlink_msg_vk_digi_esc_status_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint8_t index, uint32_t timestamp, const int32_t *rpm, const float *voltage, const float *current, const int16_t *temperature, const uint32_t *status)
+static inline void mavlink_msg_vk_digi_esc_status_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint8_t index, uint32_t timestamp, const int32_t *rpm, const float *voltage, const float *current, const int16_t *temperature, const uint32_t *status, const int16_t *motor_temp, const int16_t *cap_temp, const uint32_t *status2)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char *buf = (char *)msgbuf;
@@ -318,6 +366,9 @@ static inline void mavlink_msg_vk_digi_esc_status_send_buf(mavlink_message_t *ms
     _mav_put_float_array(buf, 36, current, 4);
     _mav_put_uint32_t_array(buf, 52, status, 4);
     _mav_put_int16_t_array(buf, 68, temperature, 4);
+    _mav_put_int16_t_array(buf, 77, motor_temp, 4);
+    _mav_put_int16_t_array(buf, 85, cap_temp, 4);
+    _mav_put_uint32_t_array(buf, 93, status2, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS, buf, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_CRC);
 #else
     mavlink_vk_digi_esc_status_t *packet = (mavlink_vk_digi_esc_status_t *)msgbuf;
@@ -328,6 +379,9 @@ static inline void mavlink_msg_vk_digi_esc_status_send_buf(mavlink_message_t *ms
     mav_array_memcpy(packet->current, current, sizeof(float)*4);
     mav_array_memcpy(packet->status, status, sizeof(uint32_t)*4);
     mav_array_memcpy(packet->temperature, temperature, sizeof(int16_t)*4);
+    mav_array_memcpy(packet->motor_temp, motor_temp, sizeof(int16_t)*4);
+    mav_array_memcpy(packet->cap_temp, cap_temp, sizeof(int16_t)*4);
+    mav_array_memcpy(packet->status2, status2, sizeof(uint32_t)*4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS, (const char *)packet, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_CRC);
 #endif
 }
@@ -410,6 +464,36 @@ static inline uint16_t mavlink_msg_vk_digi_esc_status_get_status(const mavlink_m
     return _MAV_RETURN_uint32_t_array(msg, status, 4,  52);
 }
 
+/**
+ * @brief Get field motor_temp from vk_digi_esc_status message
+ *
+ * @return [degC] Motro temperature from each ESC.
+ */
+static inline uint16_t mavlink_msg_vk_digi_esc_status_get_motor_temp(const mavlink_message_t* msg, int16_t *motor_temp)
+{
+    return _MAV_RETURN_int16_t_array(msg, motor_temp, 4,  77);
+}
+
+/**
+ * @brief Get field cap_temp from vk_digi_esc_status message
+ *
+ * @return [degC] Capacity temperature from each ESC.
+ */
+static inline uint16_t mavlink_msg_vk_digi_esc_status_get_cap_temp(const mavlink_message_t* msg, int16_t *cap_temp)
+{
+    return _MAV_RETURN_int16_t_array(msg, cap_temp, 4,  85);
+}
+
+/**
+ * @brief Get field status2 from vk_digi_esc_status message
+ *
+ * @return  Status2 data from each ESC.
+ */
+static inline uint16_t mavlink_msg_vk_digi_esc_status_get_status2(const mavlink_message_t* msg, uint32_t *status2)
+{
+    return _MAV_RETURN_uint32_t_array(msg, status2, 4,  93);
+}
+
 /**
  * @brief Decode a vk_digi_esc_status message into a struct
  *
@@ -426,6 +510,9 @@ static inline void mavlink_msg_vk_digi_esc_status_decode(const mavlink_message_t
     mavlink_msg_vk_digi_esc_status_get_status(msg, vk_digi_esc_status->status);
     mavlink_msg_vk_digi_esc_status_get_temperature(msg, vk_digi_esc_status->temperature);
     vk_digi_esc_status->index = mavlink_msg_vk_digi_esc_status_get_index(msg);
+    mavlink_msg_vk_digi_esc_status_get_motor_temp(msg, vk_digi_esc_status->motor_temp);
+    mavlink_msg_vk_digi_esc_status_get_cap_temp(msg, vk_digi_esc_status->cap_temp);
+    mavlink_msg_vk_digi_esc_status_get_status2(msg, vk_digi_esc_status->status2);
 #else
         uint8_t len = msg->len < MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN? msg->len : MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN;
         memset(vk_digi_esc_status, 0, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN);

+ 71 - 4
v2.0/VKFly/testsuite.h

@@ -605,7 +605,7 @@ static void mavlink_test_vk_digi_esc_status(uint8_t system_id, uint8_t component
         uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
         uint16_t i;
     mavlink_vk_digi_esc_status_t packet_in = {
-        963497464,{ 963497672, 963497673, 963497674, 963497675 },{ 157.0, 158.0, 159.0, 160.0 },{ 269.0, 270.0, 271.0, 272.0 },{ 963500168, 963500169, 963500170, 963500171 },{ 20771, 20772, 20773, 20774 },233
+        963497464,{ 963497672, 963497673, 963497674, 963497675 },{ 157.0, 158.0, 159.0, 160.0 },{ 269.0, 270.0, 271.0, 272.0 },{ 963500168, 963500169, 963500170, 963500171 },{ 20771, 20772, 20773, 20774 },233,{ 21239, 21240, 21241, 21242 },{ 21655, 21656, 21657, 21658 },{ 963502300, 963502301, 963502302, 963502303 }
     };
     mavlink_vk_digi_esc_status_t packet1, packet2;
         memset(&packet1, 0, sizeof(packet1));
@@ -617,6 +617,9 @@ static void mavlink_test_vk_digi_esc_status(uint8_t system_id, uint8_t component
         mav_array_memcpy(packet1.current, packet_in.current, sizeof(float)*4);
         mav_array_memcpy(packet1.status, packet_in.status, sizeof(uint32_t)*4);
         mav_array_memcpy(packet1.temperature, packet_in.temperature, sizeof(int16_t)*4);
+        mav_array_memcpy(packet1.motor_temp, packet_in.motor_temp, sizeof(int16_t)*4);
+        mav_array_memcpy(packet1.cap_temp, packet_in.cap_temp, sizeof(int16_t)*4);
+        mav_array_memcpy(packet1.status2, packet_in.status2, sizeof(uint32_t)*4);
         
 #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
         if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
@@ -630,12 +633,12 @@ static void mavlink_test_vk_digi_esc_status(uint8_t system_id, uint8_t component
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
         memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_vk_digi_esc_status_pack(system_id, component_id, &msg , packet1.index , packet1.timestamp , packet1.rpm , packet1.voltage , packet1.current , packet1.temperature , packet1.status );
+    mavlink_msg_vk_digi_esc_status_pack(system_id, component_id, &msg , packet1.index , packet1.timestamp , packet1.rpm , packet1.voltage , packet1.current , packet1.temperature , packet1.status , packet1.motor_temp , packet1.cap_temp , packet1.status2 );
     mavlink_msg_vk_digi_esc_status_decode(&msg, &packet2);
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
         memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_vk_digi_esc_status_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.index , packet1.timestamp , packet1.rpm , packet1.voltage , packet1.current , packet1.temperature , packet1.status );
+    mavlink_msg_vk_digi_esc_status_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.index , packet1.timestamp , packet1.rpm , packet1.voltage , packet1.current , packet1.temperature , packet1.status , packet1.motor_temp , packet1.cap_temp , packet1.status2 );
     mavlink_msg_vk_digi_esc_status_decode(&msg, &packet2);
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
@@ -648,7 +651,7 @@ static void mavlink_test_vk_digi_esc_status(uint8_t system_id, uint8_t component
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
         
         memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_vk_digi_esc_status_send(MAVLINK_COMM_1 , packet1.index , packet1.timestamp , packet1.rpm , packet1.voltage , packet1.current , packet1.temperature , packet1.status );
+    mavlink_msg_vk_digi_esc_status_send(MAVLINK_COMM_1 , packet1.index , packet1.timestamp , packet1.rpm , packet1.voltage , packet1.current , packet1.temperature , packet1.status , packet1.motor_temp , packet1.cap_temp , packet1.status2 );
     mavlink_msg_vk_digi_esc_status_decode(last_msg, &packet2);
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
@@ -843,6 +846,69 @@ static void mavlink_test_vk_fixedwing_rtl_circle_wp(uint8_t system_id, uint8_t c
 #endif
 }
 
+static void mavlink_test_vk_airspeed(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
+{
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+    mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
+        if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_AIRSPEED >= 256) {
+            return;
+        }
+#endif
+    mavlink_message_t msg;
+        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
+        uint16_t i;
+    mavlink_vk_airspeed_t packet_in = {
+        17.0,45.0,17651,163,230
+    };
+    mavlink_vk_airspeed_t packet1, packet2;
+        memset(&packet1, 0, sizeof(packet1));
+        packet1.airspeed = packet_in.airspeed;
+        packet1.raw_press = packet_in.raw_press;
+        packet1.temperature = packet_in.temperature;
+        packet1.id = packet_in.id;
+        packet1.flags = packet_in.flags;
+        
+        
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
+           // cope with extensions
+           memset(MAVLINK_MSG_ID_VK_AIRSPEED_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_AIRSPEED_MIN_LEN);
+        }
+#endif
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vk_airspeed_encode(system_id, component_id, &msg, &packet1);
+    mavlink_msg_vk_airspeed_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vk_airspeed_pack(system_id, component_id, &msg , packet1.id , packet1.airspeed , packet1.temperature , packet1.raw_press , packet1.flags );
+    mavlink_msg_vk_airspeed_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vk_airspeed_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.id , packet1.airspeed , packet1.temperature , packet1.raw_press , packet1.flags );
+    mavlink_msg_vk_airspeed_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+        mavlink_msg_to_send_buffer(buffer, &msg);
+        for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
+            comm_send_ch(MAVLINK_COMM_0, buffer[i]);
+        }
+    mavlink_msg_vk_airspeed_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+        
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vk_airspeed_send(MAVLINK_COMM_1 , packet1.id , packet1.airspeed , packet1.temperature , packet1.raw_press , packet1.flags );
+    mavlink_msg_vk_airspeed_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+#ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
+    MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_AIRSPEED") != NULL);
+    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_AIRSPEED) != NULL);
+#endif
+}
+
 static void mavlink_test_vk_parachute_status(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
 {
 #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
@@ -1921,6 +1987,7 @@ static void mavlink_test_VKFly(uint8_t system_id, uint8_t component_id, mavlink_
     mavlink_test_vk_fixedwing_control_value(system_id, component_id, last_msg);
     mavlink_test_vk_fixedwing_servo_signal(system_id, component_id, last_msg);
     mavlink_test_vk_fixedwing_rtl_circle_wp(system_id, component_id, last_msg);
+    mavlink_test_vk_airspeed(system_id, component_id, last_msg);
     mavlink_test_vk_parachute_status(system_id, component_id, last_msg);
     mavlink_test_vk_weigher_state(system_id, component_id, last_msg);
     mavlink_test_vk_payload_data_relay(system_id, component_id, last_msg);

+ 1 - 1
v2.0/VKFly/version.h

@@ -7,7 +7,7 @@
 #ifndef MAVLINK_VERSION_H
 #define MAVLINK_VERSION_H
 
-#define MAVLINK_BUILD_DATE "Thu Dec 04 2025"
+#define MAVLINK_BUILD_DATE "Wed Dec 10 2025"
 #define MAVLINK_WIRE_PROTOCOL_VERSION "2.0"
 #define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
  

+ 1 - 1
v2.0/common/common.h

@@ -10,7 +10,7 @@
     #error Wrong include order: MAVLINK_COMMON.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
 #endif
 
-#define MAVLINK_COMMON_XML_HASH 7198561333657606461
+#define MAVLINK_COMMON_XML_HASH 2430053584100455190
 
 #ifdef __cplusplus
 extern "C" {

+ 1 - 1
v2.0/common/mavlink.h

@@ -6,7 +6,7 @@
 #ifndef MAVLINK_H
 #define MAVLINK_H
 
-#define MAVLINK_PRIMARY_XML_HASH 7198561333657606461
+#define MAVLINK_PRIMARY_XML_HASH 2430053584100455190
 
 #ifndef MAVLINK_STX
 #define MAVLINK_STX 253

+ 1 - 1
v2.0/common/version.h

@@ -7,7 +7,7 @@
 #ifndef MAVLINK_VERSION_H
 #define MAVLINK_VERSION_H
 
-#define MAVLINK_BUILD_DATE "Thu Dec 04 2025"
+#define MAVLINK_BUILD_DATE "Wed Dec 10 2025"
 #define MAVLINK_WIRE_PROTOCOL_VERSION "2.0"
 #define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
  

+ 1 - 1
v2.0/minimal/mavlink.h

@@ -6,7 +6,7 @@
 #ifndef MAVLINK_H
 #define MAVLINK_H
 
-#define MAVLINK_PRIMARY_XML_HASH -7572281260354235699
+#define MAVLINK_PRIMARY_XML_HASH 6929421565067421522
 
 #ifndef MAVLINK_STX
 #define MAVLINK_STX 253

+ 1 - 1
v2.0/minimal/minimal.h

@@ -10,7 +10,7 @@
     #error Wrong include order: MAVLINK_MINIMAL.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
 #endif
 
-#define MAVLINK_MINIMAL_XML_HASH -7572281260354235699
+#define MAVLINK_MINIMAL_XML_HASH 6929421565067421522
 
 #ifdef __cplusplus
 extern "C" {

+ 1 - 1
v2.0/minimal/version.h

@@ -7,7 +7,7 @@
 #ifndef MAVLINK_VERSION_H
 #define MAVLINK_VERSION_H
 
-#define MAVLINK_BUILD_DATE "Thu Dec 04 2025"
+#define MAVLINK_BUILD_DATE "Wed Dec 10 2025"
 #define MAVLINK_WIRE_PROTOCOL_VERSION "2.0"
 #define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 22
  

+ 1 - 1
v2.0/standard/mavlink.h

@@ -6,7 +6,7 @@
 #ifndef MAVLINK_H
 #define MAVLINK_H
 
-#define MAVLINK_PRIMARY_XML_HASH 4095867283065269195
+#define MAVLINK_PRIMARY_XML_HASH -716600996459614309
 
 #ifndef MAVLINK_STX
 #define MAVLINK_STX 253

+ 1 - 1
v2.0/standard/standard.h

@@ -10,7 +10,7 @@
     #error Wrong include order: MAVLINK_STANDARD.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
 #endif
 
-#define MAVLINK_STANDARD_XML_HASH 4095867283065269195
+#define MAVLINK_STANDARD_XML_HASH -716600996459614309
 
 #ifdef __cplusplus
 extern "C" {

+ 1 - 1
v2.0/standard/version.h

@@ -7,7 +7,7 @@
 #ifndef MAVLINK_VERSION_H
 #define MAVLINK_VERSION_H
 
-#define MAVLINK_BUILD_DATE "Thu Dec 04 2025"
+#define MAVLINK_BUILD_DATE "Wed Dec 10 2025"
 #define MAVLINK_WIRE_PROTOCOL_VERSION "2.0"
 #define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 22
  

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно