Browse Source

增加 VK_ROI 消息

Liu Yang 1 year ago
parent
commit
a1a95cee5f

+ 25 - 6
msg_definitions/VKFly.xml

@@ -85,6 +85,16 @@
       </entry>
     </enum>
 
+    <enum name="VKFLY_ROI_STATE" bitmask="true">
+      <description>Bitmap for ROI state</description>
+      <entry value="1" name="VKFLY_ROI_GIMBAL">
+        <description>Do nothing</description>
+      </entry>
+      <entry value="2" name="VKFLY_ROI_DRONE_HEAD">
+        <description>Do nothing</description>
+      </entry>
+    </enum>
+
     <enum name="VKFLY_MAGCALIB_STAGE">
       <description>VKins magcalib stage</description>
       <entry value="0" name="VK_MAGCALIB_NONE">
@@ -104,7 +114,7 @@
       </entry>
     </enum>
 
-    <enum name="VKFLY_SYS_STATUS_SENSOR_EXTEND">
+    <enum name="VKFLY_SYS_STATUS_SENSOR_EXTEND" bitmask="true">
       <description>For SYS_STATUS sensor extend flag use.</description>
       <entry value="4" name="VKFLY_SYS_STATUS_SENSOR_GPS2">
         <description>GPS2</description>
@@ -117,7 +127,7 @@
       </entry>
     </enum>
 
-    <enum name="VKFLY_SYS_ERROR1">
+    <enum name="VKFLY_SYS_ERROR1" bitmask="true">
       <description>bitmap for SYS_STATUS error1 </description>
       <entry value="1" name="VKFLY_SYS_ERROR1_GCS_LINK_LOST">
         <description>Gcs link lost.</description>
@@ -142,7 +152,7 @@
       </entry>
     </enum>
 
-    <enum name="VKFLY_SYS_ERROR2">
+    <enum name="VKFLY_SYS_ERROR2" bitmask="true">
       <description>bitmap for SYS_STATUS error1 </description>
       <entry value="1" name="VKFLY_SYS_ERROR2_PREARM_CHECK_IMU">
         <description></description>
@@ -158,7 +168,7 @@
       </entry>
     </enum>
 
-    <enum name="VKFLY_SYS_ERROR3">
+    <enum name="VKFLY_SYS_ERROR3" bitmask="true">
       <description>bitmap for SYS_STATUS error3 </description>
       <entry value="1" name="VKFLY_SYS_ERROR3_MAG0_DISTURB">
         <description></description>
@@ -235,7 +245,7 @@
       </entry>
     </enum>
 
-    <enum name="VKFLY_VKINS_NAV_STATUS">
+    <enum name="VKFLY_VKINS_NAV_STATUS" bitmask="true">
       <description>bitmap for VKins navigtion status </description>
       <entry value="0x01" name="VKFLY_VKINS_NAV_INSGPS">
         <description>INS status. 0 means no INS. 1 means INS ok.</description>
@@ -370,7 +380,7 @@
       </entry>
     </enum>
 
-    <enum name="VKFLY_THROW_CHAN_TYPE">
+    <enum name="VKFLY_THROW_CHAN_TYPE" bitmask="true">
       <description>bitmap of throwing channel</description>
       <entry value="1" name="VKFLY_THROW_CHAN_1">
         <description>throwing channel1</description>
@@ -511,6 +521,15 @@
       <field type="uint16_t" name="adc_volt">adc voltage in 0.1V</field>
     </message>
 
+    <message id="53002" name="VK_ROI_TARGET">
+      <description> </description>
+      <field type="uint32_t" name="time_boot_ms" units="ms">Timestamp in ms from system boot.</field>
+      <field type="int32_t" name="lat" units="degE7">wgs48 latitude</field>
+      <field type="int32_t" name="lon" units="degE7">wgs48 longitude</field>
+      <field type="float" name="alt" units="m">altitude amsl, wgs48</field>
+      <field type="uint16_t" name="state" enum="VKFLY_ROI_STATE">Bitmap to indicate ROI state </field>
+    </message>
+
     <message id="53100" name="VK_FW_UPDATE_BEGIN">
       <description>VKFLY autopilot update firmware begin. This message send from GCS to autopilot. </description>
       <field type="uint8_t" name="target_system">Target system id.</field>

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 -4486976657258493475
+#define MAVLINK_PRIMARY_XML_HASH -7028473366533727269
 
 #ifndef MAVLINK_STX
 #define MAVLINK_STX 253

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

@@ -0,0 +1,372 @@
+#pragma once
+// MESSAGE VK_ROI_TARGET PACKING
+
+#define MAVLINK_MSG_ID_VK_ROI_TARGET 53002
+
+
+typedef struct __mavlink_vk_roi_target_t {
+ uint32_t time_boot_ms; /*< [ms] Timestamp in ms from system boot.*/
+ int32_t lat; /*< [degE7] wgs48 latitude*/
+ int32_t lon; /*< [degE7] wgs48 longitude*/
+ float alt; /*< [m] altitude amsl, wgs48*/
+ uint16_t state; /*<  Bitmap to indicate ROI state */
+} mavlink_vk_roi_target_t;
+
+#define MAVLINK_MSG_ID_VK_ROI_TARGET_LEN 18
+#define MAVLINK_MSG_ID_VK_ROI_TARGET_MIN_LEN 18
+#define MAVLINK_MSG_ID_53002_LEN 18
+#define MAVLINK_MSG_ID_53002_MIN_LEN 18
+
+#define MAVLINK_MSG_ID_VK_ROI_TARGET_CRC 75
+#define MAVLINK_MSG_ID_53002_CRC 75
+
+
+
+#if MAVLINK_COMMAND_24BIT
+#define MAVLINK_MESSAGE_INFO_VK_ROI_TARGET { \
+    53002, \
+    "VK_ROI_TARGET", \
+    5, \
+    {  { "time_boot_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vk_roi_target_t, time_boot_ms) }, \
+         { "lat", NULL, MAVLINK_TYPE_INT32_T, 0, 4, offsetof(mavlink_vk_roi_target_t, lat) }, \
+         { "lon", NULL, MAVLINK_TYPE_INT32_T, 0, 8, offsetof(mavlink_vk_roi_target_t, lon) }, \
+         { "alt", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_vk_roi_target_t, alt) }, \
+         { "state", NULL, MAVLINK_TYPE_UINT16_T, 0, 16, offsetof(mavlink_vk_roi_target_t, state) }, \
+         } \
+}
+#else
+#define MAVLINK_MESSAGE_INFO_VK_ROI_TARGET { \
+    "VK_ROI_TARGET", \
+    5, \
+    {  { "time_boot_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vk_roi_target_t, time_boot_ms) }, \
+         { "lat", NULL, MAVLINK_TYPE_INT32_T, 0, 4, offsetof(mavlink_vk_roi_target_t, lat) }, \
+         { "lon", NULL, MAVLINK_TYPE_INT32_T, 0, 8, offsetof(mavlink_vk_roi_target_t, lon) }, \
+         { "alt", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_vk_roi_target_t, alt) }, \
+         { "state", NULL, MAVLINK_TYPE_UINT16_T, 0, 16, offsetof(mavlink_vk_roi_target_t, state) }, \
+         } \
+}
+#endif
+
+/**
+ * @brief Pack a vk_roi_target 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 time_boot_ms [ms] Timestamp in ms from system boot.
+ * @param lat [degE7] wgs48 latitude
+ * @param lon [degE7] wgs48 longitude
+ * @param alt [m] altitude amsl, wgs48
+ * @param state  Bitmap to indicate ROI state 
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vk_roi_target_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
+                               uint32_t time_boot_ms, int32_t lat, int32_t lon, float alt, uint16_t state)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VK_ROI_TARGET_LEN];
+    _mav_put_uint32_t(buf, 0, time_boot_ms);
+    _mav_put_int32_t(buf, 4, lat);
+    _mav_put_int32_t(buf, 8, lon);
+    _mav_put_float(buf, 12, alt);
+    _mav_put_uint16_t(buf, 16, state);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_ROI_TARGET_LEN);
+#else
+    mavlink_vk_roi_target_t packet;
+    packet.time_boot_ms = time_boot_ms;
+    packet.lat = lat;
+    packet.lon = lon;
+    packet.alt = alt;
+    packet.state = state;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_ROI_TARGET_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VK_ROI_TARGET;
+    return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_VK_ROI_TARGET_MIN_LEN, MAVLINK_MSG_ID_VK_ROI_TARGET_LEN, MAVLINK_MSG_ID_VK_ROI_TARGET_CRC);
+}
+
+/**
+ * @brief Pack a vk_roi_target 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 time_boot_ms [ms] Timestamp in ms from system boot.
+ * @param lat [degE7] wgs48 latitude
+ * @param lon [degE7] wgs48 longitude
+ * @param alt [m] altitude amsl, wgs48
+ * @param state  Bitmap to indicate ROI state 
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vk_roi_target_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
+                               uint32_t time_boot_ms, int32_t lat, int32_t lon, float alt, uint16_t state)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VK_ROI_TARGET_LEN];
+    _mav_put_uint32_t(buf, 0, time_boot_ms);
+    _mav_put_int32_t(buf, 4, lat);
+    _mav_put_int32_t(buf, 8, lon);
+    _mav_put_float(buf, 12, alt);
+    _mav_put_uint16_t(buf, 16, state);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_ROI_TARGET_LEN);
+#else
+    mavlink_vk_roi_target_t packet;
+    packet.time_boot_ms = time_boot_ms;
+    packet.lat = lat;
+    packet.lon = lon;
+    packet.alt = alt;
+    packet.state = state;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_ROI_TARGET_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VK_ROI_TARGET;
+#if MAVLINK_CRC_EXTRA
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VK_ROI_TARGET_MIN_LEN, MAVLINK_MSG_ID_VK_ROI_TARGET_LEN, MAVLINK_MSG_ID_VK_ROI_TARGET_CRC);
+#else
+    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VK_ROI_TARGET_MIN_LEN, MAVLINK_MSG_ID_VK_ROI_TARGET_LEN);
+#endif
+}
+
+/**
+ * @brief Pack a vk_roi_target 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 time_boot_ms [ms] Timestamp in ms from system boot.
+ * @param lat [degE7] wgs48 latitude
+ * @param lon [degE7] wgs48 longitude
+ * @param alt [m] altitude amsl, wgs48
+ * @param state  Bitmap to indicate ROI state 
+ * @return length of the message in bytes (excluding serial stream start sign)
+ */
+static inline uint16_t mavlink_msg_vk_roi_target_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
+                               mavlink_message_t* msg,
+                                   uint32_t time_boot_ms,int32_t lat,int32_t lon,float alt,uint16_t state)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VK_ROI_TARGET_LEN];
+    _mav_put_uint32_t(buf, 0, time_boot_ms);
+    _mav_put_int32_t(buf, 4, lat);
+    _mav_put_int32_t(buf, 8, lon);
+    _mav_put_float(buf, 12, alt);
+    _mav_put_uint16_t(buf, 16, state);
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_ROI_TARGET_LEN);
+#else
+    mavlink_vk_roi_target_t packet;
+    packet.time_boot_ms = time_boot_ms;
+    packet.lat = lat;
+    packet.lon = lon;
+    packet.alt = alt;
+    packet.state = state;
+
+        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_ROI_TARGET_LEN);
+#endif
+
+    msg->msgid = MAVLINK_MSG_ID_VK_ROI_TARGET;
+    return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_VK_ROI_TARGET_MIN_LEN, MAVLINK_MSG_ID_VK_ROI_TARGET_LEN, MAVLINK_MSG_ID_VK_ROI_TARGET_CRC);
+}
+
+/**
+ * @brief Encode a vk_roi_target 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_roi_target C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vk_roi_target_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_vk_roi_target_t* vk_roi_target)
+{
+    return mavlink_msg_vk_roi_target_pack(system_id, component_id, msg, vk_roi_target->time_boot_ms, vk_roi_target->lat, vk_roi_target->lon, vk_roi_target->alt, vk_roi_target->state);
+}
+
+/**
+ * @brief Encode a vk_roi_target 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_roi_target C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vk_roi_target_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_vk_roi_target_t* vk_roi_target)
+{
+    return mavlink_msg_vk_roi_target_pack_chan(system_id, component_id, chan, msg, vk_roi_target->time_boot_ms, vk_roi_target->lat, vk_roi_target->lon, vk_roi_target->alt, vk_roi_target->state);
+}
+
+/**
+ * @brief Encode a vk_roi_target 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_roi_target C-struct to read the message contents from
+ */
+static inline uint16_t mavlink_msg_vk_roi_target_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_vk_roi_target_t* vk_roi_target)
+{
+    return mavlink_msg_vk_roi_target_pack_status(system_id, component_id, _status, msg,  vk_roi_target->time_boot_ms, vk_roi_target->lat, vk_roi_target->lon, vk_roi_target->alt, vk_roi_target->state);
+}
+
+/**
+ * @brief Send a vk_roi_target message
+ * @param chan MAVLink channel to send the message
+ *
+ * @param time_boot_ms [ms] Timestamp in ms from system boot.
+ * @param lat [degE7] wgs48 latitude
+ * @param lon [degE7] wgs48 longitude
+ * @param alt [m] altitude amsl, wgs48
+ * @param state  Bitmap to indicate ROI state 
+ */
+#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
+
+static inline void mavlink_msg_vk_roi_target_send(mavlink_channel_t chan, uint32_t time_boot_ms, int32_t lat, int32_t lon, float alt, uint16_t state)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char buf[MAVLINK_MSG_ID_VK_ROI_TARGET_LEN];
+    _mav_put_uint32_t(buf, 0, time_boot_ms);
+    _mav_put_int32_t(buf, 4, lat);
+    _mav_put_int32_t(buf, 8, lon);
+    _mav_put_float(buf, 12, alt);
+    _mav_put_uint16_t(buf, 16, state);
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_ROI_TARGET, buf, MAVLINK_MSG_ID_VK_ROI_TARGET_MIN_LEN, MAVLINK_MSG_ID_VK_ROI_TARGET_LEN, MAVLINK_MSG_ID_VK_ROI_TARGET_CRC);
+#else
+    mavlink_vk_roi_target_t packet;
+    packet.time_boot_ms = time_boot_ms;
+    packet.lat = lat;
+    packet.lon = lon;
+    packet.alt = alt;
+    packet.state = state;
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_ROI_TARGET, (const char *)&packet, MAVLINK_MSG_ID_VK_ROI_TARGET_MIN_LEN, MAVLINK_MSG_ID_VK_ROI_TARGET_LEN, MAVLINK_MSG_ID_VK_ROI_TARGET_CRC);
+#endif
+}
+
+/**
+ * @brief Send a vk_roi_target message
+ * @param chan MAVLink channel to send the message
+ * @param struct The MAVLink struct to serialize
+ */
+static inline void mavlink_msg_vk_roi_target_send_struct(mavlink_channel_t chan, const mavlink_vk_roi_target_t* vk_roi_target)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    mavlink_msg_vk_roi_target_send(chan, vk_roi_target->time_boot_ms, vk_roi_target->lat, vk_roi_target->lon, vk_roi_target->alt, vk_roi_target->state);
+#else
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_ROI_TARGET, (const char *)vk_roi_target, MAVLINK_MSG_ID_VK_ROI_TARGET_MIN_LEN, MAVLINK_MSG_ID_VK_ROI_TARGET_LEN, MAVLINK_MSG_ID_VK_ROI_TARGET_CRC);
+#endif
+}
+
+#if MAVLINK_MSG_ID_VK_ROI_TARGET_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_roi_target_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint32_t time_boot_ms, int32_t lat, int32_t lon, float alt, uint16_t state)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    char *buf = (char *)msgbuf;
+    _mav_put_uint32_t(buf, 0, time_boot_ms);
+    _mav_put_int32_t(buf, 4, lat);
+    _mav_put_int32_t(buf, 8, lon);
+    _mav_put_float(buf, 12, alt);
+    _mav_put_uint16_t(buf, 16, state);
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_ROI_TARGET, buf, MAVLINK_MSG_ID_VK_ROI_TARGET_MIN_LEN, MAVLINK_MSG_ID_VK_ROI_TARGET_LEN, MAVLINK_MSG_ID_VK_ROI_TARGET_CRC);
+#else
+    mavlink_vk_roi_target_t *packet = (mavlink_vk_roi_target_t *)msgbuf;
+    packet->time_boot_ms = time_boot_ms;
+    packet->lat = lat;
+    packet->lon = lon;
+    packet->alt = alt;
+    packet->state = state;
+
+    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_ROI_TARGET, (const char *)packet, MAVLINK_MSG_ID_VK_ROI_TARGET_MIN_LEN, MAVLINK_MSG_ID_VK_ROI_TARGET_LEN, MAVLINK_MSG_ID_VK_ROI_TARGET_CRC);
+#endif
+}
+#endif
+
+#endif
+
+// MESSAGE VK_ROI_TARGET UNPACKING
+
+
+/**
+ * @brief Get field time_boot_ms from vk_roi_target message
+ *
+ * @return [ms] Timestamp in ms from system boot.
+ */
+static inline uint32_t mavlink_msg_vk_roi_target_get_time_boot_ms(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint32_t(msg,  0);
+}
+
+/**
+ * @brief Get field lat from vk_roi_target message
+ *
+ * @return [degE7] wgs48 latitude
+ */
+static inline int32_t mavlink_msg_vk_roi_target_get_lat(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_int32_t(msg,  4);
+}
+
+/**
+ * @brief Get field lon from vk_roi_target message
+ *
+ * @return [degE7] wgs48 longitude
+ */
+static inline int32_t mavlink_msg_vk_roi_target_get_lon(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_int32_t(msg,  8);
+}
+
+/**
+ * @brief Get field alt from vk_roi_target message
+ *
+ * @return [m] altitude amsl, wgs48
+ */
+static inline float mavlink_msg_vk_roi_target_get_alt(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_float(msg,  12);
+}
+
+/**
+ * @brief Get field state from vk_roi_target message
+ *
+ * @return  Bitmap to indicate ROI state 
+ */
+static inline uint16_t mavlink_msg_vk_roi_target_get_state(const mavlink_message_t* msg)
+{
+    return _MAV_RETURN_uint16_t(msg,  16);
+}
+
+/**
+ * @brief Decode a vk_roi_target message into a struct
+ *
+ * @param msg The message to decode
+ * @param vk_roi_target C-struct to decode the message contents into
+ */
+static inline void mavlink_msg_vk_roi_target_decode(const mavlink_message_t* msg, mavlink_vk_roi_target_t* vk_roi_target)
+{
+#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
+    vk_roi_target->time_boot_ms = mavlink_msg_vk_roi_target_get_time_boot_ms(msg);
+    vk_roi_target->lat = mavlink_msg_vk_roi_target_get_lat(msg);
+    vk_roi_target->lon = mavlink_msg_vk_roi_target_get_lon(msg);
+    vk_roi_target->alt = mavlink_msg_vk_roi_target_get_alt(msg);
+    vk_roi_target->state = mavlink_msg_vk_roi_target_get_state(msg);
+#else
+        uint8_t len = msg->len < MAVLINK_MSG_ID_VK_ROI_TARGET_LEN? msg->len : MAVLINK_MSG_ID_VK_ROI_TARGET_LEN;
+        memset(vk_roi_target, 0, MAVLINK_MSG_ID_VK_ROI_TARGET_LEN);
+    memcpy(vk_roi_target, _MAV_PAYLOAD(msg), len);
+#endif
+}

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

@@ -165,6 +165,69 @@ static void mavlink_test_vkfmu_status(uint8_t system_id, uint8_t component_id, m
 #endif
 }
 
+static void mavlink_test_vk_roi_target(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_ROI_TARGET >= 256) {
+            return;
+        }
+#endif
+    mavlink_message_t msg;
+        uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
+        uint16_t i;
+    mavlink_vk_roi_target_t packet_in = {
+        963497464,963497672,963497880,101.0,18067
+    };
+    mavlink_vk_roi_target_t packet1, packet2;
+        memset(&packet1, 0, sizeof(packet1));
+        packet1.time_boot_ms = packet_in.time_boot_ms;
+        packet1.lat = packet_in.lat;
+        packet1.lon = packet_in.lon;
+        packet1.alt = packet_in.alt;
+        packet1.state = packet_in.state;
+        
+        
+#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
+        if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
+           // cope with extensions
+           memset(MAVLINK_MSG_ID_VK_ROI_TARGET_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_ROI_TARGET_MIN_LEN);
+        }
+#endif
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vk_roi_target_encode(system_id, component_id, &msg, &packet1);
+    mavlink_msg_vk_roi_target_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vk_roi_target_pack(system_id, component_id, &msg , packet1.time_boot_ms , packet1.lat , packet1.lon , packet1.alt , packet1.state );
+    mavlink_msg_vk_roi_target_decode(&msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vk_roi_target_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.time_boot_ms , packet1.lat , packet1.lon , packet1.alt , packet1.state );
+    mavlink_msg_vk_roi_target_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_roi_target_decode(last_msg, &packet2);
+        MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
+        
+        memset(&packet2, 0, sizeof(packet2));
+    mavlink_msg_vk_roi_target_send(MAVLINK_COMM_1 , packet1.time_boot_ms , packet1.lat , packet1.lon , packet1.alt , packet1.state );
+    mavlink_msg_vk_roi_target_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_ROI_TARGET") != NULL);
+    MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_ROI_TARGET) != NULL);
+#endif
+}
+
 static void mavlink_test_vk_fw_update_begin(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
 {
 #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
@@ -470,6 +533,7 @@ static void mavlink_test_VKFly(uint8_t system_id, uint8_t component_id, mavlink_
 {
     mavlink_test_vkins_status(system_id, component_id, last_msg);
     mavlink_test_vkfmu_status(system_id, component_id, last_msg);
+    mavlink_test_vk_roi_target(system_id, component_id, last_msg);
     mavlink_test_vk_fw_update_begin(system_id, component_id, last_msg);
     mavlink_test_vk_fw_update_ack(system_id, component_id, last_msg);
     mavlink_test_vk_fw_update_data_request(system_id, component_id, last_msg);

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

@@ -7,7 +7,7 @@
 #ifndef MAVLINK_VERSION_H
 #define MAVLINK_VERSION_H
 
-#define MAVLINK_BUILD_DATE "Thu May 09 2024"
+#define MAVLINK_BUILD_DATE "Fri May 24 2024"
 #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 1473955373237606900
+#define MAVLINK_COMMON_XML_HASH -161184732379561483
 
 #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 1473955373237606900
+#define MAVLINK_PRIMARY_XML_HASH -161184732379561483
 
 #ifndef MAVLINK_STX
 #define MAVLINK_STX 253

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

@@ -7,7 +7,7 @@
 #ifndef MAVLINK_VERSION_H
 #define MAVLINK_VERSION_H
 
-#define MAVLINK_BUILD_DATE "Thu May 09 2024"
+#define MAVLINK_BUILD_DATE "Fri May 24 2024"
 #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 3452106970252623375
+#define MAVLINK_PRIMARY_XML_HASH -3697728488519736124
 
 #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 3452106970252623375
+#define MAVLINK_MINIMAL_XML_HASH -3697728488519736124
 
 #ifdef __cplusplus
 extern "C" {

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

@@ -7,7 +7,7 @@
 #ifndef MAVLINK_VERSION_H
 #define MAVLINK_VERSION_H
 
-#define MAVLINK_BUILD_DATE "Thu May 09 2024"
+#define MAVLINK_BUILD_DATE "Fri May 24 2024"
 #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 -4305367162763529627
+#define MAVLINK_PRIMARY_XML_HASH 5196755403834838530
 
 #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 -4305367162763529627
+#define MAVLINK_STANDARD_XML_HASH 5196755403834838530
 
 #ifdef __cplusplus
 extern "C" {

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

@@ -7,7 +7,7 @@
 #ifndef MAVLINK_VERSION_H
 #define MAVLINK_VERSION_H
 
-#define MAVLINK_BUILD_DATE "Thu May 09 2024"
+#define MAVLINK_BUILD_DATE "Fri May 24 2024"
 #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