Browse Source

头文件生成

Liu Yang 3 months ago
parent
commit
66b27efe93

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 938454275083840454
+#define MAVLINK_PRIMARY_XML_HASH -8903054276383468419
 
 #ifndef MAVLINK_STX
 #define MAVLINK_STX 253

+ 396 - 0
v2.0/VKFly/mavlink_msg_vk_fixedwing_control_value.h

@@ -0,0 +1,396 @@
+#pragma once
+// MESSAGE VK_FIXEDWING_CONTROL_VALUE PACKING
+
+#define MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE 53009
+
+
+typedef struct __mavlink_vk_fixedwing_control_value_t {
+ uint32_t timestamp; /*< [ms] Timestamp from system boot.*/
+ float roll_value; /*<  Roll control value,
+        negative value means roll left.*/
+ float pitch_value; /*<  Pitch control value,
+        negative value means pitch down.*/
+ float throttle_value; /*<  Throttle control
+        value, negative value means throttle off*/
+ float yaw_value; /*<  Throttle control
+        value, negative value means throttle off*/
+} mavlink_vk_fixedwing_control_value_t;
+
+#define MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN 20
+#define MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_MIN_LEN 20
+#define MAVLINK_MSG_ID_53009_LEN 20
+#define MAVLINK_MSG_ID_53009_MIN_LEN 20
+
+#define MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_CRC 226
+#define MAVLINK_MSG_ID_53009_CRC 226
+
+
+
+#if MAVLINK_COMMAND_24BIT
+#define MAVLINK_MESSAGE_INFO_VK_FIXEDWING_CONTROL_VALUE { \
+    53009, \
+    "VK_FIXEDWING_CONTROL_VALUE", \
+    5, \
+    {  { "timestamp", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vk_fixedwing_control_value_t, timestamp) }, \
+         { "roll_value", NULL, MAVLINK_TYPE_FLOAT, 0, 4, offsetof(mavlink_vk_fixedwing_control_value_t, roll_value) }, \
+         { "pitch_value", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_vk_fixedwing_control_value_t, pitch_value) }, \
+         { "throttle_value", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_vk_fixedwing_control_value_t, throttle_value) }, \
+         { "yaw_value", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_vk_fixedwing_control_value_t, yaw_value) }, \
+         } \
+}
+#else
+#define MAVLINK_MESSAGE_INFO_VK_FIXEDWING_CONTROL_VALUE { \
+    "VK_FIXEDWING_CONTROL_VALUE", \
+    5, \
+    {  { "timestamp", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vk_fixedwing_control_value_t, timestamp) }, \
+         { "roll_value", NULL, MAVLINK_TYPE_FLOAT, 0, 4, offsetof(mavlink_vk_fixedwing_control_value_t, roll_value) }, \
+         { "pitch_value", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_vk_fixedwing_control_value_t, pitch_value) }, \
+         { "throttle_value", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_vk_fixedwing_control_value_t, throttle_value) }, \
+         { "yaw_value", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_vk_fixedwing_control_value_t, yaw_value) }, \
+         } \
+}
+#endif
+
+/**
+ * @brief Pack a vk_fixedwing_control_value 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 timestamp [ms] Timestamp from system boot.
+ * @param roll_value  Roll control value,
+        negative value means roll left.
+ * @param pitch_value  Pitch control value,
+        negative value means pitch down.
+ * @param throttle_value  Throttle control
+        value, negative value means throttle off
+ * @param yaw_value  Throttle control
+        value, negative value means throttle off
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vk_fixedwing_control_value_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
+                               uint32_t timestamp, float roll_value, float pitch_value, float throttle_value, float yaw_value)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN];
+    _mav_put_uint32_t(buf, 0, timestamp);
+    _mav_put_float(buf, 4, roll_value);
+    _mav_put_float(buf, 8, pitch_value);
+    _mav_put_float(buf, 12, throttle_value);
+    _mav_put_float(buf, 16, yaw_value);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN);
+#else
+    mavlink_vk_fixedwing_control_value_t packet;
+    packet.timestamp = timestamp;
+    packet.roll_value = roll_value;
+    packet.pitch_value = pitch_value;
+    packet.throttle_value = throttle_value;
+    packet.yaw_value = yaw_value;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE;
+    return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_CRC);
+}
+
+/**
+ * @brief Pack a vk_fixedwing_control_value 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 timestamp [ms] Timestamp from system boot.
+ * @param roll_value  Roll control value,
+        negative value means roll left.
+ * @param pitch_value  Pitch control value,
+        negative value means pitch down.
+ * @param throttle_value  Throttle control
+        value, negative value means throttle off
+ * @param yaw_value  Throttle control
+        value, negative value means throttle off
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vk_fixedwing_control_value_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
+                               uint32_t timestamp, float roll_value, float pitch_value, float throttle_value, float yaw_value)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN];
+    _mav_put_uint32_t(buf, 0, timestamp);
+    _mav_put_float(buf, 4, roll_value);
+    _mav_put_float(buf, 8, pitch_value);
+    _mav_put_float(buf, 12, throttle_value);
+    _mav_put_float(buf, 16, yaw_value);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN);
+#else
+    mavlink_vk_fixedwing_control_value_t packet;
+    packet.timestamp = timestamp;
+    packet.roll_value = roll_value;
+    packet.pitch_value = pitch_value;
+    packet.throttle_value = throttle_value;
+    packet.yaw_value = yaw_value;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE;
+#if MAVLINK_CRC_EXTRA
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_CRC);
+#else
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN);
+#endif
+}
+
+/**
+ * @brief Pack a vk_fixedwing_control_value 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 timestamp [ms] Timestamp from system boot.
+ * @param roll_value  Roll control value,
+        negative value means roll left.
+ * @param pitch_value  Pitch control value,
+        negative value means pitch down.
+ * @param throttle_value  Throttle control
+        value, negative value means throttle off
+ * @param yaw_value  Throttle control
+        value, negative value means throttle off
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vk_fixedwing_control_value_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
+                               mavlink_message_t* msg,
+                                   uint32_t timestamp,float roll_value,float pitch_value,float throttle_value,float yaw_value)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN];
+    _mav_put_uint32_t(buf, 0, timestamp);
+    _mav_put_float(buf, 4, roll_value);
+    _mav_put_float(buf, 8, pitch_value);
+    _mav_put_float(buf, 12, throttle_value);
+    _mav_put_float(buf, 16, yaw_value);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN);
+#else
+    mavlink_vk_fixedwing_control_value_t packet;
+    packet.timestamp = timestamp;
+    packet.roll_value = roll_value;
+    packet.pitch_value = pitch_value;
+    packet.throttle_value = throttle_value;
+    packet.yaw_value = yaw_value;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE;
+    return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_CRC);
+}
+
+/**
+ * @brief Encode a vk_fixedwing_control_value 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_fixedwing_control_value C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vk_fixedwing_control_value_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_vk_fixedwing_control_value_t* vk_fixedwing_control_value)
+{
+    return mavlink_msg_vk_fixedwing_control_value_pack(system_id, component_id, msg, vk_fixedwing_control_value->timestamp, vk_fixedwing_control_value->roll_value, vk_fixedwing_control_value->pitch_value, vk_fixedwing_control_value->throttle_value, vk_fixedwing_control_value->yaw_value);
+}
+
+/**
+ * @brief Encode a vk_fixedwing_control_value 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_fixedwing_control_value C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vk_fixedwing_control_value_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_vk_fixedwing_control_value_t* vk_fixedwing_control_value)
+{
+    return mavlink_msg_vk_fixedwing_control_value_pack_chan(system_id, component_id, chan, msg, vk_fixedwing_control_value->timestamp, vk_fixedwing_control_value->roll_value, vk_fixedwing_control_value->pitch_value, vk_fixedwing_control_value->throttle_value, vk_fixedwing_control_value->yaw_value);
+}
+
+/**
+ * @brief Encode a vk_fixedwing_control_value 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_fixedwing_control_value C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vk_fixedwing_control_value_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_vk_fixedwing_control_value_t* vk_fixedwing_control_value)
+{
+    return mavlink_msg_vk_fixedwing_control_value_pack_status(system_id, component_id, _status, msg,  vk_fixedwing_control_value->timestamp, vk_fixedwing_control_value->roll_value, vk_fixedwing_control_value->pitch_value, vk_fixedwing_control_value->throttle_value, vk_fixedwing_control_value->yaw_value);
+}
+
+/**
+ * @brief Send a vk_fixedwing_control_value message
+ * @param chan MAVLink channel to send the message
+ *
+ * @param timestamp [ms] Timestamp from system boot.
+ * @param roll_value  Roll control value,
+        negative value means roll left.
+ * @param pitch_value  Pitch control value,
+        negative value means pitch down.
+ * @param throttle_value  Throttle control
+        value, negative value means throttle off
+ * @param yaw_value  Throttle control
+        value, negative value means throttle off
+ */
+#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
+
+static inline void mavlink_msg_vk_fixedwing_control_value_send(mavlink_channel_t chan, uint32_t timestamp, float roll_value, float pitch_value, float throttle_value, float yaw_value)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN];
+    _mav_put_uint32_t(buf, 0, timestamp);
+    _mav_put_float(buf, 4, roll_value);
+    _mav_put_float(buf, 8, pitch_value);
+    _mav_put_float(buf, 12, throttle_value);
+    _mav_put_float(buf, 16, yaw_value);
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE, buf, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_CRC);
+#else
+    mavlink_vk_fixedwing_control_value_t packet;
+    packet.timestamp = timestamp;
+    packet.roll_value = roll_value;
+    packet.pitch_value = pitch_value;
+    packet.throttle_value = throttle_value;
+    packet.yaw_value = yaw_value;
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE, (const char *)&packet, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_CRC);
+#endif
+}
+
+/**
+ * @brief Send a vk_fixedwing_control_value message
+ * @param chan MAVLink channel to send the message
+ * @param struct The MAVLink struct to serialize
+ */
+static inline void mavlink_msg_vk_fixedwing_control_value_send_struct(mavlink_channel_t chan, const mavlink_vk_fixedwing_control_value_t* vk_fixedwing_control_value)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    mavlink_msg_vk_fixedwing_control_value_send(chan, vk_fixedwing_control_value->timestamp, vk_fixedwing_control_value->roll_value, vk_fixedwing_control_value->pitch_value, vk_fixedwing_control_value->throttle_value, vk_fixedwing_control_value->yaw_value);
+#else
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE, (const char *)vk_fixedwing_control_value, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_CRC);
+#endif
+}
+
+#if MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_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_fixedwing_control_value_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint32_t timestamp, float roll_value, float pitch_value, float throttle_value, float yaw_value)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char *buf = (char *)msgbuf;
+    _mav_put_uint32_t(buf, 0, timestamp);
+    _mav_put_float(buf, 4, roll_value);
+    _mav_put_float(buf, 8, pitch_value);
+    _mav_put_float(buf, 12, throttle_value);
+    _mav_put_float(buf, 16, yaw_value);
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE, buf, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_CRC);
+#else
+    mavlink_vk_fixedwing_control_value_t *packet = (mavlink_vk_fixedwing_control_value_t *)msgbuf;
+    packet->timestamp = timestamp;
+    packet->roll_value = roll_value;
+    packet->pitch_value = pitch_value;
+    packet->throttle_value = throttle_value;
+    packet->yaw_value = yaw_value;
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE, (const char *)packet, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_CRC);
+#endif
+}
+#endif
+
+#endif
+
+// MESSAGE VK_FIXEDWING_CONTROL_VALUE UNPACKING
+
+
+/**
+ * @brief Get field timestamp from vk_fixedwing_control_value message
+ *
+ * @return [ms] Timestamp from system boot.
+ */
+static inline uint32_t mavlink_msg_vk_fixedwing_control_value_get_timestamp(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint32_t(msg,  0);
+}
+
+/**
+ * @brief Get field roll_value from vk_fixedwing_control_value message
+ *
+ * @return  Roll control value,
+        negative value means roll left.
+ */
+static inline float mavlink_msg_vk_fixedwing_control_value_get_roll_value(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_float(msg,  4);
+}
+
+/**
+ * @brief Get field pitch_value from vk_fixedwing_control_value message
+ *
+ * @return  Pitch control value,
+        negative value means pitch down.
+ */
+static inline float mavlink_msg_vk_fixedwing_control_value_get_pitch_value(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_float(msg,  8);
+}
+
+/**
+ * @brief Get field throttle_value from vk_fixedwing_control_value message
+ *
+ * @return  Throttle control
+        value, negative value means throttle off
+ */
+static inline float mavlink_msg_vk_fixedwing_control_value_get_throttle_value(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_float(msg,  12);
+}
+
+/**
+ * @brief Get field yaw_value from vk_fixedwing_control_value message
+ *
+ * @return  Throttle control
+        value, negative value means throttle off
+ */
+static inline float mavlink_msg_vk_fixedwing_control_value_get_yaw_value(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_float(msg,  16);
+}
+
+/**
+ * @brief Decode a vk_fixedwing_control_value message into a struct
+ *
+ * @param msg The message to decode
+ * @param vk_fixedwing_control_value C-struct to decode the message contents into
+ */
+static inline void mavlink_msg_vk_fixedwing_control_value_decode(const mavlink_message_t* msg, mavlink_vk_fixedwing_control_value_t* vk_fixedwing_control_value)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    vk_fixedwing_control_value->timestamp = mavlink_msg_vk_fixedwing_control_value_get_timestamp(msg);
+    vk_fixedwing_control_value->roll_value = mavlink_msg_vk_fixedwing_control_value_get_roll_value(msg);
+    vk_fixedwing_control_value->pitch_value = mavlink_msg_vk_fixedwing_control_value_get_pitch_value(msg);
+    vk_fixedwing_control_value->throttle_value = mavlink_msg_vk_fixedwing_control_value_get_throttle_value(msg);
+    vk_fixedwing_control_value->yaw_value = mavlink_msg_vk_fixedwing_control_value_get_yaw_value(msg);
+#else
+        uint8_t len = msg->len < MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN? msg->len : MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN;
+        memset(vk_fixedwing_control_value, 0, MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_LEN);
+    memcpy(vk_fixedwing_control_value, _MAV_PAYLOAD(msg), len);
+#endif
+}

+ 278 - 0
v2.0/VKFly/mavlink_msg_vk_fixedwing_servo_signal.h

@@ -0,0 +1,278 @@
+#pragma once
+// MESSAGE VK_FIXEDWING_SERVO_SIGNAL PACKING
+
+#define MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL 53010
+
+
+typedef struct __mavlink_vk_fixedwing_servo_signal_t {
+ uint32_t timestamp; /*< [ms] Timestamp from system boot.*/
+ uint16_t servo_signal[16]; /*<  Servo signal*/
+} mavlink_vk_fixedwing_servo_signal_t;
+
+#define MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN 36
+#define MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_MIN_LEN 36
+#define MAVLINK_MSG_ID_53010_LEN 36
+#define MAVLINK_MSG_ID_53010_MIN_LEN 36
+
+#define MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_CRC 33
+#define MAVLINK_MSG_ID_53010_CRC 33
+
+#define MAVLINK_MSG_VK_FIXEDWING_SERVO_SIGNAL_FIELD_SERVO_SIGNAL_LEN 16
+
+#if MAVLINK_COMMAND_24BIT
+#define MAVLINK_MESSAGE_INFO_VK_FIXEDWING_SERVO_SIGNAL { \
+    53010, \
+    "VK_FIXEDWING_SERVO_SIGNAL", \
+    2, \
+    {  { "timestamp", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vk_fixedwing_servo_signal_t, timestamp) }, \
+         { "servo_signal", NULL, MAVLINK_TYPE_UINT16_T, 16, 4, offsetof(mavlink_vk_fixedwing_servo_signal_t, servo_signal) }, \
+         } \
+}
+#else
+#define MAVLINK_MESSAGE_INFO_VK_FIXEDWING_SERVO_SIGNAL { \
+    "VK_FIXEDWING_SERVO_SIGNAL", \
+    2, \
+    {  { "timestamp", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vk_fixedwing_servo_signal_t, timestamp) }, \
+         { "servo_signal", NULL, MAVLINK_TYPE_UINT16_T, 16, 4, offsetof(mavlink_vk_fixedwing_servo_signal_t, servo_signal) }, \
+         } \
+}
+#endif
+
+/**
+ * @brief Pack a vk_fixedwing_servo_signal 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 timestamp [ms] Timestamp from system boot.
+ * @param servo_signal  Servo signal
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vk_fixedwing_servo_signal_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
+                               uint32_t timestamp, const uint16_t *servo_signal)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN];
+    _mav_put_uint32_t(buf, 0, timestamp);
+    _mav_put_uint16_t_array(buf, 4, servo_signal, 16);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN);
+#else
+    mavlink_vk_fixedwing_servo_signal_t packet;
+    packet.timestamp = timestamp;
+    mav_array_memcpy(packet.servo_signal, servo_signal, sizeof(uint16_t)*16);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL;
+    return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_CRC);
+}
+
+/**
+ * @brief Pack a vk_fixedwing_servo_signal 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 timestamp [ms] Timestamp from system boot.
+ * @param servo_signal  Servo signal
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vk_fixedwing_servo_signal_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
+                               uint32_t timestamp, const uint16_t *servo_signal)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN];
+    _mav_put_uint32_t(buf, 0, timestamp);
+    _mav_put_uint16_t_array(buf, 4, servo_signal, 16);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN);
+#else
+    mavlink_vk_fixedwing_servo_signal_t packet;
+    packet.timestamp = timestamp;
+    mav_array_memcpy(packet.servo_signal, servo_signal, sizeof(uint16_t)*16);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL;
+#if MAVLINK_CRC_EXTRA
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_CRC);
+#else
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN);
+#endif
+}
+
+/**
+ * @brief Pack a vk_fixedwing_servo_signal 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 timestamp [ms] Timestamp from system boot.
+ * @param servo_signal  Servo signal
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vk_fixedwing_servo_signal_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
+                               mavlink_message_t* msg,
+                                   uint32_t timestamp,const uint16_t *servo_signal)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN];
+    _mav_put_uint32_t(buf, 0, timestamp);
+    _mav_put_uint16_t_array(buf, 4, servo_signal, 16);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN);
+#else
+    mavlink_vk_fixedwing_servo_signal_t packet;
+    packet.timestamp = timestamp;
+    mav_array_memcpy(packet.servo_signal, servo_signal, sizeof(uint16_t)*16);
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL;
+    return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_CRC);
+}
+
+/**
+ * @brief Encode a vk_fixedwing_servo_signal 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_fixedwing_servo_signal C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vk_fixedwing_servo_signal_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_vk_fixedwing_servo_signal_t* vk_fixedwing_servo_signal)
+{
+    return mavlink_msg_vk_fixedwing_servo_signal_pack(system_id, component_id, msg, vk_fixedwing_servo_signal->timestamp, vk_fixedwing_servo_signal->servo_signal);
+}
+
+/**
+ * @brief Encode a vk_fixedwing_servo_signal 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_fixedwing_servo_signal C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vk_fixedwing_servo_signal_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_vk_fixedwing_servo_signal_t* vk_fixedwing_servo_signal)
+{
+    return mavlink_msg_vk_fixedwing_servo_signal_pack_chan(system_id, component_id, chan, msg, vk_fixedwing_servo_signal->timestamp, vk_fixedwing_servo_signal->servo_signal);
+}
+
+/**
+ * @brief Encode a vk_fixedwing_servo_signal 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_fixedwing_servo_signal C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vk_fixedwing_servo_signal_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_vk_fixedwing_servo_signal_t* vk_fixedwing_servo_signal)
+{
+    return mavlink_msg_vk_fixedwing_servo_signal_pack_status(system_id, component_id, _status, msg,  vk_fixedwing_servo_signal->timestamp, vk_fixedwing_servo_signal->servo_signal);
+}
+
+/**
+ * @brief Send a vk_fixedwing_servo_signal message
+ * @param chan MAVLink channel to send the message
+ *
+ * @param timestamp [ms] Timestamp from system boot.
+ * @param servo_signal  Servo signal
+ */
+#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
+
+static inline void mavlink_msg_vk_fixedwing_servo_signal_send(mavlink_channel_t chan, uint32_t timestamp, const uint16_t *servo_signal)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN];
+    _mav_put_uint32_t(buf, 0, timestamp);
+    _mav_put_uint16_t_array(buf, 4, servo_signal, 16);
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL, buf, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_CRC);
+#else
+    mavlink_vk_fixedwing_servo_signal_t packet;
+    packet.timestamp = timestamp;
+    mav_array_memcpy(packet.servo_signal, servo_signal, sizeof(uint16_t)*16);
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL, (const char *)&packet, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_CRC);
+#endif
+}
+
+/**
+ * @brief Send a vk_fixedwing_servo_signal message
+ * @param chan MAVLink channel to send the message
+ * @param struct The MAVLink struct to serialize
+ */
+static inline void mavlink_msg_vk_fixedwing_servo_signal_send_struct(mavlink_channel_t chan, const mavlink_vk_fixedwing_servo_signal_t* vk_fixedwing_servo_signal)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    mavlink_msg_vk_fixedwing_servo_signal_send(chan, vk_fixedwing_servo_signal->timestamp, vk_fixedwing_servo_signal->servo_signal);
+#else
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL, (const char *)vk_fixedwing_servo_signal, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_CRC);
+#endif
+}
+
+#if MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_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_fixedwing_servo_signal_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint32_t timestamp, const uint16_t *servo_signal)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char *buf = (char *)msgbuf;
+    _mav_put_uint32_t(buf, 0, timestamp);
+    _mav_put_uint16_t_array(buf, 4, servo_signal, 16);
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL, buf, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_CRC);
+#else
+    mavlink_vk_fixedwing_servo_signal_t *packet = (mavlink_vk_fixedwing_servo_signal_t *)msgbuf;
+    packet->timestamp = timestamp;
+    mav_array_memcpy(packet->servo_signal, servo_signal, sizeof(uint16_t)*16);
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL, (const char *)packet, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_MIN_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_CRC);
+#endif
+}
+#endif
+
+#endif
+
+// MESSAGE VK_FIXEDWING_SERVO_SIGNAL UNPACKING
+
+
+/**
+ * @brief Get field timestamp from vk_fixedwing_servo_signal message
+ *
+ * @return [ms] Timestamp from system boot.
+ */
+static inline uint32_t mavlink_msg_vk_fixedwing_servo_signal_get_timestamp(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint32_t(msg,  0);
+}
+
+/**
+ * @brief Get field servo_signal from vk_fixedwing_servo_signal message
+ *
+ * @return  Servo signal
+ */
+static inline uint16_t mavlink_msg_vk_fixedwing_servo_signal_get_servo_signal(const mavlink_message_t* msg, uint16_t *servo_signal)
+{
+    return _MAV_RETURN_uint16_t_array(msg, servo_signal, 16,  4);
+}
+
+/**
+ * @brief Decode a vk_fixedwing_servo_signal message into a struct
+ *
+ * @param msg The message to decode
+ * @param vk_fixedwing_servo_signal C-struct to decode the message contents into
+ */
+static inline void mavlink_msg_vk_fixedwing_servo_signal_decode(const mavlink_message_t* msg, mavlink_vk_fixedwing_servo_signal_t* vk_fixedwing_servo_signal)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    vk_fixedwing_servo_signal->timestamp = mavlink_msg_vk_fixedwing_servo_signal_get_timestamp(msg);
+    mavlink_msg_vk_fixedwing_servo_signal_get_servo_signal(msg, vk_fixedwing_servo_signal->servo_signal);
+#else
+        uint8_t len = msg->len < MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN? msg->len : MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN;
+        memset(vk_fixedwing_servo_signal, 0, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN);
+    memcpy(vk_fixedwing_servo_signal, _MAV_PAYLOAD(msg), len);
+#endif
+}

+ 125 - 0
v2.0/VKFly/testsuite.h

@@ -656,6 +656,129 @@ static void mavlink_test_vk_digi_esc_status(uint8_t system_id, uint8_t component
 #endif
 }
 
+static void mavlink_test_vk_fixedwing_control_value(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_FIXEDWING_CONTROL_VALUE >= 256) {
+            return;
+        }
+#endif
+    mavlink_message_t msg;
+        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
+        uint16_t i;
+    mavlink_vk_fixedwing_control_value_t packet_in = {
+        963497464,45.0,73.0,101.0,129.0
+    };
+    mavlink_vk_fixedwing_control_value_t packet1, packet2;
+        memset(&packet1, 0, sizeof(packet1));
+        packet1.timestamp = packet_in.timestamp;
+        packet1.roll_value = packet_in.roll_value;
+        packet1.pitch_value = packet_in.pitch_value;
+        packet1.throttle_value = packet_in.throttle_value;
+        packet1.yaw_value = packet_in.yaw_value;
+        
+        
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
+           // cope with extensions
+           memset(MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE_MIN_LEN);
+        }
+#endif
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vk_fixedwing_control_value_encode(system_id, component_id, &msg, &packet1);
+    mavlink_msg_vk_fixedwing_control_value_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vk_fixedwing_control_value_pack(system_id, component_id, &msg , packet1.timestamp , packet1.roll_value , packet1.pitch_value , packet1.throttle_value , packet1.yaw_value );
+    mavlink_msg_vk_fixedwing_control_value_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vk_fixedwing_control_value_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.timestamp , packet1.roll_value , packet1.pitch_value , packet1.throttle_value , packet1.yaw_value );
+    mavlink_msg_vk_fixedwing_control_value_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_fixedwing_control_value_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+        
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vk_fixedwing_control_value_send(MAVLINK_COMM_1 , packet1.timestamp , packet1.roll_value , packet1.pitch_value , packet1.throttle_value , packet1.yaw_value );
+    mavlink_msg_vk_fixedwing_control_value_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_FIXEDWING_CONTROL_VALUE") != NULL);
+    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_FIXEDWING_CONTROL_VALUE) != NULL);
+#endif
+}
+
+static void mavlink_test_vk_fixedwing_servo_signal(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_FIXEDWING_SERVO_SIGNAL >= 256) {
+            return;
+        }
+#endif
+    mavlink_message_t msg;
+        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
+        uint16_t i;
+    mavlink_vk_fixedwing_servo_signal_t packet_in = {
+        963497464,{ 17443, 17444, 17445, 17446, 17447, 17448, 17449, 17450, 17451, 17452, 17453, 17454, 17455, 17456, 17457, 17458 }
+    };
+    mavlink_vk_fixedwing_servo_signal_t packet1, packet2;
+        memset(&packet1, 0, sizeof(packet1));
+        packet1.timestamp = packet_in.timestamp;
+        
+        mav_array_memcpy(packet1.servo_signal, packet_in.servo_signal, sizeof(uint16_t)*16);
+        
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
+           // cope with extensions
+           memset(MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_MIN_LEN);
+        }
+#endif
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vk_fixedwing_servo_signal_encode(system_id, component_id, &msg, &packet1);
+    mavlink_msg_vk_fixedwing_servo_signal_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vk_fixedwing_servo_signal_pack(system_id, component_id, &msg , packet1.timestamp , packet1.servo_signal );
+    mavlink_msg_vk_fixedwing_servo_signal_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vk_fixedwing_servo_signal_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.timestamp , packet1.servo_signal );
+    mavlink_msg_vk_fixedwing_servo_signal_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_fixedwing_servo_signal_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+        
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vk_fixedwing_servo_signal_send(MAVLINK_COMM_1 , packet1.timestamp , packet1.servo_signal );
+    mavlink_msg_vk_fixedwing_servo_signal_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_FIXEDWING_SERVO_SIGNAL") != NULL);
+    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL) != 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
@@ -1166,6 +1289,8 @@ static void mavlink_test_VKFly(uint8_t system_id, uint8_t component_id, mavlink_
     mavlink_test_vk_comp_version(system_id, component_id, last_msg);
     mavlink_test_vk_mosaich_gps_raw(system_id, component_id, last_msg);
     mavlink_test_vk_digi_esc_status(system_id, component_id, last_msg);
+    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_parachute_status(system_id, component_id, last_msg);
     mavlink_test_vk_weigher_state(system_id, component_id, last_msg);
     mavlink_test_vk_fw_update_begin(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 "Wed Apr 16 2025"
+#define MAVLINK_BUILD_DATE "Fri Apr 18 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 -1290668020669523736
+#define MAVLINK_COMMON_XML_HASH -5274663848474871002
 
 #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 -1290668020669523736
+#define MAVLINK_PRIMARY_XML_HASH -5274663848474871002
 
 #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 "Wed Apr 16 2025"
+#define MAVLINK_BUILD_DATE "Fri Apr 18 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 1287567711535252553
+#define MAVLINK_PRIMARY_XML_HASH -6232334486436891425
 
 #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 1287567711535252553
+#define MAVLINK_MINIMAL_XML_HASH -6232334486436891425
 
 #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 "Wed Apr 16 2025"
+#define MAVLINK_BUILD_DATE "Fri Apr 18 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 -2670135673974950159
+#define MAVLINK_PRIMARY_XML_HASH -2346958281356136060
 
 #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 -2670135673974950159
+#define MAVLINK_STANDARD_XML_HASH -2346958281356136060
 
 #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 "Wed Apr 16 2025"
+#define MAVLINK_BUILD_DATE "Fri Apr 18 2025"
 #define MAVLINK_WIRE_PROTOCOL_VERSION "2.0"
 #define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 22
  

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