Browse Source

增加雷达目标定位和抓捕指定等, 代码文件

Liu Yang 3 months ago
parent
commit
675adc37f3

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 5143006658088487580
+#define MAVLINK_PRIMARY_XML_HASH 9039285350645960627
 
 #ifndef MAVLINK_STX
 #define MAVLINK_STX 253

+ 428 - 0
v2.0/VKFly/mavlink_msg_vkfly_lidar_target_globla_position.h

@@ -0,0 +1,428 @@
+#pragma once
+// MESSAGE VKFLY_LIDAR_TARGET_GLOBLA_POSITION PACKING
+
+#define MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION 53900
+
+
+typedef struct __mavlink_vkfly_lidar_target_globla_position_t {
+ int32_t longitude; /*< [degE7] radar target longitude*/
+ int32_t latitude; /*< [degE7] radar target latitdue*/
+ float amsl; /*< [m] radar target amsl altitude*/
+ float ve; /*< [m/s] radar target amsl altitude*/
+ float vn; /*< [m/s] radar target amsl altitude*/
+ float vu; /*< [m/s] radar target amsl altitude*/
+ uint8_t flag; /*<  radar target location status*/
+} mavlink_vkfly_lidar_target_globla_position_t;
+
+#define MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN 25
+#define MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_MIN_LEN 25
+#define MAVLINK_MSG_ID_53900_LEN 25
+#define MAVLINK_MSG_ID_53900_MIN_LEN 25
+
+#define MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_CRC 189
+#define MAVLINK_MSG_ID_53900_CRC 189
+
+
+
+#if MAVLINK_COMMAND_24BIT
+#define MAVLINK_MESSAGE_INFO_VKFLY_LIDAR_TARGET_GLOBLA_POSITION { \
+    53900, \
+    "VKFLY_LIDAR_TARGET_GLOBLA_POSITION", \
+    7, \
+    {  { "longitude", NULL, MAVLINK_TYPE_INT32_T, 0, 0, offsetof(mavlink_vkfly_lidar_target_globla_position_t, longitude) }, \
+         { "latitude", NULL, MAVLINK_TYPE_INT32_T, 0, 4, offsetof(mavlink_vkfly_lidar_target_globla_position_t, latitude) }, \
+         { "amsl", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_vkfly_lidar_target_globla_position_t, amsl) }, \
+         { "ve", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_vkfly_lidar_target_globla_position_t, ve) }, \
+         { "vn", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_vkfly_lidar_target_globla_position_t, vn) }, \
+         { "vu", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_vkfly_lidar_target_globla_position_t, vu) }, \
+         { "flag", NULL, MAVLINK_TYPE_UINT8_T, 0, 24, offsetof(mavlink_vkfly_lidar_target_globla_position_t, flag) }, \
+         } \
+}
+#else
+#define MAVLINK_MESSAGE_INFO_VKFLY_LIDAR_TARGET_GLOBLA_POSITION { \
+    "VKFLY_LIDAR_TARGET_GLOBLA_POSITION", \
+    7, \
+    {  { "longitude", NULL, MAVLINK_TYPE_INT32_T, 0, 0, offsetof(mavlink_vkfly_lidar_target_globla_position_t, longitude) }, \
+         { "latitude", NULL, MAVLINK_TYPE_INT32_T, 0, 4, offsetof(mavlink_vkfly_lidar_target_globla_position_t, latitude) }, \
+         { "amsl", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_vkfly_lidar_target_globla_position_t, amsl) }, \
+         { "ve", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_vkfly_lidar_target_globla_position_t, ve) }, \
+         { "vn", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_vkfly_lidar_target_globla_position_t, vn) }, \
+         { "vu", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_vkfly_lidar_target_globla_position_t, vu) }, \
+         { "flag", NULL, MAVLINK_TYPE_UINT8_T, 0, 24, offsetof(mavlink_vkfly_lidar_target_globla_position_t, flag) }, \
+         } \
+}
+#endif
+
+/**
+ * @brief Pack a vkfly_lidar_target_globla_position 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 longitude [degE7] radar target longitude
+ * @param latitude [degE7] radar target latitdue
+ * @param amsl [m] radar target amsl altitude
+ * @param ve [m/s] radar target amsl altitude
+ * @param vn [m/s] radar target amsl altitude
+ * @param vu [m/s] radar target amsl altitude
+ * @param flag  radar target location status
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vkfly_lidar_target_globla_position_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
+                               int32_t longitude, int32_t latitude, float amsl, float ve, float vn, float vu, uint8_t flag)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN];
+    _mav_put_int32_t(buf, 0, longitude);
+    _mav_put_int32_t(buf, 4, latitude);
+    _mav_put_float(buf, 8, amsl);
+    _mav_put_float(buf, 12, ve);
+    _mav_put_float(buf, 16, vn);
+    _mav_put_float(buf, 20, vu);
+    _mav_put_uint8_t(buf, 24, flag);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN);
+#else
+    mavlink_vkfly_lidar_target_globla_position_t packet;
+    packet.longitude = longitude;
+    packet.latitude = latitude;
+    packet.amsl = amsl;
+    packet.ve = ve;
+    packet.vn = vn;
+    packet.vu = vu;
+    packet.flag = flag;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION;
+    return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_MIN_LEN, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_CRC);
+}
+
+/**
+ * @brief Pack a vkfly_lidar_target_globla_position 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 longitude [degE7] radar target longitude
+ * @param latitude [degE7] radar target latitdue
+ * @param amsl [m] radar target amsl altitude
+ * @param ve [m/s] radar target amsl altitude
+ * @param vn [m/s] radar target amsl altitude
+ * @param vu [m/s] radar target amsl altitude
+ * @param flag  radar target location status
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vkfly_lidar_target_globla_position_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
+                               int32_t longitude, int32_t latitude, float amsl, float ve, float vn, float vu, uint8_t flag)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN];
+    _mav_put_int32_t(buf, 0, longitude);
+    _mav_put_int32_t(buf, 4, latitude);
+    _mav_put_float(buf, 8, amsl);
+    _mav_put_float(buf, 12, ve);
+    _mav_put_float(buf, 16, vn);
+    _mav_put_float(buf, 20, vu);
+    _mav_put_uint8_t(buf, 24, flag);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN);
+#else
+    mavlink_vkfly_lidar_target_globla_position_t packet;
+    packet.longitude = longitude;
+    packet.latitude = latitude;
+    packet.amsl = amsl;
+    packet.ve = ve;
+    packet.vn = vn;
+    packet.vu = vu;
+    packet.flag = flag;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION;
+#if MAVLINK_CRC_EXTRA
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_MIN_LEN, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_CRC);
+#else
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_MIN_LEN, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN);
+#endif
+}
+
+/**
+ * @brief Pack a vkfly_lidar_target_globla_position 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 longitude [degE7] radar target longitude
+ * @param latitude [degE7] radar target latitdue
+ * @param amsl [m] radar target amsl altitude
+ * @param ve [m/s] radar target amsl altitude
+ * @param vn [m/s] radar target amsl altitude
+ * @param vu [m/s] radar target amsl altitude
+ * @param flag  radar target location status
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vkfly_lidar_target_globla_position_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
+                               mavlink_message_t* msg,
+                                   int32_t longitude,int32_t latitude,float amsl,float ve,float vn,float vu,uint8_t flag)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN];
+    _mav_put_int32_t(buf, 0, longitude);
+    _mav_put_int32_t(buf, 4, latitude);
+    _mav_put_float(buf, 8, amsl);
+    _mav_put_float(buf, 12, ve);
+    _mav_put_float(buf, 16, vn);
+    _mav_put_float(buf, 20, vu);
+    _mav_put_uint8_t(buf, 24, flag);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN);
+#else
+    mavlink_vkfly_lidar_target_globla_position_t packet;
+    packet.longitude = longitude;
+    packet.latitude = latitude;
+    packet.amsl = amsl;
+    packet.ve = ve;
+    packet.vn = vn;
+    packet.vu = vu;
+    packet.flag = flag;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION;
+    return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_MIN_LEN, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_CRC);
+}
+
+/**
+ * @brief Encode a vkfly_lidar_target_globla_position 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_lidar_target_globla_position C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vkfly_lidar_target_globla_position_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_vkfly_lidar_target_globla_position_t* vkfly_lidar_target_globla_position)
+{
+    return mavlink_msg_vkfly_lidar_target_globla_position_pack(system_id, component_id, msg, vkfly_lidar_target_globla_position->longitude, vkfly_lidar_target_globla_position->latitude, vkfly_lidar_target_globla_position->amsl, vkfly_lidar_target_globla_position->ve, vkfly_lidar_target_globla_position->vn, vkfly_lidar_target_globla_position->vu, vkfly_lidar_target_globla_position->flag);
+}
+
+/**
+ * @brief Encode a vkfly_lidar_target_globla_position 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_lidar_target_globla_position C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vkfly_lidar_target_globla_position_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_vkfly_lidar_target_globla_position_t* vkfly_lidar_target_globla_position)
+{
+    return mavlink_msg_vkfly_lidar_target_globla_position_pack_chan(system_id, component_id, chan, msg, vkfly_lidar_target_globla_position->longitude, vkfly_lidar_target_globla_position->latitude, vkfly_lidar_target_globla_position->amsl, vkfly_lidar_target_globla_position->ve, vkfly_lidar_target_globla_position->vn, vkfly_lidar_target_globla_position->vu, vkfly_lidar_target_globla_position->flag);
+}
+
+/**
+ * @brief Encode a vkfly_lidar_target_globla_position 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_lidar_target_globla_position C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vkfly_lidar_target_globla_position_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_vkfly_lidar_target_globla_position_t* vkfly_lidar_target_globla_position)
+{
+    return mavlink_msg_vkfly_lidar_target_globla_position_pack_status(system_id, component_id, _status, msg,  vkfly_lidar_target_globla_position->longitude, vkfly_lidar_target_globla_position->latitude, vkfly_lidar_target_globla_position->amsl, vkfly_lidar_target_globla_position->ve, vkfly_lidar_target_globla_position->vn, vkfly_lidar_target_globla_position->vu, vkfly_lidar_target_globla_position->flag);
+}
+
+/**
+ * @brief Send a vkfly_lidar_target_globla_position message
+ * @param chan MAVLink channel to send the message
+ *
+ * @param longitude [degE7] radar target longitude
+ * @param latitude [degE7] radar target latitdue
+ * @param amsl [m] radar target amsl altitude
+ * @param ve [m/s] radar target amsl altitude
+ * @param vn [m/s] radar target amsl altitude
+ * @param vu [m/s] radar target amsl altitude
+ * @param flag  radar target location status
+ */
+#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
+
+static inline void mavlink_msg_vkfly_lidar_target_globla_position_send(mavlink_channel_t chan, int32_t longitude, int32_t latitude, float amsl, float ve, float vn, float vu, uint8_t flag)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN];
+    _mav_put_int32_t(buf, 0, longitude);
+    _mav_put_int32_t(buf, 4, latitude);
+    _mav_put_float(buf, 8, amsl);
+    _mav_put_float(buf, 12, ve);
+    _mav_put_float(buf, 16, vn);
+    _mav_put_float(buf, 20, vu);
+    _mav_put_uint8_t(buf, 24, flag);
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION, buf, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_MIN_LEN, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_CRC);
+#else
+    mavlink_vkfly_lidar_target_globla_position_t packet;
+    packet.longitude = longitude;
+    packet.latitude = latitude;
+    packet.amsl = amsl;
+    packet.ve = ve;
+    packet.vn = vn;
+    packet.vu = vu;
+    packet.flag = flag;
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION, (const char *)&packet, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_MIN_LEN, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_CRC);
+#endif
+}
+
+/**
+ * @brief Send a vkfly_lidar_target_globla_position message
+ * @param chan MAVLink channel to send the message
+ * @param struct The MAVLink struct to serialize
+ */
+static inline void mavlink_msg_vkfly_lidar_target_globla_position_send_struct(mavlink_channel_t chan, const mavlink_vkfly_lidar_target_globla_position_t* vkfly_lidar_target_globla_position)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    mavlink_msg_vkfly_lidar_target_globla_position_send(chan, vkfly_lidar_target_globla_position->longitude, vkfly_lidar_target_globla_position->latitude, vkfly_lidar_target_globla_position->amsl, vkfly_lidar_target_globla_position->ve, vkfly_lidar_target_globla_position->vn, vkfly_lidar_target_globla_position->vu, vkfly_lidar_target_globla_position->flag);
+#else
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION, (const char *)vkfly_lidar_target_globla_position, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_MIN_LEN, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_CRC);
+#endif
+}
+
+#if MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_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_lidar_target_globla_position_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  int32_t longitude, int32_t latitude, float amsl, float ve, float vn, float vu, uint8_t flag)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char *buf = (char *)msgbuf;
+    _mav_put_int32_t(buf, 0, longitude);
+    _mav_put_int32_t(buf, 4, latitude);
+    _mav_put_float(buf, 8, amsl);
+    _mav_put_float(buf, 12, ve);
+    _mav_put_float(buf, 16, vn);
+    _mav_put_float(buf, 20, vu);
+    _mav_put_uint8_t(buf, 24, flag);
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION, buf, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_MIN_LEN, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_CRC);
+#else
+    mavlink_vkfly_lidar_target_globla_position_t *packet = (mavlink_vkfly_lidar_target_globla_position_t *)msgbuf;
+    packet->longitude = longitude;
+    packet->latitude = latitude;
+    packet->amsl = amsl;
+    packet->ve = ve;
+    packet->vn = vn;
+    packet->vu = vu;
+    packet->flag = flag;
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION, (const char *)packet, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_MIN_LEN, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_CRC);
+#endif
+}
+#endif
+
+#endif
+
+// MESSAGE VKFLY_LIDAR_TARGET_GLOBLA_POSITION UNPACKING
+
+
+/**
+ * @brief Get field longitude from vkfly_lidar_target_globla_position message
+ *
+ * @return [degE7] radar target longitude
+ */
+static inline int32_t mavlink_msg_vkfly_lidar_target_globla_position_get_longitude(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_int32_t(msg,  0);
+}
+
+/**
+ * @brief Get field latitude from vkfly_lidar_target_globla_position message
+ *
+ * @return [degE7] radar target latitdue
+ */
+static inline int32_t mavlink_msg_vkfly_lidar_target_globla_position_get_latitude(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_int32_t(msg,  4);
+}
+
+/**
+ * @brief Get field amsl from vkfly_lidar_target_globla_position message
+ *
+ * @return [m] radar target amsl altitude
+ */
+static inline float mavlink_msg_vkfly_lidar_target_globla_position_get_amsl(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_float(msg,  8);
+}
+
+/**
+ * @brief Get field ve from vkfly_lidar_target_globla_position message
+ *
+ * @return [m/s] radar target amsl altitude
+ */
+static inline float mavlink_msg_vkfly_lidar_target_globla_position_get_ve(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_float(msg,  12);
+}
+
+/**
+ * @brief Get field vn from vkfly_lidar_target_globla_position message
+ *
+ * @return [m/s] radar target amsl altitude
+ */
+static inline float mavlink_msg_vkfly_lidar_target_globla_position_get_vn(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_float(msg,  16);
+}
+
+/**
+ * @brief Get field vu from vkfly_lidar_target_globla_position message
+ *
+ * @return [m/s] radar target amsl altitude
+ */
+static inline float mavlink_msg_vkfly_lidar_target_globla_position_get_vu(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_float(msg,  20);
+}
+
+/**
+ * @brief Get field flag from vkfly_lidar_target_globla_position message
+ *
+ * @return  radar target location status
+ */
+static inline uint8_t mavlink_msg_vkfly_lidar_target_globla_position_get_flag(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint8_t(msg,  24);
+}
+
+/**
+ * @brief Decode a vkfly_lidar_target_globla_position message into a struct
+ *
+ * @param msg The message to decode
+ * @param vkfly_lidar_target_globla_position C-struct to decode the message contents into
+ */
+static inline void mavlink_msg_vkfly_lidar_target_globla_position_decode(const mavlink_message_t* msg, mavlink_vkfly_lidar_target_globla_position_t* vkfly_lidar_target_globla_position)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    vkfly_lidar_target_globla_position->longitude = mavlink_msg_vkfly_lidar_target_globla_position_get_longitude(msg);
+    vkfly_lidar_target_globla_position->latitude = mavlink_msg_vkfly_lidar_target_globla_position_get_latitude(msg);
+    vkfly_lidar_target_globla_position->amsl = mavlink_msg_vkfly_lidar_target_globla_position_get_amsl(msg);
+    vkfly_lidar_target_globla_position->ve = mavlink_msg_vkfly_lidar_target_globla_position_get_ve(msg);
+    vkfly_lidar_target_globla_position->vn = mavlink_msg_vkfly_lidar_target_globla_position_get_vn(msg);
+    vkfly_lidar_target_globla_position->vu = mavlink_msg_vkfly_lidar_target_globla_position_get_vu(msg);
+    vkfly_lidar_target_globla_position->flag = mavlink_msg_vkfly_lidar_target_globla_position_get_flag(msg);
+#else
+        uint8_t len = msg->len < MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN? msg->len : MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN;
+        memset(vkfly_lidar_target_globla_position, 0, MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_LEN);
+    memcpy(vkfly_lidar_target_globla_position, _MAV_PAYLOAD(msg), len);
+#endif
+}

+ 344 - 0
v2.0/VKFly/mavlink_msg_vkfly_mission_catch_status.h

@@ -0,0 +1,344 @@
+#pragma once
+// MESSAGE VKFLY_MISSION_CATCH_STATUS PACKING
+
+#define MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS 53901
+
+
+typedef struct __mavlink_vkfly_mission_catch_status_t {
+ uint64_t timestamp; /*< [us] unix timestamp*/
+ uint32_t task_stage; /*<  mission task stage*/
+ float lidar_dist; /*< [m] lidar distance*/
+ uint32_t reserve; /*<  radar target amsl altitude*/
+} mavlink_vkfly_mission_catch_status_t;
+
+#define MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN 20
+#define MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN 20
+#define MAVLINK_MSG_ID_53901_LEN 20
+#define MAVLINK_MSG_ID_53901_MIN_LEN 20
+
+#define MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC 136
+#define MAVLINK_MSG_ID_53901_CRC 136
+
+
+
+#if MAVLINK_COMMAND_24BIT
+#define MAVLINK_MESSAGE_INFO_VKFLY_MISSION_CATCH_STATUS { \
+    53901, \
+    "VKFLY_MISSION_CATCH_STATUS", \
+    4, \
+    {  { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_vkfly_mission_catch_status_t, timestamp) }, \
+         { "task_stage", NULL, MAVLINK_TYPE_UINT32_T, 0, 8, offsetof(mavlink_vkfly_mission_catch_status_t, task_stage) }, \
+         { "lidar_dist", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_vkfly_mission_catch_status_t, lidar_dist) }, \
+         { "reserve", NULL, MAVLINK_TYPE_UINT32_T, 0, 16, offsetof(mavlink_vkfly_mission_catch_status_t, reserve) }, \
+         } \
+}
+#else
+#define MAVLINK_MESSAGE_INFO_VKFLY_MISSION_CATCH_STATUS { \
+    "VKFLY_MISSION_CATCH_STATUS", \
+    4, \
+    {  { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_vkfly_mission_catch_status_t, timestamp) }, \
+         { "task_stage", NULL, MAVLINK_TYPE_UINT32_T, 0, 8, offsetof(mavlink_vkfly_mission_catch_status_t, task_stage) }, \
+         { "lidar_dist", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_vkfly_mission_catch_status_t, lidar_dist) }, \
+         { "reserve", NULL, MAVLINK_TYPE_UINT32_T, 0, 16, offsetof(mavlink_vkfly_mission_catch_status_t, reserve) }, \
+         } \
+}
+#endif
+
+/**
+ * @brief Pack a vkfly_mission_catch_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 timestamp [us] unix timestamp
+ * @param task_stage  mission task stage
+ * @param lidar_dist [m] lidar distance
+ * @param reserve  radar target amsl altitude
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vkfly_mission_catch_status_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
+                               uint64_t timestamp, uint32_t task_stage, float lidar_dist, uint32_t reserve)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN];
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint32_t(buf, 8, task_stage);
+    _mav_put_float(buf, 12, lidar_dist);
+    _mav_put_uint32_t(buf, 16, reserve);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN);
+#else
+    mavlink_vkfly_mission_catch_status_t packet;
+    packet.timestamp = timestamp;
+    packet.task_stage = task_stage;
+    packet.lidar_dist = lidar_dist;
+    packet.reserve = reserve;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS;
+    return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC);
+}
+
+/**
+ * @brief Pack a vkfly_mission_catch_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 timestamp [us] unix timestamp
+ * @param task_stage  mission task stage
+ * @param lidar_dist [m] lidar distance
+ * @param reserve  radar target amsl altitude
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vkfly_mission_catch_status_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
+                               uint64_t timestamp, uint32_t task_stage, float lidar_dist, uint32_t reserve)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN];
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint32_t(buf, 8, task_stage);
+    _mav_put_float(buf, 12, lidar_dist);
+    _mav_put_uint32_t(buf, 16, reserve);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN);
+#else
+    mavlink_vkfly_mission_catch_status_t packet;
+    packet.timestamp = timestamp;
+    packet.task_stage = task_stage;
+    packet.lidar_dist = lidar_dist;
+    packet.reserve = reserve;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS;
+#if MAVLINK_CRC_EXTRA
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC);
+#else
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN);
+#endif
+}
+
+/**
+ * @brief Pack a vkfly_mission_catch_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 timestamp [us] unix timestamp
+ * @param task_stage  mission task stage
+ * @param lidar_dist [m] lidar distance
+ * @param reserve  radar target amsl altitude
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vkfly_mission_catch_status_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
+                               mavlink_message_t* msg,
+                                   uint64_t timestamp,uint32_t task_stage,float lidar_dist,uint32_t reserve)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN];
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint32_t(buf, 8, task_stage);
+    _mav_put_float(buf, 12, lidar_dist);
+    _mav_put_uint32_t(buf, 16, reserve);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN);
+#else
+    mavlink_vkfly_mission_catch_status_t packet;
+    packet.timestamp = timestamp;
+    packet.task_stage = task_stage;
+    packet.lidar_dist = lidar_dist;
+    packet.reserve = reserve;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS;
+    return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC);
+}
+
+/**
+ * @brief Encode a vkfly_mission_catch_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_mission_catch_status C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vkfly_mission_catch_status_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_vkfly_mission_catch_status_t* vkfly_mission_catch_status)
+{
+    return mavlink_msg_vkfly_mission_catch_status_pack(system_id, component_id, msg, vkfly_mission_catch_status->timestamp, vkfly_mission_catch_status->task_stage, vkfly_mission_catch_status->lidar_dist, vkfly_mission_catch_status->reserve);
+}
+
+/**
+ * @brief Encode a vkfly_mission_catch_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_mission_catch_status C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vkfly_mission_catch_status_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_vkfly_mission_catch_status_t* vkfly_mission_catch_status)
+{
+    return mavlink_msg_vkfly_mission_catch_status_pack_chan(system_id, component_id, chan, msg, vkfly_mission_catch_status->timestamp, vkfly_mission_catch_status->task_stage, vkfly_mission_catch_status->lidar_dist, vkfly_mission_catch_status->reserve);
+}
+
+/**
+ * @brief Encode a vkfly_mission_catch_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_mission_catch_status C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vkfly_mission_catch_status_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_vkfly_mission_catch_status_t* vkfly_mission_catch_status)
+{
+    return mavlink_msg_vkfly_mission_catch_status_pack_status(system_id, component_id, _status, msg,  vkfly_mission_catch_status->timestamp, vkfly_mission_catch_status->task_stage, vkfly_mission_catch_status->lidar_dist, vkfly_mission_catch_status->reserve);
+}
+
+/**
+ * @brief Send a vkfly_mission_catch_status message
+ * @param chan MAVLink channel to send the message
+ *
+ * @param timestamp [us] unix timestamp
+ * @param task_stage  mission task stage
+ * @param lidar_dist [m] lidar distance
+ * @param reserve  radar target amsl altitude
+ */
+#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
+
+static inline void mavlink_msg_vkfly_mission_catch_status_send(mavlink_channel_t chan, uint64_t timestamp, uint32_t task_stage, float lidar_dist, uint32_t reserve)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN];
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint32_t(buf, 8, task_stage);
+    _mav_put_float(buf, 12, lidar_dist);
+    _mav_put_uint32_t(buf, 16, reserve);
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS, buf, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC);
+#else
+    mavlink_vkfly_mission_catch_status_t packet;
+    packet.timestamp = timestamp;
+    packet.task_stage = task_stage;
+    packet.lidar_dist = lidar_dist;
+    packet.reserve = reserve;
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS, (const char *)&packet, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC);
+#endif
+}
+
+/**
+ * @brief Send a vkfly_mission_catch_status message
+ * @param chan MAVLink channel to send the message
+ * @param struct The MAVLink struct to serialize
+ */
+static inline void mavlink_msg_vkfly_mission_catch_status_send_struct(mavlink_channel_t chan, const mavlink_vkfly_mission_catch_status_t* vkfly_mission_catch_status)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    mavlink_msg_vkfly_mission_catch_status_send(chan, vkfly_mission_catch_status->timestamp, vkfly_mission_catch_status->task_stage, vkfly_mission_catch_status->lidar_dist, vkfly_mission_catch_status->reserve);
+#else
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS, (const char *)vkfly_mission_catch_status, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC);
+#endif
+}
+
+#if MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_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_mission_catch_status_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint64_t timestamp, uint32_t task_stage, float lidar_dist, uint32_t reserve)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char *buf = (char *)msgbuf;
+    _mav_put_uint64_t(buf, 0, timestamp);
+    _mav_put_uint32_t(buf, 8, task_stage);
+    _mav_put_float(buf, 12, lidar_dist);
+    _mav_put_uint32_t(buf, 16, reserve);
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS, buf, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC);
+#else
+    mavlink_vkfly_mission_catch_status_t *packet = (mavlink_vkfly_mission_catch_status_t *)msgbuf;
+    packet->timestamp = timestamp;
+    packet->task_stage = task_stage;
+    packet->lidar_dist = lidar_dist;
+    packet->reserve = reserve;
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS, (const char *)packet, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC);
+#endif
+}
+#endif
+
+#endif
+
+// MESSAGE VKFLY_MISSION_CATCH_STATUS UNPACKING
+
+
+/**
+ * @brief Get field timestamp from vkfly_mission_catch_status message
+ *
+ * @return [us] unix timestamp
+ */
+static inline uint64_t mavlink_msg_vkfly_mission_catch_status_get_timestamp(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint64_t(msg,  0);
+}
+
+/**
+ * @brief Get field task_stage from vkfly_mission_catch_status message
+ *
+ * @return  mission task stage
+ */
+static inline uint32_t mavlink_msg_vkfly_mission_catch_status_get_task_stage(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint32_t(msg,  8);
+}
+
+/**
+ * @brief Get field lidar_dist from vkfly_mission_catch_status message
+ *
+ * @return [m] lidar distance
+ */
+static inline float mavlink_msg_vkfly_mission_catch_status_get_lidar_dist(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_float(msg,  12);
+}
+
+/**
+ * @brief Get field reserve from vkfly_mission_catch_status message
+ *
+ * @return  radar target amsl altitude
+ */
+static inline uint32_t mavlink_msg_vkfly_mission_catch_status_get_reserve(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint32_t(msg,  16);
+}
+
+/**
+ * @brief Decode a vkfly_mission_catch_status message into a struct
+ *
+ * @param msg The message to decode
+ * @param vkfly_mission_catch_status C-struct to decode the message contents into
+ */
+static inline void mavlink_msg_vkfly_mission_catch_status_decode(const mavlink_message_t* msg, mavlink_vkfly_mission_catch_status_t* vkfly_mission_catch_status)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    vkfly_mission_catch_status->timestamp = mavlink_msg_vkfly_mission_catch_status_get_timestamp(msg);
+    vkfly_mission_catch_status->task_stage = mavlink_msg_vkfly_mission_catch_status_get_task_stage(msg);
+    vkfly_mission_catch_status->lidar_dist = mavlink_msg_vkfly_mission_catch_status_get_lidar_dist(msg);
+    vkfly_mission_catch_status->reserve = mavlink_msg_vkfly_mission_catch_status_get_reserve(msg);
+#else
+        uint8_t len = msg->len < MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN? msg->len : MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN;
+        memset(vkfly_mission_catch_status, 0, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN);
+    memcpy(vkfly_mission_catch_status, _MAV_PAYLOAD(msg), len);
+#endif
+}

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

@@ -1707,6 +1707,133 @@ static void mavlink_test_qingxie_bms(uint8_t system_id, uint8_t component_id, ma
 #endif
 }
 
+static void mavlink_test_vkfly_lidar_target_globla_position(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_LIDAR_TARGET_GLOBLA_POSITION >= 256) {
+            return;
+        }
+#endif
+    mavlink_message_t msg;
+        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
+        uint16_t i;
+    mavlink_vkfly_lidar_target_globla_position_t packet_in = {
+        963497464,963497672,73.0,101.0,129.0,157.0,77
+    };
+    mavlink_vkfly_lidar_target_globla_position_t packet1, packet2;
+        memset(&packet1, 0, sizeof(packet1));
+        packet1.longitude = packet_in.longitude;
+        packet1.latitude = packet_in.latitude;
+        packet1.amsl = packet_in.amsl;
+        packet1.ve = packet_in.ve;
+        packet1.vn = packet_in.vn;
+        packet1.vu = packet_in.vu;
+        packet1.flag = packet_in.flag;
+        
+        
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
+           // cope with extensions
+           memset(MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION_MIN_LEN);
+        }
+#endif
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vkfly_lidar_target_globla_position_encode(system_id, component_id, &msg, &packet1);
+    mavlink_msg_vkfly_lidar_target_globla_position_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vkfly_lidar_target_globla_position_pack(system_id, component_id, &msg , packet1.longitude , packet1.latitude , packet1.amsl , packet1.ve , packet1.vn , packet1.vu , packet1.flag );
+    mavlink_msg_vkfly_lidar_target_globla_position_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vkfly_lidar_target_globla_position_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.longitude , packet1.latitude , packet1.amsl , packet1.ve , packet1.vn , packet1.vu , packet1.flag );
+    mavlink_msg_vkfly_lidar_target_globla_position_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_lidar_target_globla_position_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+        
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vkfly_lidar_target_globla_position_send(MAVLINK_COMM_1 , packet1.longitude , packet1.latitude , packet1.amsl , packet1.ve , packet1.vn , packet1.vu , packet1.flag );
+    mavlink_msg_vkfly_lidar_target_globla_position_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_LIDAR_TARGET_GLOBLA_POSITION") != NULL);
+    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VKFLY_LIDAR_TARGET_GLOBLA_POSITION) != NULL);
+#endif
+}
+
+static void mavlink_test_vkfly_mission_catch_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_MISSION_CATCH_STATUS >= 256) {
+            return;
+        }
+#endif
+    mavlink_message_t msg;
+        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
+        uint16_t i;
+    mavlink_vkfly_mission_catch_status_t packet_in = {
+        93372036854775807ULL,963497880,101.0,963498296
+    };
+    mavlink_vkfly_mission_catch_status_t packet1, packet2;
+        memset(&packet1, 0, sizeof(packet1));
+        packet1.timestamp = packet_in.timestamp;
+        packet1.task_stage = packet_in.task_stage;
+        packet1.lidar_dist = packet_in.lidar_dist;
+        packet1.reserve = packet_in.reserve;
+        
+        
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
+           // cope with extensions
+           memset(MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN);
+        }
+#endif
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vkfly_mission_catch_status_encode(system_id, component_id, &msg, &packet1);
+    mavlink_msg_vkfly_mission_catch_status_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vkfly_mission_catch_status_pack(system_id, component_id, &msg , packet1.timestamp , packet1.task_stage , packet1.lidar_dist , packet1.reserve );
+    mavlink_msg_vkfly_mission_catch_status_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vkfly_mission_catch_status_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.timestamp , packet1.task_stage , packet1.lidar_dist , packet1.reserve );
+    mavlink_msg_vkfly_mission_catch_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_mission_catch_status_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+        
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vkfly_mission_catch_status_send(MAVLINK_COMM_1 , packet1.timestamp , packet1.task_stage , packet1.lidar_dist , packet1.reserve );
+    mavlink_msg_vkfly_mission_catch_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_MISSION_CATCH_STATUS") != NULL);
+    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS) != NULL);
+#endif
+}
+
 static void mavlink_test_VKFly(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
 {
     mavlink_test_vkins_status(system_id, component_id, last_msg);
@@ -1734,6 +1861,8 @@ static void mavlink_test_VKFly(uint8_t system_id, uint8_t component_id, mavlink_
     mavlink_test_vk_fw_update_data(system_id, component_id, last_msg);
     mavlink_test_vk_update_terminate(system_id, component_id, last_msg);
     mavlink_test_qingxie_bms(system_id, component_id, last_msg);
+    mavlink_test_vkfly_lidar_target_globla_position(system_id, component_id, last_msg);
+    mavlink_test_vkfly_mission_catch_status(system_id, component_id, last_msg);
 }
 
 #ifdef __cplusplus

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

@@ -7,7 +7,7 @@
 #ifndef MAVLINK_VERSION_H
 #define MAVLINK_VERSION_H
 
-#define MAVLINK_BUILD_DATE "Tue Aug 19 2025"
+#define MAVLINK_BUILD_DATE "Mon Sep 01 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 7558374953477012095
+#define MAVLINK_COMMON_XML_HASH 8120712393632938730
 
 #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 7558374953477012095
+#define MAVLINK_PRIMARY_XML_HASH 8120712393632938730
 
 #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 "Tue Aug 19 2025"
+#define MAVLINK_BUILD_DATE "Mon Sep 01 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 5568273231604193058
+#define MAVLINK_PRIMARY_XML_HASH 5368700477240074319
 
 #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 5568273231604193058
+#define MAVLINK_MINIMAL_XML_HASH 5368700477240074319
 
 #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 "Tue Aug 19 2025"
+#define MAVLINK_BUILD_DATE "Mon Sep 01 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 -4366729989232901126
+#define MAVLINK_PRIMARY_XML_HASH 4386788595752682160
 
 #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 -4366729989232901126
+#define MAVLINK_STANDARD_XML_HASH 4386788595752682160
 
 #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 "Tue Aug 19 2025"
+#define MAVLINK_BUILD_DATE "Mon Sep 01 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