Browse Source

增加天渠舵机状态消息

LiuYang 1 month ago
parent
commit
4d24258391

+ 6 - 2
msg_definitions/VKFly.xml

@@ -914,8 +914,6 @@
       <field type="uint32_t" name="dist_to_tar" units="cm">distance to target position in cm</field>
       <field type="uint16_t" name="servo_state">bitmap for servo state</field>
       <field type="float" name="flight_dist" units="m">flight distance since this power up</field>
-      <extensions />
-      <field type="uint16_t" name="servo_state2">bitmap for servo state2</field>
     </message>
 
     <message id="53002" name="VK_ROI_TARGET">
@@ -1173,6 +1171,12 @@
       <field type="uint32_t" name="seq">Sequence number in the received VKFLY_EDU_STATUS.</field>
     </message>
 
+    <message id="53030" name="VKFLY_TIANQU_SERVO_STATUS">
+      <description>EDU status ack</description>
+      <field type="uint32_t" name="load_status"></field>
+      <field type="uint32_t" name="servo_status"></field>
+    </message>
+
     <message id="53100" name="VK_FW_UPDATE_BEGIN">
       <description>VKFLY autopilot update firmware begin. This message send from GCS to autopilot. </description>
       <field type="uint8_t" name="target_system">Target system id.</field>

+ 0 - 1
readme.md

@@ -1825,7 +1825,6 @@ VKins 系统的状态数据自定义消息, 主要用于一些自定状态的传
 | dist_t_tar    | 目标距离, cm                                                          |
 | servo_state   | 舵机状态, 每位对应一个舵机, 1-开 0-关                                 |
 | flight_dist   | 飞行距离, m, 本次上电开始飞行的总距离                                 |
-| servo_state2  | 舵机状态2, 每位对应一个舵机, 1-开 0-关                               |
 ## 9 飞控参数说明
 
 飞控参数名作为确认飞控参数用途的唯一识别码, 不可随意修改. 在新增参数时应注意不要与已有参数重名, 保持向前兼容性.

File diff suppressed because it is too large
+ 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 2270673811792067145
+#define MAVLINK_PRIMARY_XML_HASH 4356456235361243861
 
 #ifndef MAVLINK_STX
 #define MAVLINK_STX 253

+ 288 - 0
v2.0/VKFly/mavlink_msg_vkfly_tianqu_servo_status.h

@@ -0,0 +1,288 @@
+#pragma once
+// MESSAGE VKFLY_TIANQU_SERVO_STATUS PACKING
+
+#define MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS 53030
+
+
+typedef struct __mavlink_vkfly_tianqu_servo_status_t {
+ uint32_t load_status; /*<  */
+ uint32_t servo_status; /*<  */
+} mavlink_vkfly_tianqu_servo_status_t;
+
+#define MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN 8
+#define MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_MIN_LEN 8
+#define MAVLINK_MSG_ID_53030_LEN 8
+#define MAVLINK_MSG_ID_53030_MIN_LEN 8
+
+#define MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_CRC 157
+#define MAVLINK_MSG_ID_53030_CRC 157
+
+
+
+#if MAVLINK_COMMAND_24BIT
+#define MAVLINK_MESSAGE_INFO_VKFLY_TIANQU_SERVO_STATUS { \
+    53030, \
+    "VKFLY_TIANQU_SERVO_STATUS", \
+    2, \
+    {  { "load_status", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vkfly_tianqu_servo_status_t, load_status) }, \
+         { "servo_status", NULL, MAVLINK_TYPE_UINT32_T, 0, 4, offsetof(mavlink_vkfly_tianqu_servo_status_t, servo_status) }, \
+         } \
+}
+#else
+#define MAVLINK_MESSAGE_INFO_VKFLY_TIANQU_SERVO_STATUS { \
+    "VKFLY_TIANQU_SERVO_STATUS", \
+    2, \
+    {  { "load_status", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vkfly_tianqu_servo_status_t, load_status) }, \
+         { "servo_status", NULL, MAVLINK_TYPE_UINT32_T, 0, 4, offsetof(mavlink_vkfly_tianqu_servo_status_t, servo_status) }, \
+         } \
+}
+#endif
+
+/**
+ * @brief Pack a vkfly_tianqu_servo_status 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 load_status  
+ * @param servo_status  
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vkfly_tianqu_servo_status_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
+                               uint32_t load_status, uint32_t servo_status)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN];
+    _mav_put_uint32_t(buf, 0, load_status);
+    _mav_put_uint32_t(buf, 4, servo_status);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN);
+#else
+    mavlink_vkfly_tianqu_servo_status_t packet;
+    packet.load_status = load_status;
+    packet.servo_status = servo_status;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS;
+    return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_CRC);
+}
+
+/**
+ * @brief Pack a vkfly_tianqu_servo_status 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 load_status  
+ * @param servo_status  
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vkfly_tianqu_servo_status_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
+                               uint32_t load_status, uint32_t servo_status)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN];
+    _mav_put_uint32_t(buf, 0, load_status);
+    _mav_put_uint32_t(buf, 4, servo_status);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN);
+#else
+    mavlink_vkfly_tianqu_servo_status_t packet;
+    packet.load_status = load_status;
+    packet.servo_status = servo_status;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS;
+#if MAVLINK_CRC_EXTRA
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_CRC);
+#else
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN);
+#endif
+}
+
+/**
+ * @brief Pack a vkfly_tianqu_servo_status 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 load_status  
+ * @param servo_status  
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vkfly_tianqu_servo_status_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
+                               mavlink_message_t* msg,
+                                   uint32_t load_status,uint32_t servo_status)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN];
+    _mav_put_uint32_t(buf, 0, load_status);
+    _mav_put_uint32_t(buf, 4, servo_status);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN);
+#else
+    mavlink_vkfly_tianqu_servo_status_t packet;
+    packet.load_status = load_status;
+    packet.servo_status = servo_status;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS;
+    return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_CRC);
+}
+
+/**
+ * @brief Encode a vkfly_tianqu_servo_status 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 vkfly_tianqu_servo_status C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vkfly_tianqu_servo_status_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_vkfly_tianqu_servo_status_t* vkfly_tianqu_servo_status)
+{
+    return mavlink_msg_vkfly_tianqu_servo_status_pack(system_id, component_id, msg, vkfly_tianqu_servo_status->load_status, vkfly_tianqu_servo_status->servo_status);
+}
+
+/**
+ * @brief Encode a vkfly_tianqu_servo_status 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 vkfly_tianqu_servo_status C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vkfly_tianqu_servo_status_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_vkfly_tianqu_servo_status_t* vkfly_tianqu_servo_status)
+{
+    return mavlink_msg_vkfly_tianqu_servo_status_pack_chan(system_id, component_id, chan, msg, vkfly_tianqu_servo_status->load_status, vkfly_tianqu_servo_status->servo_status);
+}
+
+/**
+ * @brief Encode a vkfly_tianqu_servo_status 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 vkfly_tianqu_servo_status C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vkfly_tianqu_servo_status_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_vkfly_tianqu_servo_status_t* vkfly_tianqu_servo_status)
+{
+    return mavlink_msg_vkfly_tianqu_servo_status_pack_status(system_id, component_id, _status, msg,  vkfly_tianqu_servo_status->load_status, vkfly_tianqu_servo_status->servo_status);
+}
+
+/**
+ * @brief Send a vkfly_tianqu_servo_status message
+ * @param chan MAVLink channel to send the message
+ *
+ * @param load_status  
+ * @param servo_status  
+ */
+#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
+
+static inline void mavlink_msg_vkfly_tianqu_servo_status_send(mavlink_channel_t chan, uint32_t load_status, uint32_t servo_status)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN];
+    _mav_put_uint32_t(buf, 0, load_status);
+    _mav_put_uint32_t(buf, 4, servo_status);
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS, buf, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_CRC);
+#else
+    mavlink_vkfly_tianqu_servo_status_t packet;
+    packet.load_status = load_status;
+    packet.servo_status = servo_status;
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS, (const char *)&packet, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_CRC);
+#endif
+}
+
+/**
+ * @brief Send a vkfly_tianqu_servo_status message
+ * @param chan MAVLink channel to send the message
+ * @param struct The MAVLink struct to serialize
+ */
+static inline void mavlink_msg_vkfly_tianqu_servo_status_send_struct(mavlink_channel_t chan, const mavlink_vkfly_tianqu_servo_status_t* vkfly_tianqu_servo_status)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    mavlink_msg_vkfly_tianqu_servo_status_send(chan, vkfly_tianqu_servo_status->load_status, vkfly_tianqu_servo_status->servo_status);
+#else
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS, (const char *)vkfly_tianqu_servo_status, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_CRC);
+#endif
+}
+
+#if MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_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_vkfly_tianqu_servo_status_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint32_t load_status, uint32_t servo_status)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char *buf = (char *)msgbuf;
+    _mav_put_uint32_t(buf, 0, load_status);
+    _mav_put_uint32_t(buf, 4, servo_status);
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS, buf, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_CRC);
+#else
+    mavlink_vkfly_tianqu_servo_status_t *packet = (mavlink_vkfly_tianqu_servo_status_t *)msgbuf;
+    packet->load_status = load_status;
+    packet->servo_status = servo_status;
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS, (const char *)packet, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_CRC);
+#endif
+}
+#endif
+
+#endif
+
+// MESSAGE VKFLY_TIANQU_SERVO_STATUS UNPACKING
+
+
+/**
+ * @brief Get field load_status from vkfly_tianqu_servo_status message
+ *
+ * @return  
+ */
+static inline uint32_t mavlink_msg_vkfly_tianqu_servo_status_get_load_status(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint32_t(msg,  0);
+}
+
+/**
+ * @brief Get field servo_status from vkfly_tianqu_servo_status message
+ *
+ * @return  
+ */
+static inline uint32_t mavlink_msg_vkfly_tianqu_servo_status_get_servo_status(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint32_t(msg,  4);
+}
+
+/**
+ * @brief Decode a vkfly_tianqu_servo_status message into a struct
+ *
+ * @param msg The message to decode
+ * @param vkfly_tianqu_servo_status C-struct to decode the message contents into
+ */
+static inline void mavlink_msg_vkfly_tianqu_servo_status_decode(const mavlink_message_t* msg, mavlink_vkfly_tianqu_servo_status_t* vkfly_tianqu_servo_status)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    vkfly_tianqu_servo_status->load_status = mavlink_msg_vkfly_tianqu_servo_status_get_load_status(msg);
+    vkfly_tianqu_servo_status->servo_status = mavlink_msg_vkfly_tianqu_servo_status_get_servo_status(msg);
+#else
+        uint8_t len = msg->len < MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN? msg->len : MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN;
+        memset(vkfly_tianqu_servo_status, 0, MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_LEN);
+    memcpy(vkfly_tianqu_servo_status, _MAV_PAYLOAD(msg), len);
+#endif
+}

+ 15 - 43
v2.0/VKFly/mavlink_msg_vkfmu_status.h

@@ -3,7 +3,7 @@
 
 #define MAVLINK_MSG_ID_VKFMU_STATUS 53001
 
-MAVPACKED(
+
 typedef struct __mavlink_vkfmu_status_t {
  uint32_t time_boot_ms; /*< [ms] Timestamp in ms from system boot.*/
  uint32_t flight_time; /*< [s] flight time in seconds*/
@@ -15,12 +15,11 @@ typedef struct __mavlink_vkfmu_status_t {
  uint8_t rtl_reason; /*<  return to launch reason.*/
  uint8_t loiter_reason; /*<  Loiter reason */
  uint8_t s_flag3; /*<  fmu sflag3*/
- uint16_t servo_state2; /*<  bitmap for servo state2*/
-}) mavlink_vkfmu_status_t;
+} mavlink_vkfmu_status_t;
 
-#define MAVLINK_MSG_ID_VKFMU_STATUS_LEN 27
+#define MAVLINK_MSG_ID_VKFMU_STATUS_LEN 25
 #define MAVLINK_MSG_ID_VKFMU_STATUS_MIN_LEN 25
-#define MAVLINK_MSG_ID_53001_LEN 27
+#define MAVLINK_MSG_ID_53001_LEN 25
 #define MAVLINK_MSG_ID_53001_MIN_LEN 25
 
 #define MAVLINK_MSG_ID_VKFMU_STATUS_CRC 136
@@ -32,7 +31,7 @@ typedef struct __mavlink_vkfmu_status_t {
 #define MAVLINK_MESSAGE_INFO_VKFMU_STATUS { \
     53001, \
     "VKFMU_STATUS", \
-    11, \
+    10, \
     {  { "time_boot_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vkfmu_status_t, time_boot_ms) }, \
          { "rtl_reason", NULL, MAVLINK_TYPE_UINT8_T, 0, 22, offsetof(mavlink_vkfmu_status_t, rtl_reason) }, \
          { "loiter_reason", NULL, MAVLINK_TYPE_UINT8_T, 0, 23, offsetof(mavlink_vkfmu_status_t, loiter_reason) }, \
@@ -43,13 +42,12 @@ typedef struct __mavlink_vkfmu_status_t {
          { "dist_to_tar", NULL, MAVLINK_TYPE_UINT32_T, 0, 8, offsetof(mavlink_vkfmu_status_t, dist_to_tar) }, \
          { "servo_state", NULL, MAVLINK_TYPE_UINT16_T, 0, 20, offsetof(mavlink_vkfmu_status_t, servo_state) }, \
          { "flight_dist", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_vkfmu_status_t, flight_dist) }, \
-         { "servo_state2", NULL, MAVLINK_TYPE_UINT16_T, 0, 25, offsetof(mavlink_vkfmu_status_t, servo_state2) }, \
          } \
 }
 #else
 #define MAVLINK_MESSAGE_INFO_VKFMU_STATUS { \
     "VKFMU_STATUS", \
-    11, \
+    10, \
     {  { "time_boot_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vkfmu_status_t, time_boot_ms) }, \
          { "rtl_reason", NULL, MAVLINK_TYPE_UINT8_T, 0, 22, offsetof(mavlink_vkfmu_status_t, rtl_reason) }, \
          { "loiter_reason", NULL, MAVLINK_TYPE_UINT8_T, 0, 23, offsetof(mavlink_vkfmu_status_t, loiter_reason) }, \
@@ -60,7 +58,6 @@ typedef struct __mavlink_vkfmu_status_t {
          { "dist_to_tar", NULL, MAVLINK_TYPE_UINT32_T, 0, 8, offsetof(mavlink_vkfmu_status_t, dist_to_tar) }, \
          { "servo_state", NULL, MAVLINK_TYPE_UINT16_T, 0, 20, offsetof(mavlink_vkfmu_status_t, servo_state) }, \
          { "flight_dist", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_vkfmu_status_t, flight_dist) }, \
-         { "servo_state2", NULL, MAVLINK_TYPE_UINT16_T, 0, 25, offsetof(mavlink_vkfmu_status_t, servo_state2) }, \
          } \
 }
 #endif
@@ -81,11 +78,10 @@ typedef struct __mavlink_vkfmu_status_t {
  * @param dist_to_tar [cm] distance to target position in cm
  * @param servo_state  bitmap for servo state
  * @param flight_dist [m] flight distance since this power up
- * @param servo_state2  bitmap for servo state2
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_vkfmu_status_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
-                               uint32_t time_boot_ms, uint8_t rtl_reason, uint8_t loiter_reason, uint8_t s_flag3, uint16_t ups_volt, uint16_t adc_volt, uint32_t flight_time, uint32_t dist_to_tar, uint16_t servo_state, float flight_dist, uint16_t servo_state2)
+                               uint32_t time_boot_ms, uint8_t rtl_reason, uint8_t loiter_reason, uint8_t s_flag3, uint16_t ups_volt, uint16_t adc_volt, uint32_t flight_time, uint32_t dist_to_tar, uint16_t servo_state, float flight_dist)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_VKFMU_STATUS_LEN];
@@ -99,7 +95,6 @@ static inline uint16_t mavlink_msg_vkfmu_status_pack(uint8_t system_id, uint8_t
     _mav_put_uint8_t(buf, 22, rtl_reason);
     _mav_put_uint8_t(buf, 23, loiter_reason);
     _mav_put_uint8_t(buf, 24, s_flag3);
-    _mav_put_uint16_t(buf, 25, servo_state2);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFMU_STATUS_LEN);
 #else
@@ -114,7 +109,6 @@ static inline uint16_t mavlink_msg_vkfmu_status_pack(uint8_t system_id, uint8_t
     packet.rtl_reason = rtl_reason;
     packet.loiter_reason = loiter_reason;
     packet.s_flag3 = s_flag3;
-    packet.servo_state2 = servo_state2;
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFMU_STATUS_LEN);
 #endif
@@ -140,11 +134,10 @@ static inline uint16_t mavlink_msg_vkfmu_status_pack(uint8_t system_id, uint8_t
  * @param dist_to_tar [cm] distance to target position in cm
  * @param servo_state  bitmap for servo state
  * @param flight_dist [m] flight distance since this power up
- * @param servo_state2  bitmap for servo state2
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_vkfmu_status_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
-                               uint32_t time_boot_ms, uint8_t rtl_reason, uint8_t loiter_reason, uint8_t s_flag3, uint16_t ups_volt, uint16_t adc_volt, uint32_t flight_time, uint32_t dist_to_tar, uint16_t servo_state, float flight_dist, uint16_t servo_state2)
+                               uint32_t time_boot_ms, uint8_t rtl_reason, uint8_t loiter_reason, uint8_t s_flag3, uint16_t ups_volt, uint16_t adc_volt, uint32_t flight_time, uint32_t dist_to_tar, uint16_t servo_state, float flight_dist)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_VKFMU_STATUS_LEN];
@@ -158,7 +151,6 @@ static inline uint16_t mavlink_msg_vkfmu_status_pack_status(uint8_t system_id, u
     _mav_put_uint8_t(buf, 22, rtl_reason);
     _mav_put_uint8_t(buf, 23, loiter_reason);
     _mav_put_uint8_t(buf, 24, s_flag3);
-    _mav_put_uint16_t(buf, 25, servo_state2);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFMU_STATUS_LEN);
 #else
@@ -173,7 +165,6 @@ static inline uint16_t mavlink_msg_vkfmu_status_pack_status(uint8_t system_id, u
     packet.rtl_reason = rtl_reason;
     packet.loiter_reason = loiter_reason;
     packet.s_flag3 = s_flag3;
-    packet.servo_state2 = servo_state2;
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFMU_STATUS_LEN);
 #endif
@@ -202,12 +193,11 @@ static inline uint16_t mavlink_msg_vkfmu_status_pack_status(uint8_t system_id, u
  * @param dist_to_tar [cm] distance to target position in cm
  * @param servo_state  bitmap for servo state
  * @param flight_dist [m] flight distance since this power up
- * @param servo_state2  bitmap for servo state2
  * @return length of the message in bytes (excluding serial stream start sign)
  */
 static inline uint16_t mavlink_msg_vkfmu_status_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
                                mavlink_message_t* msg,
-                                   uint32_t time_boot_ms,uint8_t rtl_reason,uint8_t loiter_reason,uint8_t s_flag3,uint16_t ups_volt,uint16_t adc_volt,uint32_t flight_time,uint32_t dist_to_tar,uint16_t servo_state,float flight_dist,uint16_t servo_state2)
+                                   uint32_t time_boot_ms,uint8_t rtl_reason,uint8_t loiter_reason,uint8_t s_flag3,uint16_t ups_volt,uint16_t adc_volt,uint32_t flight_time,uint32_t dist_to_tar,uint16_t servo_state,float flight_dist)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_VKFMU_STATUS_LEN];
@@ -221,7 +211,6 @@ static inline uint16_t mavlink_msg_vkfmu_status_pack_chan(uint8_t system_id, uin
     _mav_put_uint8_t(buf, 22, rtl_reason);
     _mav_put_uint8_t(buf, 23, loiter_reason);
     _mav_put_uint8_t(buf, 24, s_flag3);
-    _mav_put_uint16_t(buf, 25, servo_state2);
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFMU_STATUS_LEN);
 #else
@@ -236,7 +225,6 @@ static inline uint16_t mavlink_msg_vkfmu_status_pack_chan(uint8_t system_id, uin
     packet.rtl_reason = rtl_reason;
     packet.loiter_reason = loiter_reason;
     packet.s_flag3 = s_flag3;
-    packet.servo_state2 = servo_state2;
 
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFMU_STATUS_LEN);
 #endif
@@ -255,7 +243,7 @@ static inline uint16_t mavlink_msg_vkfmu_status_pack_chan(uint8_t system_id, uin
  */
 static inline uint16_t mavlink_msg_vkfmu_status_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_vkfmu_status_t* vkfmu_status)
 {
-    return mavlink_msg_vkfmu_status_pack(system_id, component_id, msg, vkfmu_status->time_boot_ms, vkfmu_status->rtl_reason, vkfmu_status->loiter_reason, vkfmu_status->s_flag3, vkfmu_status->ups_volt, vkfmu_status->adc_volt, vkfmu_status->flight_time, vkfmu_status->dist_to_tar, vkfmu_status->servo_state, vkfmu_status->flight_dist, vkfmu_status->servo_state2);
+    return mavlink_msg_vkfmu_status_pack(system_id, component_id, msg, vkfmu_status->time_boot_ms, vkfmu_status->rtl_reason, vkfmu_status->loiter_reason, vkfmu_status->s_flag3, vkfmu_status->ups_volt, vkfmu_status->adc_volt, vkfmu_status->flight_time, vkfmu_status->dist_to_tar, vkfmu_status->servo_state, vkfmu_status->flight_dist);
 }
 
 /**
@@ -269,7 +257,7 @@ static inline uint16_t mavlink_msg_vkfmu_status_encode(uint8_t system_id, uint8_
  */
 static inline uint16_t mavlink_msg_vkfmu_status_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_vkfmu_status_t* vkfmu_status)
 {
-    return mavlink_msg_vkfmu_status_pack_chan(system_id, component_id, chan, msg, vkfmu_status->time_boot_ms, vkfmu_status->rtl_reason, vkfmu_status->loiter_reason, vkfmu_status->s_flag3, vkfmu_status->ups_volt, vkfmu_status->adc_volt, vkfmu_status->flight_time, vkfmu_status->dist_to_tar, vkfmu_status->servo_state, vkfmu_status->flight_dist, vkfmu_status->servo_state2);
+    return mavlink_msg_vkfmu_status_pack_chan(system_id, component_id, chan, msg, vkfmu_status->time_boot_ms, vkfmu_status->rtl_reason, vkfmu_status->loiter_reason, vkfmu_status->s_flag3, vkfmu_status->ups_volt, vkfmu_status->adc_volt, vkfmu_status->flight_time, vkfmu_status->dist_to_tar, vkfmu_status->servo_state, vkfmu_status->flight_dist);
 }
 
 /**
@@ -283,7 +271,7 @@ static inline uint16_t mavlink_msg_vkfmu_status_encode_chan(uint8_t system_id, u
  */
 static inline uint16_t mavlink_msg_vkfmu_status_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_vkfmu_status_t* vkfmu_status)
 {
-    return mavlink_msg_vkfmu_status_pack_status(system_id, component_id, _status, msg,  vkfmu_status->time_boot_ms, vkfmu_status->rtl_reason, vkfmu_status->loiter_reason, vkfmu_status->s_flag3, vkfmu_status->ups_volt, vkfmu_status->adc_volt, vkfmu_status->flight_time, vkfmu_status->dist_to_tar, vkfmu_status->servo_state, vkfmu_status->flight_dist, vkfmu_status->servo_state2);
+    return mavlink_msg_vkfmu_status_pack_status(system_id, component_id, _status, msg,  vkfmu_status->time_boot_ms, vkfmu_status->rtl_reason, vkfmu_status->loiter_reason, vkfmu_status->s_flag3, vkfmu_status->ups_volt, vkfmu_status->adc_volt, vkfmu_status->flight_time, vkfmu_status->dist_to_tar, vkfmu_status->servo_state, vkfmu_status->flight_dist);
 }
 
 /**
@@ -300,11 +288,10 @@ static inline uint16_t mavlink_msg_vkfmu_status_encode_status(uint8_t system_id,
  * @param dist_to_tar [cm] distance to target position in cm
  * @param servo_state  bitmap for servo state
  * @param flight_dist [m] flight distance since this power up
- * @param servo_state2  bitmap for servo state2
  */
 #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
 
-static inline void mavlink_msg_vkfmu_status_send(mavlink_channel_t chan, uint32_t time_boot_ms, uint8_t rtl_reason, uint8_t loiter_reason, uint8_t s_flag3, uint16_t ups_volt, uint16_t adc_volt, uint32_t flight_time, uint32_t dist_to_tar, uint16_t servo_state, float flight_dist, uint16_t servo_state2)
+static inline void mavlink_msg_vkfmu_status_send(mavlink_channel_t chan, uint32_t time_boot_ms, uint8_t rtl_reason, uint8_t loiter_reason, uint8_t s_flag3, uint16_t ups_volt, uint16_t adc_volt, uint32_t flight_time, uint32_t dist_to_tar, uint16_t servo_state, float flight_dist)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char buf[MAVLINK_MSG_ID_VKFMU_STATUS_LEN];
@@ -318,7 +305,6 @@ static inline void mavlink_msg_vkfmu_status_send(mavlink_channel_t chan, uint32_
     _mav_put_uint8_t(buf, 22, rtl_reason);
     _mav_put_uint8_t(buf, 23, loiter_reason);
     _mav_put_uint8_t(buf, 24, s_flag3);
-    _mav_put_uint16_t(buf, 25, servo_state2);
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFMU_STATUS, buf, MAVLINK_MSG_ID_VKFMU_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFMU_STATUS_LEN, MAVLINK_MSG_ID_VKFMU_STATUS_CRC);
 #else
@@ -333,7 +319,6 @@ static inline void mavlink_msg_vkfmu_status_send(mavlink_channel_t chan, uint32_
     packet.rtl_reason = rtl_reason;
     packet.loiter_reason = loiter_reason;
     packet.s_flag3 = s_flag3;
-    packet.servo_state2 = servo_state2;
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFMU_STATUS, (const char *)&packet, MAVLINK_MSG_ID_VKFMU_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFMU_STATUS_LEN, MAVLINK_MSG_ID_VKFMU_STATUS_CRC);
 #endif
@@ -347,7 +332,7 @@ static inline void mavlink_msg_vkfmu_status_send(mavlink_channel_t chan, uint32_
 static inline void mavlink_msg_vkfmu_status_send_struct(mavlink_channel_t chan, const mavlink_vkfmu_status_t* vkfmu_status)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
-    mavlink_msg_vkfmu_status_send(chan, vkfmu_status->time_boot_ms, vkfmu_status->rtl_reason, vkfmu_status->loiter_reason, vkfmu_status->s_flag3, vkfmu_status->ups_volt, vkfmu_status->adc_volt, vkfmu_status->flight_time, vkfmu_status->dist_to_tar, vkfmu_status->servo_state, vkfmu_status->flight_dist, vkfmu_status->servo_state2);
+    mavlink_msg_vkfmu_status_send(chan, vkfmu_status->time_boot_ms, vkfmu_status->rtl_reason, vkfmu_status->loiter_reason, vkfmu_status->s_flag3, vkfmu_status->ups_volt, vkfmu_status->adc_volt, vkfmu_status->flight_time, vkfmu_status->dist_to_tar, vkfmu_status->servo_state, vkfmu_status->flight_dist);
 #else
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFMU_STATUS, (const char *)vkfmu_status, MAVLINK_MSG_ID_VKFMU_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFMU_STATUS_LEN, MAVLINK_MSG_ID_VKFMU_STATUS_CRC);
 #endif
@@ -361,7 +346,7 @@ static inline void mavlink_msg_vkfmu_status_send_struct(mavlink_channel_t chan,
   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_vkfmu_status_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint32_t time_boot_ms, uint8_t rtl_reason, uint8_t loiter_reason, uint8_t s_flag3, uint16_t ups_volt, uint16_t adc_volt, uint32_t flight_time, uint32_t dist_to_tar, uint16_t servo_state, float flight_dist, uint16_t servo_state2)
+static inline void mavlink_msg_vkfmu_status_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint32_t time_boot_ms, uint8_t rtl_reason, uint8_t loiter_reason, uint8_t s_flag3, uint16_t ups_volt, uint16_t adc_volt, uint32_t flight_time, uint32_t dist_to_tar, uint16_t servo_state, float flight_dist)
 {
 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
     char *buf = (char *)msgbuf;
@@ -375,7 +360,6 @@ static inline void mavlink_msg_vkfmu_status_send_buf(mavlink_message_t *msgbuf,
     _mav_put_uint8_t(buf, 22, rtl_reason);
     _mav_put_uint8_t(buf, 23, loiter_reason);
     _mav_put_uint8_t(buf, 24, s_flag3);
-    _mav_put_uint16_t(buf, 25, servo_state2);
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFMU_STATUS, buf, MAVLINK_MSG_ID_VKFMU_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFMU_STATUS_LEN, MAVLINK_MSG_ID_VKFMU_STATUS_CRC);
 #else
@@ -390,7 +374,6 @@ static inline void mavlink_msg_vkfmu_status_send_buf(mavlink_message_t *msgbuf,
     packet->rtl_reason = rtl_reason;
     packet->loiter_reason = loiter_reason;
     packet->s_flag3 = s_flag3;
-    packet->servo_state2 = servo_state2;
 
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFMU_STATUS, (const char *)packet, MAVLINK_MSG_ID_VKFMU_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFMU_STATUS_LEN, MAVLINK_MSG_ID_VKFMU_STATUS_CRC);
 #endif
@@ -502,16 +485,6 @@ static inline float mavlink_msg_vkfmu_status_get_flight_dist(const mavlink_messa
     return _MAV_RETURN_float(msg,  12);
 }
 
-/**
- * @brief Get field servo_state2 from vkfmu_status message
- *
- * @return  bitmap for servo state2
- */
-static inline uint16_t mavlink_msg_vkfmu_status_get_servo_state2(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_uint16_t(msg,  25);
-}
-
 /**
  * @brief Decode a vkfmu_status message into a struct
  *
@@ -531,7 +504,6 @@ static inline void mavlink_msg_vkfmu_status_decode(const mavlink_message_t* msg,
     vkfmu_status->rtl_reason = mavlink_msg_vkfmu_status_get_rtl_reason(msg);
     vkfmu_status->loiter_reason = mavlink_msg_vkfmu_status_get_loiter_reason(msg);
     vkfmu_status->s_flag3 = mavlink_msg_vkfmu_status_get_s_flag3(msg);
-    vkfmu_status->servo_state2 = mavlink_msg_vkfmu_status_get_servo_state2(msg);
 #else
         uint8_t len = msg->len < MAVLINK_MSG_ID_VKFMU_STATUS_LEN? msg->len : MAVLINK_MSG_ID_VKFMU_STATUS_LEN;
         memset(vkfmu_status, 0, MAVLINK_MSG_ID_VKFMU_STATUS_LEN);

+ 65 - 5
v2.0/VKFly/testsuite.h

@@ -113,7 +113,7 @@ static void mavlink_test_vkfmu_status(uint8_t system_id, uint8_t component_id, m
         uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
         uint16_t i;
     mavlink_vkfmu_status_t packet_in = {
-        963497464,963497672,963497880,101.0,18067,18171,18275,199,10,77,18535
+        963497464,963497672,963497880,101.0,18067,18171,18275,199,10,77
     };
     mavlink_vkfmu_status_t packet1, packet2;
         memset(&packet1, 0, sizeof(packet1));
@@ -127,7 +127,6 @@ static void mavlink_test_vkfmu_status(uint8_t system_id, uint8_t component_id, m
         packet1.rtl_reason = packet_in.rtl_reason;
         packet1.loiter_reason = packet_in.loiter_reason;
         packet1.s_flag3 = packet_in.s_flag3;
-        packet1.servo_state2 = packet_in.servo_state2;
         
         
 #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
@@ -142,12 +141,12 @@ static void mavlink_test_vkfmu_status(uint8_t system_id, uint8_t component_id, m
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
         memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_vkfmu_status_pack(system_id, component_id, &msg , packet1.time_boot_ms , packet1.rtl_reason , packet1.loiter_reason , packet1.s_flag3 , packet1.ups_volt , packet1.adc_volt , packet1.flight_time , packet1.dist_to_tar , packet1.servo_state , packet1.flight_dist , packet1.servo_state2 );
+    mavlink_msg_vkfmu_status_pack(system_id, component_id, &msg , packet1.time_boot_ms , packet1.rtl_reason , packet1.loiter_reason , packet1.s_flag3 , packet1.ups_volt , packet1.adc_volt , packet1.flight_time , packet1.dist_to_tar , packet1.servo_state , packet1.flight_dist );
     mavlink_msg_vkfmu_status_decode(&msg, &packet2);
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
         memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_vkfmu_status_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.time_boot_ms , packet1.rtl_reason , packet1.loiter_reason , packet1.s_flag3 , packet1.ups_volt , packet1.adc_volt , packet1.flight_time , packet1.dist_to_tar , packet1.servo_state , packet1.flight_dist , packet1.servo_state2 );
+    mavlink_msg_vkfmu_status_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.time_boot_ms , packet1.rtl_reason , packet1.loiter_reason , packet1.s_flag3 , packet1.ups_volt , packet1.adc_volt , packet1.flight_time , packet1.dist_to_tar , packet1.servo_state , packet1.flight_dist );
     mavlink_msg_vkfmu_status_decode(&msg, &packet2);
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
@@ -160,7 +159,7 @@ static void mavlink_test_vkfmu_status(uint8_t system_id, uint8_t component_id, m
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
         
         memset(&packet2, 0, sizeof(packet2));
-    mavlink_msg_vkfmu_status_send(MAVLINK_COMM_1 , packet1.time_boot_ms , packet1.rtl_reason , packet1.loiter_reason , packet1.s_flag3 , packet1.ups_volt , packet1.adc_volt , packet1.flight_time , packet1.dist_to_tar , packet1.servo_state , packet1.flight_dist , packet1.servo_state2 );
+    mavlink_msg_vkfmu_status_send(MAVLINK_COMM_1 , packet1.time_boot_ms , packet1.rtl_reason , packet1.loiter_reason , packet1.s_flag3 , packet1.ups_volt , packet1.adc_volt , packet1.flight_time , packet1.dist_to_tar , packet1.servo_state , packet1.flight_dist );
     mavlink_msg_vkfmu_status_decode(last_msg, &packet2);
         MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
 
@@ -1326,6 +1325,66 @@ static void mavlink_test_vkfly_edu_status_ack(uint8_t system_id, uint8_t compone
 #endif
 }
 
+static void mavlink_test_vkfly_tianqu_servo_status(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_VKFLY_TIANQU_SERVO_STATUS >= 256) {
+            return;
+        }
+#endif
+    mavlink_message_t msg;
+        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
+        uint16_t i;
+    mavlink_vkfly_tianqu_servo_status_t packet_in = {
+        963497464,963497672
+    };
+    mavlink_vkfly_tianqu_servo_status_t packet1, packet2;
+        memset(&packet1, 0, sizeof(packet1));
+        packet1.load_status = packet_in.load_status;
+        packet1.servo_status = packet_in.servo_status;
+        
+        
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
+           // cope with extensions
+           memset(MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS_MIN_LEN);
+        }
+#endif
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vkfly_tianqu_servo_status_encode(system_id, component_id, &msg, &packet1);
+    mavlink_msg_vkfly_tianqu_servo_status_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vkfly_tianqu_servo_status_pack(system_id, component_id, &msg , packet1.load_status , packet1.servo_status );
+    mavlink_msg_vkfly_tianqu_servo_status_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vkfly_tianqu_servo_status_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.load_status , packet1.servo_status );
+    mavlink_msg_vkfly_tianqu_servo_status_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_vkfly_tianqu_servo_status_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+        
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vkfly_tianqu_servo_status_send(MAVLINK_COMM_1 , packet1.load_status , packet1.servo_status );
+    mavlink_msg_vkfly_tianqu_servo_status_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("VKFLY_TIANQU_SERVO_STATUS") != NULL);
+    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VKFLY_TIANQU_SERVO_STATUS) != NULL);
+#endif
+}
+
 static void mavlink_test_vk_fw_update_begin(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
 {
 #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
@@ -1808,6 +1867,7 @@ static void mavlink_test_VKFly(uint8_t system_id, uint8_t component_id, mavlink_
     mavlink_test_vk_rtk_base_pvt(system_id, component_id, last_msg);
     mavlink_test_vkfly_edu_status(system_id, component_id, last_msg);
     mavlink_test_vkfly_edu_status_ack(system_id, component_id, last_msg);
+    mavlink_test_vkfly_tianqu_servo_status(system_id, component_id, last_msg);
     mavlink_test_vk_fw_update_begin(system_id, component_id, last_msg);
     mavlink_test_vk_fw_update_ack(system_id, component_id, last_msg);
     mavlink_test_vk_fw_update_data_request(system_id, component_id, last_msg);

+ 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 7763006194309922345
+#define MAVLINK_COMMON_XML_HASH 5984965082876208430
 
 #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 7763006194309922345
+#define MAVLINK_PRIMARY_XML_HASH 5984965082876208430
 
 #ifndef MAVLINK_STX
 #define MAVLINK_STX 253

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

@@ -6,7 +6,7 @@
 #ifndef MAVLINK_H
 #define MAVLINK_H
 
-#define MAVLINK_PRIMARY_XML_HASH -5149160763940711746
+#define MAVLINK_PRIMARY_XML_HASH -5510348078676338365
 
 #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 -5149160763940711746
+#define MAVLINK_MINIMAL_XML_HASH -5510348078676338365
 
 #ifdef __cplusplus
 extern "C" {

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

@@ -6,7 +6,7 @@
 #ifndef MAVLINK_H
 #define MAVLINK_H
 
-#define MAVLINK_PRIMARY_XML_HASH 3194772301987425103
+#define MAVLINK_PRIMARY_XML_HASH 4898782093141634418
 
 #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 3194772301987425103
+#define MAVLINK_STANDARD_XML_HASH 4898782093141634418
 
 #ifdef __cplusplus
 extern "C" {

Some files were not shown because too many files changed in this diff