Bladeren bron

增加 VKFLY_CMD_DO_REPOSITION 命令

LiuYang 2 maanden geleden
bovenliggende
commit
74b72e08ae
100 gewijzigde bestanden met toevoegingen van 687 en 1475 verwijderingen
  1. 13 1
      msg_definitions/VKFly.xml
  2. 245 6
      v2.0/VKFly/VKFly.h
  3. 1 1
      v2.0/VKFly/mavlink.h
  4. 1 1
      v2.0/VKFly/mavlink_msg_qingxie_bms.h
  5. 5 5
      v2.0/VKFly/mavlink_msg_vk_bms_status.h
  6. 25 25
      v2.0/VKFly/mavlink_msg_vk_comp_version.h
  7. 21 21
      v2.0/VKFly/mavlink_msg_vk_digi_esc_status.h
  8. 5 5
      v2.0/VKFly/mavlink_msg_vk_engine_ecu_staus.h
  9. 1 1
      v2.0/VKFly/mavlink_msg_vk_external_ins_nav.h
  10. 1 1
      v2.0/VKFly/mavlink_msg_vk_fixedwing_control_value.h
  11. 1 1
      v2.0/VKFly/mavlink_msg_vk_fixedwing_rtl_circle_wp.h
  12. 5 5
      v2.0/VKFly/mavlink_msg_vk_fixedwing_servo_signal.h
  13. 1 1
      v2.0/VKFly/mavlink_msg_vk_formation_leader.h
  14. 1 1
      v2.0/VKFly/mavlink_msg_vk_fw_update_ack.h
  15. 1 1
      v2.0/VKFly/mavlink_msg_vk_fw_update_begin.h
  16. 5 5
      v2.0/VKFly/mavlink_msg_vk_fw_update_data.h
  17. 1 1
      v2.0/VKFly/mavlink_msg_vk_fw_update_data_request.h
  18. 1 1
      v2.0/VKFly/mavlink_msg_vk_mosaich_gps_raw.h
  19. 1 1
      v2.0/VKFly/mavlink_msg_vk_parachute_status.h
  20. 5 5
      v2.0/VKFly/mavlink_msg_vk_payload_data_relay.h
  21. 1 1
      v2.0/VKFly/mavlink_msg_vk_roi_target.h
  22. 1 1
      v2.0/VKFly/mavlink_msg_vk_rtk_base_pvt.h
  23. 1 1
      v2.0/VKFly/mavlink_msg_vk_update_terminate.h
  24. 1 1
      v2.0/VKFly/mavlink_msg_vk_weigher_state.h
  25. 1 1
      v2.0/VKFly/mavlink_msg_vkfly_edu_status.h
  26. 1 1
      v2.0/VKFly/mavlink_msg_vkfly_edu_status_ack.h
  27. 0 792
      v2.0/VKFly/mavlink_msg_vkfly_edu_status_msg.h
  28. 1 1
      v2.0/VKFly/mavlink_msg_vkfmu_status.h
  29. 1 1
      v2.0/VKFly/mavlink_msg_vkins_status.h
  30. 1 1
      v2.0/VKFly/version.h
  31. 1 248
      v2.0/common/common.h
  32. 1 1
      v2.0/common/mavlink.h
  33. 5 5
      v2.0/common/mavlink_msg_actuator_control_target.h
  34. 5 5
      v2.0/common/mavlink_msg_actuator_output_status.h
  35. 5 5
      v2.0/common/mavlink_msg_adsb_vehicle.h
  36. 9 9
      v2.0/common/mavlink_msg_ais_vessel.h
  37. 1 1
      v2.0/common/mavlink_msg_altitude.h
  38. 9 9
      v2.0/common/mavlink_msg_att_pos_mocap.h
  39. 1 1
      v2.0/common/mavlink_msg_attitude.h
  40. 5 5
      v2.0/common/mavlink_msg_attitude_quaternion.h
  41. 9 9
      v2.0/common/mavlink_msg_attitude_quaternion_cov.h
  42. 5 5
      v2.0/common/mavlink_msg_attitude_target.h
  43. 5 5
      v2.0/common/mavlink_msg_auth_key.h
  44. 5 5
      v2.0/common/mavlink_msg_autopilot_state_for_gimbal_device.h
  45. 17 17
      v2.0/common/mavlink_msg_autopilot_version.h
  46. 13 13
      v2.0/common/mavlink_msg_battery_info.h
  47. 9 9
      v2.0/common/mavlink_msg_battery_status.h
  48. 1 1
      v2.0/common/mavlink_msg_button_change.h
  49. 1 1
      v2.0/common/mavlink_msg_camera_capture_status.h
  50. 5 5
      v2.0/common/mavlink_msg_camera_fov_status.h
  51. 9 9
      v2.0/common/mavlink_msg_camera_image_captured.h
  52. 13 13
      v2.0/common/mavlink_msg_camera_information.h
  53. 1 1
      v2.0/common/mavlink_msg_camera_settings.h
  54. 1 1
      v2.0/common/mavlink_msg_camera_tracking_geo_status.h
  55. 1 1
      v2.0/common/mavlink_msg_camera_tracking_image_status.h
  56. 1 1
      v2.0/common/mavlink_msg_camera_trigger.h
  57. 5 5
      v2.0/common/mavlink_msg_can_filter_modify.h
  58. 5 5
      v2.0/common/mavlink_msg_can_frame.h
  59. 5 5
      v2.0/common/mavlink_msg_canfd_frame.h
  60. 17 17
      v2.0/common/mavlink_msg_cellular_config.h
  61. 1 1
      v2.0/common/mavlink_msg_cellular_status.h
  62. 5 5
      v2.0/common/mavlink_msg_change_operator_control.h
  63. 1 1
      v2.0/common/mavlink_msg_change_operator_control_ack.h
  64. 1 1
      v2.0/common/mavlink_msg_collision.h
  65. 1 1
      v2.0/common/mavlink_msg_command_ack.h
  66. 1 1
      v2.0/common/mavlink_msg_command_cancel.h
  67. 1 1
      v2.0/common/mavlink_msg_command_int.h
  68. 1 1
      v2.0/common/mavlink_msg_command_long.h
  69. 9 9
      v2.0/common/mavlink_msg_component_information.h
  70. 5 5
      v2.0/common/mavlink_msg_component_metadata.h
  71. 13 13
      v2.0/common/mavlink_msg_control_system_state.h
  72. 1 1
      v2.0/common/mavlink_msg_current_event_sequence.h
  73. 1 1
      v2.0/common/mavlink_msg_data_stream.h
  74. 1 1
      v2.0/common/mavlink_msg_data_transmission_handshake.h
  75. 1 1
      v2.0/common/mavlink_msg_debug.h
  76. 9 9
      v2.0/common/mavlink_msg_debug_float_array.h
  77. 5 5
      v2.0/common/mavlink_msg_debug_vect.h
  78. 5 5
      v2.0/common/mavlink_msg_distance_sensor.h
  79. 1 1
      v2.0/common/mavlink_msg_efi_status.h
  80. 5 5
      v2.0/common/mavlink_msg_encapsulated_data.h
  81. 13 13
      v2.0/common/mavlink_msg_esc_info.h
  82. 13 13
      v2.0/common/mavlink_msg_esc_status.h
  83. 1 1
      v2.0/common/mavlink_msg_estimator_status.h
  84. 5 5
      v2.0/common/mavlink_msg_event.h
  85. 1 1
      v2.0/common/mavlink_msg_extended_sys_state.h
  86. 1 1
      v2.0/common/mavlink_msg_fence_status.h
  87. 5 5
      v2.0/common/mavlink_msg_file_transfer_protocol.h
  88. 1 1
      v2.0/common/mavlink_msg_flight_information.h
  89. 21 21
      v2.0/common/mavlink_msg_follow_target.h
  90. 1 1
      v2.0/common/mavlink_msg_generator_status.h
  91. 5 5
      v2.0/common/mavlink_msg_gimbal_device_attitude_status.h
  92. 13 13
      v2.0/common/mavlink_msg_gimbal_device_information.h
  93. 5 5
      v2.0/common/mavlink_msg_gimbal_device_set_attitude.h
  94. 1 1
      v2.0/common/mavlink_msg_gimbal_manager_information.h
  95. 5 5
      v2.0/common/mavlink_msg_gimbal_manager_set_attitude.h
  96. 1 1
      v2.0/common/mavlink_msg_gimbal_manager_set_manual_control.h
  97. 1 1
      v2.0/common/mavlink_msg_gimbal_manager_set_pitchyaw.h
  98. 1 1
      v2.0/common/mavlink_msg_gimbal_manager_status.h
  99. 1 1
      v2.0/common/mavlink_msg_global_position_int.h
  100. 5 5
      v2.0/common/mavlink_msg_global_position_int_cov.h

+ 13 - 1
msg_definitions/VKFly.xml

@@ -629,7 +629,7 @@
       <entry value="5" name="VKFLY_FORMATION_VERTICLE_LINE"></entry>
     </enum>
 
-    <enum name="VKFLY_CMD">
+    <enum name="MAV_CMD">
       <description> VKFLY custom CMD </description>
       <entry value="44010" name="VKFLY_CMD_NAV_WP" hasLocation="true" isDestination="true">
         <description>VKFLY custom takephoto waypoint commond.</description>
@@ -841,6 +841,18 @@
         <param index="7" label=""></param>
       </entry>
 
+      <entry value="44070" name="VKFLY_CMD_DO_REPOSITION" hasLocation="true"
+        isDestination="true">
+        <description>Do reposition</description>
+        <param index="1" label=""></param>
+        <param index="2" label=""></param>
+        <param index="3" label=""></param>
+        <param index="4" label="yaw" units="deg" minValue="0" maxValue="359.99"> NAN means ignore </param>
+        <param index="5" label="x" units="m"> NAN means ignore </param>
+        <param index="6" label="y" units="m"> NAN means ignore </param>
+        <param index="7" label="z" units="m"> NAN means ignore </param>
+      </entry>
+
     </enum>
   </enums>
 

+ 245 - 6
v2.0/VKFly/VKFly.h

@@ -10,7 +10,7 @@
     #error Wrong include order: MAVLINK_VKFLY.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_VKFLY_XML_HASH 5143006658088487580
+#define MAVLINK_VKFLY_XML_HASH 414775501008155445
 
 #ifdef __cplusplus
 extern "C" {
@@ -481,10 +481,248 @@ typedef enum VKFLY_FORMATION_TYPE
 #endif
 
 /** @brief  VKFLY custom CMD  */
-#ifndef HAVE_ENUM_VKFLY_CMD
-#define HAVE_ENUM_VKFLY_CMD
-typedef enum VKFLY_CMD
+#ifndef HAVE_ENUM_MAV_CMD
+#define HAVE_ENUM_MAV_CMD
+typedef enum MAV_CMD
 {
+   MAV_CMD_NAV_WAYPOINT=16, /* Navigate to waypoint. This is intended for use in missions (for guided commands outside of missions use MAV_CMD_DO_REPOSITION). |Hold time. (ignored by fixed wing, time to stay at waypoint for rotary wing)| Acceptance radius (if the sphere with this radius is hit, the waypoint counts as reached)| 0 to pass through the WP, if > 0 radius to pass by WP. Positive value for clockwise orbit, negative value for counter-clockwise orbit. Allows trajectory control.| Desired yaw angle at waypoint (rotary wing). NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).| Latitude| Longitude| Altitude|  */
+   MAV_CMD_NAV_LOITER_UNLIM=17, /* Loiter around this waypoint an unlimited amount of time |Empty| Empty| Loiter radius around waypoint for forward-only moving vehicles (not multicopters). If positive loiter clockwise, else counter-clockwise| Desired yaw angle. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).| Latitude| Longitude| Altitude|  */
+   MAV_CMD_NAV_LOITER_TURNS=18, /* Loiter around this waypoint for X turns |Number of turns.| Leave loiter circle only once heading towards the next waypoint (0 = False)| Loiter radius around waypoint for forward-only moving vehicles (not multicopters). If positive loiter clockwise, else counter-clockwise| Loiter circle exit location and/or path to next waypoint ("xtrack") for forward-only moving vehicles (not multicopters). 0 for the vehicle to converge towards the center xtrack when it leaves the loiter (the line between the centers of the current and next waypoint), 1 to converge to the direct line between the location that the vehicle exits the loiter radius and the next waypoint. Otherwise the angle (in degrees) between the tangent of the loiter circle and the center xtrack at which the vehicle must leave the loiter (and converge to the center xtrack). NaN to use the current system default xtrack behaviour.| Latitude| Longitude| Altitude|  */
+   MAV_CMD_NAV_LOITER_TIME=19, /* Loiter at the specified latitude, longitude and altitude for a certain amount of time. Multicopter vehicles stop at the point (within a vehicle-specific acceptance radius). Forward-only moving vehicles (e.g. fixed-wing) circle the point with the specified radius/direction. If the Heading Required parameter (2) is non-zero forward moving aircraft will only leave the loiter circle once heading towards the next waypoint. |Loiter time (only starts once Lat, Lon and Alt is reached).| Leave loiter circle only once heading towards the next waypoint (0 = False)| Loiter radius around waypoint for forward-only moving vehicles (not multicopters). If positive loiter clockwise, else counter-clockwise.| Loiter circle exit location and/or path to next waypoint ("xtrack") for forward-only moving vehicles (not multicopters). 0 for the vehicle to converge towards the center xtrack when it leaves the loiter (the line between the centers of the current and next waypoint), 1 to converge to the direct line between the location that the vehicle exits the loiter radius and the next waypoint. Otherwise the angle (in degrees) between the tangent of the loiter circle and the center xtrack at which the vehicle must leave the loiter (and converge to the center xtrack). NaN to use the current system default xtrack behaviour.| Latitude| Longitude| Altitude|  */
+   MAV_CMD_NAV_RETURN_TO_LAUNCH=20, /* Return to launch location |Empty| Empty| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_NAV_LAND=21, /* Land at location. |Minimum target altitude if landing is aborted (0 = undefined/use system default).| Precision land mode.| Empty.| Desired yaw angle. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).| Latitude.| Longitude.| Landing altitude (ground level in current frame).|  */
+   MAV_CMD_NAV_TAKEOFF=22, /* Takeoff from ground / hand. Vehicles that support multiple takeoff modes (e.g. VTOL quadplane) should take off using the currently configured mode. |Minimum pitch (if airspeed sensor present), desired pitch without sensor| Empty| Empty| Yaw angle (if magnetometer present), ignored without magnetometer. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).| Latitude| Longitude| Altitude|  */
+   MAV_CMD_NAV_LAND_LOCAL=23, /* Land at local position (local frame only) |Landing target number (if available)| Maximum accepted offset from desired landing position - computed magnitude from spherical coordinates: d = sqrt(x^2 + y^2 + z^2), which gives the maximum accepted distance between the desired landing position and the position where the vehicle is about to land| Landing descend rate| Desired yaw angle| Y-axis position| X-axis position| Z-axis / ground level position|  */
+   MAV_CMD_NAV_TAKEOFF_LOCAL=24, /* Takeoff from local position (local frame only) |Minimum pitch (if airspeed sensor present), desired pitch without sensor| Empty| Takeoff ascend rate| Yaw angle (if magnetometer or another yaw estimation source present), ignored without one of these| Y-axis position| X-axis position| Z-axis position|  */
+   MAV_CMD_NAV_FOLLOW=25, /* Vehicle following, i.e. this waypoint represents the position of a moving vehicle |Following logic to use (e.g. loitering or sinusoidal following) - depends on specific autopilot implementation| Ground speed of vehicle to be followed| Radius around waypoint. If positive loiter clockwise, else counter-clockwise| Desired yaw angle.| Latitude| Longitude| Altitude|  */
+   MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT=30, /* Continue on the current course and climb/descend to specified altitude.  When the altitude is reached continue to the next command (i.e., don't proceed to the next command until the desired altitude is reached. |Climb or Descend (0 = Neutral, command completes when within 5m of this command's altitude, 1 = Climbing, command completes when at or above this command's altitude, 2 = Descending, command completes when at or below this command's altitude.| Empty| Empty| Empty| Empty| Empty| Desired altitude|  */
+   MAV_CMD_NAV_LOITER_TO_ALT=31, /* Begin loiter at the specified Latitude and Longitude.  If Lat=Lon=0, then loiter at the current position.  Don't consider the navigation command complete (don't leave loiter) until the altitude has been reached. Additionally, if the Heading Required parameter is non-zero the aircraft will not leave the loiter until heading toward the next waypoint. |Leave loiter circle only once heading towards the next waypoint (0 = False)| Loiter radius around waypoint for forward-only moving vehicles (not multicopters). If positive loiter clockwise, negative counter-clockwise, 0 means no change to standard loiter.| Empty| Loiter circle exit location and/or path to next waypoint ("xtrack") for forward-only moving vehicles (not multicopters). 0 for the vehicle to converge towards the center xtrack when it leaves the loiter (the line between the centers of the current and next waypoint), 1 to converge to the direct line between the location that the vehicle exits the loiter radius and the next waypoint. Otherwise the angle (in degrees) between the tangent of the loiter circle and the center xtrack at which the vehicle must leave the loiter (and converge to the center xtrack). NaN to use the current system default xtrack behaviour.| Latitude| Longitude| Altitude|  */
+   MAV_CMD_DO_FOLLOW=32, /* Begin following a target |System ID (of the FOLLOW_TARGET beacon). Send 0 to disable follow-me and return to the default position hold mode.| Reserved| Reserved| Altitude mode: 0: Keep current altitude, 1: keep altitude difference to target, 2: go to a fixed altitude above home.| Altitude above home. (used if mode=2)| Reserved| Time to land in which the MAV should go to the default position hold mode after a message RX timeout.|  */
+   MAV_CMD_DO_FOLLOW_REPOSITION=33, /* Reposition the MAV after a follow target command has been sent |Camera q1 (where 0 is on the ray from the camera to the tracking device)| Camera q2| Camera q3| Camera q4| altitude offset from target| X offset from target| Y offset from target|  */
+   MAV_CMD_DO_ORBIT=34, /* Start orbiting on the circumference of a circle defined by the parameters. Setting values to NaN/INT32_MAX (as appropriate) results in using defaults. |Radius of the circle. Positive: orbit clockwise. Negative: orbit counter-clockwise. NaN: Use vehicle default radius, or current radius if already orbiting.| Tangential Velocity. NaN: Use vehicle default velocity, or current velocity if already orbiting.| Yaw behavior of the vehicle.| Orbit around the centre point for this many radians (i.e. for a three-quarter orbit set 270*Pi/180). 0: Orbit forever. NaN: Use vehicle default, or current value if already orbiting.| Center point latitude (if no MAV_FRAME specified) / X coordinate according to MAV_FRAME. INT32_MAX (or NaN if sent in COMMAND_LONG): Use current vehicle position, or current center if already orbiting.| Center point longitude (if no MAV_FRAME specified) / Y coordinate according to MAV_FRAME. INT32_MAX (or NaN if sent in COMMAND_LONG): Use current vehicle position, or current center if already orbiting.| Center point altitude (MSL) (if no MAV_FRAME specified) / Z coordinate according to MAV_FRAME. NaN: Use current vehicle altitude.|  */
+   MAV_CMD_NAV_ROI=80, /* Sets the region of interest (ROI) for a sensor set or the vehicle itself. This can then be used by the vehicle's control system to control the vehicle attitude and the attitude of various sensors such as cameras. |Region of interest mode.| Waypoint index/ target ID. (see MAV_ROI enum)| ROI index (allows a vehicle to manage multiple ROI's)| Empty| x the location of the fixed ROI (see MAV_FRAME)| y| z|  */
+   MAV_CMD_NAV_PATHPLANNING=81, /* Control autonomous path planning on the MAV. |0: Disable local obstacle avoidance / local path planning (without resetting map), 1: Enable local path planning, 2: Enable and reset local path planning| 0: Disable full path planning (without resetting map), 1: Enable, 2: Enable and reset map/occupancy grid, 3: Enable and reset planned route, but not occupancy grid| Empty| Yaw angle at goal| Latitude/X of goal| Longitude/Y of goal| Altitude/Z of goal|  */
+   MAV_CMD_NAV_SPLINE_WAYPOINT=82, /* Navigate to waypoint using a spline path. |Hold time. (ignored by fixed wing, time to stay at waypoint for rotary wing)| Empty| Empty| Empty| Latitude/X of goal| Longitude/Y of goal| Altitude/Z of goal|  */
+   MAV_CMD_NAV_VTOL_TAKEOFF=84, /* Takeoff from ground using VTOL mode, and transition to forward flight with specified heading. The command should be ignored by vehicles that dont support both VTOL and fixed-wing flight (multicopters, boats,etc.). |Empty| Front transition heading.| Empty| Yaw angle. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).| Latitude| Longitude| Altitude|  */
+   MAV_CMD_NAV_VTOL_LAND=85, /* Land using VTOL mode |Landing behaviour.| Empty| Approach altitude (with the same reference as the Altitude field). NaN if unspecified.| Yaw angle. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).| Latitude| Longitude| Altitude (ground level) relative to the current coordinate frame. NaN to use system default landing altitude (ignore value).|  */
+   MAV_CMD_NAV_GUIDED_ENABLE=92, /* hand control over to an external controller |On / Off (> 0.5f on)| Empty| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_NAV_DELAY=93, /* Delay the next navigation command a number of seconds or until a specified time |Delay (-1 to enable time-of-day fields)| hour (24h format, UTC, -1 to ignore)| minute (24h format, UTC, -1 to ignore)| second (24h format, UTC, -1 to ignore)| Empty| Empty| Empty|  */
+   MAV_CMD_NAV_PAYLOAD_PLACE=94, /* Descend and place payload. Vehicle moves to specified location, descends until it detects a hanging payload has reached the ground, and then releases the payload. If ground is not detected before the reaching the maximum descent value (param1), the command will complete without releasing the payload. |Maximum distance to descend.| Empty| Empty| Empty| Latitude| Longitude| Altitude|  */
+   MAV_CMD_NAV_LAST=95, /* NOP - This command is only used to mark the upper limit of the NAV/ACTION commands in the enumeration |Empty| Empty| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_CONDITION_DELAY=112, /* Delay mission state machine. |Delay| Empty| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_CONDITION_CHANGE_ALT=113, /* Ascend/descend to target altitude at specified rate. Delay mission state machine until desired altitude reached. |Descent / Ascend rate.| Empty| Empty| Empty| Empty| Empty| Target Altitude|  */
+   MAV_CMD_CONDITION_DISTANCE=114, /* Delay mission state machine until within desired distance of next NAV point. |Distance.| Empty| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_CONDITION_YAW=115, /* Reach a certain target angle. |target angle [0-360]. Absolute angles: 0 is north. Relative angle: 0 is initial yaw. Direction set by param3.| angular speed| direction: -1: counter clockwise, 0: shortest direction, 1: clockwise| 0: absolute angle, 1: relative offset| Empty| Empty| Empty|  */
+   MAV_CMD_CONDITION_LAST=159, /* NOP - This command is only used to mark the upper limit of the CONDITION commands in the enumeration |Empty| Empty| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_SET_MODE=176, /* Set system mode. |Mode| Custom mode - this is system specific, please refer to the individual autopilot specifications for details.| Custom sub mode - this is system specific, please refer to the individual autopilot specifications for details.| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_JUMP=177, /* Jump to the desired command in the mission list.  Repeat this action only the specified number of times |Sequence number| Repeat count| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_CHANGE_SPEED=178, /* Change speed and/or throttle set points. The value persists until it is overridden or there is a mode change |Speed type of value set in param2 (such as airspeed, ground speed, and so on)| Speed (-1 indicates no change, -2 indicates return to default vehicle speed)| Throttle (-1 indicates no change, -2 indicates return to default vehicle throttle value)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_DO_SET_HOME=179, /* 
+          Sets the home position to either to the current position or a specified position.
+          The home position is the default position that the system will return to and land on.
+          The position is set automatically by the system during the takeoff (and may also be set using this command).
+          Note: the current home position may be emitted in a HOME_POSITION message on request (using MAV_CMD_REQUEST_MESSAGE with param1=242).
+         |Use current (1=use current location, 0=use specified location)| Roll angle (of surface). Range: -180..180 degrees. NAN or 0 means value not set. 0.01 indicates zero roll.| Pitch angle (of surface). Range: -90..90 degrees. NAN or 0 means value not set. 0.01 means zero pitch.| Yaw angle. NaN to use default heading. Range: -180..180 degrees.| Latitude| Longitude| Altitude|  */
+   MAV_CMD_DO_SET_PARAMETER=180, /* Set a system parameter.  Caution!  Use of this command requires knowledge of the numeric enumeration value of the parameter. |Parameter number| Parameter value| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_SET_RELAY=181, /* Set a relay to a condition. |Relay instance number.| Setting. (1=on, 0=off, others possible depending on system hardware)| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_REPEAT_RELAY=182, /* Cycle a relay on and off for a desired number of cycles with a desired period. |Relay instance number.| Cycle count.| Cycle time.| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_SET_SERVO=183, /* Set a servo to a desired PWM value. |Servo instance number.| Pulse Width Modulation.| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_REPEAT_SERVO=184, /* Cycle a between its nominal setting and a desired PWM for a desired number of cycles with a desired period. |Servo instance number.| Pulse Width Modulation.| Cycle count.| Cycle time.| Empty| Empty| Empty|  */
+   MAV_CMD_DO_FLIGHTTERMINATION=185, /* Terminate flight immediately.
+          Flight termination immediately and irreversibly terminates the current flight, returning the vehicle to ground.
+          The vehicle will ignore RC or other input until it has been power-cycled.
+          Termination may trigger safety measures, including: disabling motors and deployment of parachute on multicopters, and setting flight surfaces to initiate a landing pattern on fixed-wing).
+          On multicopters without a parachute it may trigger a crash landing.
+          Support for this command can be tested using the protocol bit: MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION.
+          Support for this command can also be tested by sending the command with param1=0 (< 0.5); the ACK should be either MAV_RESULT_FAILED or MAV_RESULT_UNSUPPORTED.
+         |Flight termination activated if > 0.5. Otherwise not activated and ACK with MAV_RESULT_FAILED.| Empty| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_CHANGE_ALTITUDE=186, /* Change altitude set point. |Altitude.| Frame of new altitude.| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_SET_ACTUATOR=187, /* Sets actuators (e.g. servos) to a desired value. The actuator numbers are mapped to specific outputs (e.g. on any MAIN or AUX PWM or UAVCAN) using a flight-stack specific mechanism (i.e. a parameter). |Actuator 1 value, scaled from [-1 to 1]. NaN to ignore.| Actuator 2 value, scaled from [-1 to 1]. NaN to ignore.| Actuator 3 value, scaled from [-1 to 1]. NaN to ignore.| Actuator 4 value, scaled from [-1 to 1]. NaN to ignore.| Actuator 5 value, scaled from [-1 to 1]. NaN to ignore.| Actuator 6 value, scaled from [-1 to 1]. NaN to ignore.| Index of actuator set (i.e if set to 1, Actuator 1 becomes Actuator 7)|  */
+   MAV_CMD_DO_LAND_START=189, /* Mission command to perform a landing. This is used as a marker in a mission to tell the autopilot where a sequence of mission items that represents a landing starts.
+	  It may also be sent via a COMMAND_LONG to trigger a landing, in which case the nearest (geographically) landing sequence in the mission will be used.
+	  The Latitude/Longitude/Altitude is optional, and may be set to 0 if not needed. If specified then it will be used to help find the closest landing sequence.
+	 |Empty| Empty| Empty| Empty| Latitude| Longitude| Altitude|  */
+   MAV_CMD_DO_RALLY_LAND=190, /* Mission command to perform a landing from a rally point. |Break altitude| Landing speed| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_GO_AROUND=191, /* Mission command to safely abort an autonomous landing. |Altitude| Empty| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_REPOSITION=192, /* Reposition the vehicle to a specific WGS84 global position. This command is intended for guided commands (for missions use MAV_CMD_NAV_WAYPOINT instead). |Ground speed, less than 0 (-1) for default| Bitmask of option flags.| Loiter radius for planes. Positive values only, direction is controlled by Yaw value. A value of zero or NaN is ignored. | Yaw heading. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.). For planes indicates loiter direction (0: clockwise, 1: counter clockwise)| Latitude| Longitude| Altitude|  */
+   MAV_CMD_DO_PAUSE_CONTINUE=193, /* If in a GPS controlled position mode, hold the current position or continue. |0: Pause current mission or reposition command, hold current position. 1: Continue mission. A VTOL capable vehicle should enter hover mode (multicopter and VTOL planes). A plane should loiter with the default loiter radius.| Reserved| Reserved| Reserved| Reserved| Reserved| Reserved|  */
+   MAV_CMD_DO_SET_REVERSE=194, /* Set moving direction to forward or reverse. |Direction (0=Forward, 1=Reverse)| Empty| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_SET_ROI_LOCATION=195, /* Sets the region of interest (ROI) to a location. This can then be used by the vehicle's control system to control the vehicle attitude and the attitude of various sensors such as cameras. This command can be sent to a gimbal manager but not to a gimbal device. A gimbal is not to react to this message. |Component ID of gimbal device to address (or 1-6 for non-MAVLink gimbal), 0 for all gimbal device components. Send command multiple times for more than one gimbal (but not all gimbals).| Empty| Empty| Empty| Latitude of ROI location| Longitude of ROI location| Altitude of ROI location|  */
+   MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET=196, /* Sets the region of interest (ROI) to be toward next waypoint, with optional pitch/roll/yaw offset. This can then be used by the vehicle's control system to control the vehicle attitude and the attitude of various sensors such as cameras. This command can be sent to a gimbal manager but not to a gimbal device. A gimbal device is not to react to this message. |Component ID of gimbal device to address (or 1-6 for non-MAVLink gimbal), 0 for all gimbal device components. Send command multiple times for more than one gimbal (but not all gimbals).| Empty| Empty| Empty| Pitch offset from next waypoint, positive pitching up| Roll offset from next waypoint, positive rolling to the right| Yaw offset from next waypoint, positive yawing to the right|  */
+   MAV_CMD_DO_SET_ROI_NONE=197, /* Cancels any previous ROI command returning the vehicle/sensors to default flight characteristics. This can then be used by the vehicle's control system to control the vehicle attitude and the attitude of various sensors such as cameras. This command can be sent to a gimbal manager but not to a gimbal device. A gimbal device is not to react to this message. After this command the gimbal manager should go back to manual input if available, and otherwise assume a neutral position. |Component ID of gimbal device to address (or 1-6 for non-MAVLink gimbal), 0 for all gimbal device components. Send command multiple times for more than one gimbal (but not all gimbals).| Empty| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_SET_ROI_SYSID=198, /* Mount tracks system with specified system ID. Determination of target vehicle position may be done with GLOBAL_POSITION_INT or any other means. This command can be sent to a gimbal manager but not to a gimbal device. A gimbal device is not to react to this message. |System ID| Component ID of gimbal device to address (or 1-6 for non-MAVLink gimbal), 0 for all gimbal device components. Send command multiple times for more than one gimbal (but not all gimbals).| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_DO_CONTROL_VIDEO=200, /* Control onboard camera system. |Camera ID (-1 for all)| Transmission: 0: disabled, 1: enabled compressed, 2: enabled raw| Transmission mode: 0: video stream, >0: single images every n seconds| Recording: 0: disabled, 1: enabled compressed, 2: enabled raw| Empty| Empty| Empty|  */
+   MAV_CMD_DO_SET_ROI=201, /* Sets the region of interest (ROI) for a sensor set or the vehicle itself. This can then be used by the vehicle's control system to control the vehicle attitude and the attitude of various sensors such as cameras. |Region of interest mode.| Waypoint index/ target ID (depends on param 1).| Region of interest index. (allows a vehicle to manage multiple ROI's)| Empty| MAV_ROI_WPNEXT: pitch offset from next waypoint, MAV_ROI_LOCATION: latitude| MAV_ROI_WPNEXT: roll offset from next waypoint, MAV_ROI_LOCATION: longitude| MAV_ROI_WPNEXT: yaw offset from next waypoint, MAV_ROI_LOCATION: altitude|  */
+   MAV_CMD_DO_DIGICAM_CONFIGURE=202, /* Configure digital camera. This is a fallback message for systems that have not yet implemented PARAM_EXT_XXX messages and camera definition files (see https://mavlink.io/en/services/camera_def.html ). |Modes: P, TV, AV, M, Etc.| Shutter speed: Divisor number for one second.| Aperture: F stop number.| ISO number e.g. 80, 100, 200, Etc.| Exposure type enumerator.| Command Identity.| Main engine cut-off time before camera trigger. (0 means no cut-off)|  */
+   MAV_CMD_DO_DIGICAM_CONTROL=203, /* Control digital camera. This is a fallback message for systems that have not yet implemented PARAM_EXT_XXX messages and camera definition files (see https://mavlink.io/en/services/camera_def.html ). |Session control e.g. show/hide lens| Zoom's absolute position| Zooming step value to offset zoom from the current position| Focus Locking, Unlocking or Re-locking| Shooting Command| Command Identity| Test shot identifier. If set to 1, image will only be captured, but not counted towards internal frame count.|  */
+   MAV_CMD_DO_MOUNT_CONFIGURE=204, /* Mission command to configure a camera or antenna mount |Mount operation mode| stabilize roll? (1 = yes, 0 = no)| stabilize pitch? (1 = yes, 0 = no)| stabilize yaw? (1 = yes, 0 = no)| roll input (0 = angle body frame, 1 = angular rate, 2 = angle absolute frame)| pitch input (0 = angle body frame, 1 = angular rate, 2 = angle absolute frame)| yaw input (0 = angle body frame, 1 = angular rate, 2 = angle absolute frame)|  */
+   MAV_CMD_DO_MOUNT_CONTROL=205, /* Mission command to control a camera or antenna mount |pitch depending on mount mode (degrees or degrees/second depending on pitch input).| roll depending on mount mode (degrees or degrees/second depending on roll input).| yaw depending on mount mode (degrees or degrees/second depending on yaw input).| altitude depending on mount mode.| latitude, set if appropriate mount mode.| longitude, set if appropriate mount mode.| Mount mode.|  */
+   MAV_CMD_DO_SET_CAM_TRIGG_DIST=206, /* Mission command to set camera trigger distance for this flight. The camera is triggered each time this distance is exceeded. This command can also be used to set the shutter integration time for the camera. |Camera trigger distance. 0 to stop triggering.| Camera shutter integration time. -1 or 0 to ignore| Trigger camera once immediately. (0 = no trigger, 1 = trigger)| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_FENCE_ENABLE=207, /* Mission command to enable the geofence |enable? (0=disable, 1=enable, 2=disable_floor_only)| Empty| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_PARACHUTE=208, /* Mission item/command to release a parachute or enable/disable auto release. |Action| Empty| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_MOTOR_TEST=209, /* Command to perform motor test. |Motor instance number (from 1 to max number of motors on the vehicle).| Throttle type (whether the Throttle Value in param3 is a percentage, PWM value, etc.)| Throttle value.| Timeout between tests that are run in sequence.| Motor count. Number of motors to test in sequence: 0/1=one motor, 2= two motors, etc. The Timeout (param4) is used between tests.| Motor test order.| Empty|  */
+   MAV_CMD_DO_INVERTED_FLIGHT=210, /* Change to/from inverted flight. |Inverted flight. (0=normal, 1=inverted)| Empty| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_GRIPPER=211, /* Mission command to operate a gripper. |Gripper instance number.| Gripper action to perform.| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_AUTOTUNE_ENABLE=212, /* Enable/disable autotune. |Enable (1: enable, 0:disable).| Specify which axis are autotuned. 0 indicates autopilot default settings.| Empty.| Empty.| Empty.| Empty.| Empty.|  */
+   MAV_CMD_NAV_SET_YAW_SPEED=213, /* Sets a desired vehicle turn angle and speed change. |Yaw angle to adjust steering by.| Speed.| Final angle. (0=absolute, 1=relative)| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_SET_CAM_TRIGG_INTERVAL=214, /* Mission command to set camera trigger interval for this flight. If triggering is enabled, the camera is triggered each time this interval expires. This command can also be used to set the shutter integration time for the camera. |Camera trigger cycle time. -1 or 0 to ignore.| Camera shutter integration time. Should be less than trigger cycle time. -1 or 0 to ignore.| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_MOUNT_CONTROL_QUAT=220, /* Mission command to control a camera or antenna mount, using a quaternion as reference. |quaternion param q1, w (1 in null-rotation)| quaternion param q2, x (0 in null-rotation)| quaternion param q3, y (0 in null-rotation)| quaternion param q4, z (0 in null-rotation)| Empty| Empty| Empty|  */
+   MAV_CMD_DO_GUIDED_MASTER=221, /* set id of master controller |System ID| Component ID| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_GUIDED_LIMITS=222, /* Set limits for external control |Timeout - maximum time that external controller will be allowed to control vehicle. 0 means no timeout.| Altitude (MSL) min - if vehicle moves below this alt, the command will be aborted and the mission will continue. 0 means no lower altitude limit.| Altitude (MSL) max - if vehicle moves above this alt, the command will be aborted and the mission will continue. 0 means no upper altitude limit.| Horizontal move limit - if vehicle moves more than this distance from its location at the moment the command was executed, the command will be aborted and the mission will continue. 0 means no horizontal move limit.| Empty| Empty| Empty|  */
+   MAV_CMD_DO_ENGINE_CONTROL=223, /* Control vehicle engine. This is interpreted by the vehicles engine controller to change the target engine state. It is intended for vehicles with internal combustion engines |0: Stop engine, 1:Start Engine| 0: Warm start, 1:Cold start. Controls use of choke where applicable| Height delay. This is for commanding engine start only after the vehicle has gained the specified height. Used in VTOL vehicles during takeoff to start engine after the aircraft is off the ground. Zero for no delay.| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_SET_MISSION_CURRENT=224, /* 
+          Set the mission item with sequence number seq as the current item and emit MISSION_CURRENT (whether or not the mission number changed).
+          If a mission is currently being executed, the system will continue to this new mission item on the shortest path, skipping any intermediate mission items.
+	  Note that mission jump repeat counters are not reset unless param2 is set (see MAV_CMD_DO_JUMP param2).
+
+          This command may trigger a mission state-machine change on some systems: for example from MISSION_STATE_NOT_STARTED or MISSION_STATE_PAUSED to MISSION_STATE_ACTIVE.
+          If the system is in mission mode, on those systems this command might therefore start, restart or resume the mission.
+          If the system is not in mission mode this command must not trigger a switch to mission mode.
+
+          The mission may be "reset" using param2.
+          Resetting sets jump counters to initial values (to reset counters without changing the current mission item set the param1 to `-1`).
+          Resetting also explicitly changes a mission state of MISSION_STATE_COMPLETE to MISSION_STATE_PAUSED or MISSION_STATE_ACTIVE, potentially allowing it to resume when it is (next) in a mission mode.
+
+	  The command will ACK with MAV_RESULT_FAILED if the sequence number is out of range (including if there is no mission item).
+         |Mission sequence value to set. -1 for the current mission item (use to reset mission without changing current mission item).| Resets mission. 1: true, 0: false. Resets jump counters to initial values and changes mission state "completed" to be "active" or "paused".| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_DO_LAST=240, /* NOP - This command is only used to mark the upper limit of the DO commands in the enumeration |Empty| Empty| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_PREFLIGHT_CALIBRATION=241, /* Trigger calibration. This command will be only accepted if in pre-flight mode. Except for Temperature Calibration, only one sensor should be set in a single message and all others should be zero. |1: gyro calibration, 3: gyro temperature calibration| 1: magnetometer calibration| 1: ground pressure calibration| 1: radio RC calibration, 2: RC trim calibration| 1: accelerometer calibration, 2: board level calibration, 3: accelerometer temperature calibration, 4: simple accelerometer calibration| 1: APM: compass/motor interference calibration (PX4: airspeed calibration, deprecated), 2: airspeed calibration| 1: ESC calibration, 3: barometer temperature calibration|  */
+   MAV_CMD_PREFLIGHT_SET_SENSOR_OFFSETS=242, /* Set sensor offsets. This command will be only accepted if in pre-flight mode. |Sensor to adjust the offsets for: 0: gyros, 1: accelerometer, 2: magnetometer, 3: barometer, 4: optical flow, 5: second magnetometer, 6: third magnetometer| X axis offset (or generic dimension 1), in the sensor's raw units| Y axis offset (or generic dimension 2), in the sensor's raw units| Z axis offset (or generic dimension 3), in the sensor's raw units| Generic dimension 4, in the sensor's raw units| Generic dimension 5, in the sensor's raw units| Generic dimension 6, in the sensor's raw units|  */
+   MAV_CMD_PREFLIGHT_UAVCAN=243, /* Trigger UAVCAN configuration (actuator ID assignment and direction mapping). Note that this maps to the legacy UAVCAN v0 function UAVCAN_ENUMERATE, which is intended to be executed just once during initial vehicle configuration (it is not a normal pre-flight command and has been poorly named). |1: Trigger actuator ID assignment and direction mapping. 0: Cancel command.| Reserved| Reserved| Reserved| Reserved| Reserved| Reserved|  */
+   MAV_CMD_PREFLIGHT_STORAGE=245, /* Request storage of different parameter values and logs. This command will be only accepted if in pre-flight mode. |Action to perform on the persistent parameter storage| Action to perform on the persistent mission storage| Onboard logging: 0: Ignore, 1: Start default rate logging, -1: Stop logging, > 1: logging rate (e.g. set to 1000 for 1000 Hz logging)| Reserved| Empty| Empty| Empty|  */
+   MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN=246, /* Request the reboot or shutdown of system components. |0: Do nothing for autopilot, 1: Reboot autopilot, 2: Shutdown autopilot, 3: Reboot autopilot and keep it in the bootloader until upgraded.| 0: Do nothing for onboard computer, 1: Reboot onboard computer, 2: Shutdown onboard computer, 3: Reboot onboard computer and keep it in the bootloader until upgraded.| 0: Do nothing for component, 1: Reboot component, 2: Shutdown component, 3: Reboot component and keep it in the bootloader until upgraded| MAVLink Component ID targeted in param3 (0 for all components).| Reserved (set to 0)| Reserved (set to 0)| WIP: ID (e.g. camera ID -1 for all IDs)|  */
+   MAV_CMD_OVERRIDE_GOTO=252, /* Override current mission with command to pause mission, pause mission and move to position, continue/resume mission. When param 1 indicates that the mission is paused (MAV_GOTO_DO_HOLD), param 2 defines whether it holds in place or moves to another position. |MAV_GOTO_DO_HOLD: pause mission and either hold or move to specified position (depending on param2), MAV_GOTO_DO_CONTINUE: resume mission.| MAV_GOTO_HOLD_AT_CURRENT_POSITION: hold at current position, MAV_GOTO_HOLD_AT_SPECIFIED_POSITION: hold at specified position.| Coordinate frame of hold point.| Desired yaw angle.| Latitude/X position.| Longitude/Y position.| Altitude/Z position.|  */
+   MAV_CMD_OBLIQUE_SURVEY=260, /* Mission command to set a Camera Auto Mount Pivoting Oblique Survey (Replaces CAM_TRIGG_DIST for this purpose). The camera is triggered each time this distance is exceeded, then the mount moves to the next position. Params 4~6 set-up the angle limits and number of positions for oblique survey, where mount-enabled vehicles automatically roll the camera between shots to emulate an oblique camera setup (providing an increased HFOV). This command can also be used to set the shutter integration time for the camera. |Camera trigger distance. 0 to stop triggering.| Camera shutter integration time. 0 to ignore| The minimum interval in which the camera is capable of taking subsequent pictures repeatedly. 0 to ignore.| Total number of roll positions at which the camera will capture photos (images captures spread evenly across the limits defined by param5).| Angle limits that the camera can be rolled to left and right of center.| Fixed pitch angle that the camera will hold in oblique mode if the mount is actuated in the pitch axis.| Empty|  */
+   MAV_CMD_MISSION_START=300, /* start running a mission |first_item: the first mission item to run| last_item:  the last mission item to run (after this item is run, the mission ends)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_ACTUATOR_TEST=310, /* Actuator testing command. This is similar to MAV_CMD_DO_MOTOR_TEST but operates on the level of output functions, i.e. it is possible to test Motor1 independent from which output it is configured on. Autopilots typically refuse this command while armed. |Output value: 1 means maximum positive output, 0 to center servos or minimum motor thrust (expected to spin), -1 for maximum negative (if not supported by the motors, i.e. motor is not reversible, smaller than 0 maps to NaN). And NaN maps to disarmed (stop the motors).| Timeout after which the test command expires and the output is restored to the previous value. A timeout has to be set for safety reasons. A timeout of 0 means to restore the previous value immediately.| Reserved (default:0)| Reserved (default:0)| Actuator Output function| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_CONFIGURE_ACTUATOR=311, /* Actuator configuration command. |Actuator configuration action| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Actuator Output function| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_COMPONENT_ARM_DISARM=400, /* Arms / Disarms a component |0: disarm, 1: arm| 0: arm-disarm unless prevented by safety checks (i.e. when landed), 21196: force arming/disarming (e.g. allow arming to override preflight checks and disarming in flight)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_RUN_PREARM_CHECKS=401, /* Instructs a target system to run pre-arm checks.
+          This allows preflight checks to be run on demand, which may be useful on systems that normally run them at low rate, or which do not trigger checks when the armable state might have changed.
+          This command should return MAV_RESULT_ACCEPTED if it will run the checks.
+          The results of the checks are usually then reported in SYS_STATUS messages (this is system-specific).
+          The command should return MAV_RESULT_TEMPORARILY_REJECTED if the system is already armed.
+         |Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_ILLUMINATOR_ON_OFF=405, /* Turns illuminators ON/OFF. An illuminator is a light source that is used for lighting up dark areas external to the system: e.g. a torch or searchlight (as opposed to a light source for illuminating the system itself, e.g. an indicator light). |0: Illuminators OFF, 1: Illuminators ON| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_GET_HOME_POSITION=410, /* Request the home position from the vehicle.
+	  The vehicle will ACK the command and then emit the HOME_POSITION message. |Reserved| Reserved| Reserved| Reserved| Reserved| Reserved| Reserved|  */
+   MAV_CMD_INJECT_FAILURE=420, /* Inject artificial failure for testing purposes. Note that autopilots should implement an additional protection before accepting this command such as a specific param setting. |The unit which is affected by the failure.| The type how the failure manifests itself.| Instance affected by failure (0 to signal all).| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_START_RX_PAIR=500, /* Starts receiver pairing. |0:Spektrum.| RC type.| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_GET_MESSAGE_INTERVAL=510, /* 
+          Request the interval between messages for a particular MAVLink message ID.
+          The receiver should ACK the command and then emit its response in a MESSAGE_INTERVAL message.
+         |The MAVLink message ID| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_SET_MESSAGE_INTERVAL=511, /* Set the interval between messages for a particular MAVLink message ID. This interface replaces REQUEST_DATA_STREAM. |The MAVLink message ID| The interval between two messages. -1: disable. 0: request default rate (which may be zero).| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Target address of message stream (if message has target address fields). 0: Flight-stack default (recommended), 1: address of requestor, 2: broadcast.|  */
+   MAV_CMD_REQUEST_MESSAGE=512, /* Request the target system(s) emit a single instance of a specified message (i.e. a "one-shot" version of MAV_CMD_SET_MESSAGE_INTERVAL). |The MAVLink message ID of the requested message.| Use for index ID, if required. Otherwise, the use of this parameter (if any) must be defined in the requested message. By default assumed not used (0).| The use of this parameter (if any), must be defined in the requested message. By default assumed not used (0).| The use of this parameter (if any), must be defined in the requested message. By default assumed not used (0).| The use of this parameter (if any), must be defined in the requested message. By default assumed not used (0).| The use of this parameter (if any), must be defined in the requested message. By default assumed not used (0).| Target address for requested message (if message has target address fields). 0: Flight-stack default, 1: address of requestor, 2: broadcast.|  */
+   MAV_CMD_REQUEST_PROTOCOL_VERSION=519, /* Request MAVLink protocol version compatibility. All receivers should ACK the command and then emit their capabilities in an PROTOCOL_VERSION message |1: Request supported protocol versions by all nodes on the network| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES=520, /* Request autopilot capabilities. The receiver should ACK the command and then emit its capabilities in an AUTOPILOT_VERSION message |1: Request autopilot version| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_REQUEST_CAMERA_INFORMATION=521, /* Request camera information (CAMERA_INFORMATION). |0: No action 1: Request camera capabilities| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_REQUEST_CAMERA_SETTINGS=522, /* Request camera settings (CAMERA_SETTINGS). |0: No Action 1: Request camera settings| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_REQUEST_STORAGE_INFORMATION=525, /* Request storage information (STORAGE_INFORMATION). Use the command's target_component to target a specific component's storage. |Storage ID (0 for all, 1 for first, 2 for second, etc.)| 0: No Action 1: Request storage information| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_STORAGE_FORMAT=526, /* Format a storage medium. Once format is complete, a STORAGE_INFORMATION message is sent. Use the command's target_component to target a specific component's storage. |Storage ID (1 for first, 2 for second, etc.)| Format storage (and reset image log). 0: No action 1: Format storage| Reset Image Log (without formatting storage medium). This will reset CAMERA_CAPTURE_STATUS.image_count and CAMERA_IMAGE_CAPTURED.image_index. 0: No action 1: Reset Image Log| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_REQUEST_CAMERA_CAPTURE_STATUS=527, /* Request camera capture status (CAMERA_CAPTURE_STATUS) |0: No Action 1: Request camera capture status| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_REQUEST_FLIGHT_INFORMATION=528, /* Request flight information (FLIGHT_INFORMATION) |1: Request flight information| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_RESET_CAMERA_SETTINGS=529, /* Reset all camera settings to Factory Default |0: No Action 1: Reset all settings| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_SET_CAMERA_MODE=530, /* Set camera running mode. Use NaN for reserved values. GCS will send a MAV_CMD_REQUEST_VIDEO_STREAM_STATUS command after a mode change if the camera supports video streaming. |Reserved (Set to 0)| Camera mode| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
+   MAV_CMD_SET_CAMERA_ZOOM=531, /* Set camera zoom. Camera must respond with a CAMERA_SETTINGS message (on success). |Zoom type| Zoom value. The range of valid values depend on the zoom type.| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
+   MAV_CMD_SET_CAMERA_FOCUS=532, /* Set camera focus. Camera must respond with a CAMERA_SETTINGS message (on success). |Focus type| Focus value| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
+   MAV_CMD_SET_STORAGE_USAGE=533, /* Set that a particular storage is the preferred location for saving photos, videos, and/or other media (e.g. to set that an SD card is used for storing videos).
+          There can only be one preferred save location for each particular media type: setting a media usage flag will clear/reset that same flag if set on any other storage.
+          If no flag is set the system should use its default storage.
+          A target system can choose to always use default storage, in which case it should ACK the command with MAV_RESULT_UNSUPPORTED.
+          A target system can choose to not allow a particular storage to be set as preferred storage, in which case it should ACK the command with MAV_RESULT_DENIED. |Storage ID (1 for first, 2 for second, etc.)| Usage flags| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_JUMP_TAG=600, /* Tagged jump target. Can be jumped to with MAV_CMD_DO_JUMP_TAG. |Tag.| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_DO_JUMP_TAG=601, /* Jump to the matching tag in the mission list. Repeat this action for the specified number of times. A mission should contain a single matching tag for each jump. If this is not the case then a jump to a missing tag should complete the mission, and a jump where there are multiple matching tags should always select the one with the lowest mission sequence number. |Target tag to jump to.| Repeat count.| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW=1000, /* Set gimbal manager pitch/yaw setpoints (low rate command). It is possible to set combinations of the values below. E.g. an angle as well as a desired angular rate can be used to get to this angle at a certain angular rate, or an angular rate only will result in continuous turning. NaN is to be used to signal unset. Note: only the gimbal manager will react to this command - it will be ignored by a gimbal device. Use GIMBAL_MANAGER_SET_PITCHYAW if you need to stream pitch/yaw setpoints at higher rate.  |Pitch angle (positive to pitch up, relative to vehicle for FOLLOW mode, relative to world horizon for LOCK mode).| Yaw angle (positive to yaw to the right, relative to vehicle for FOLLOW mode, absolute to North for LOCK mode).| Pitch rate (positive to pitch up).| Yaw rate (positive to yaw to the right).| Gimbal manager flags to use.| Reserved (default:0)| Component ID of gimbal device to address (or 1-6 for non-MAVLink gimbal), 0 for all gimbal device components. Send command multiple times for more than one gimbal (but not all gimbals).|  */
+   MAV_CMD_DO_GIMBAL_MANAGER_CONFIGURE=1001, /* Gimbal configuration to set which sysid/compid is in primary and secondary control. |Sysid for primary control (0: no one in control, -1: leave unchanged, -2: set itself in control (for missions where the own sysid is still unknown), -3: remove control if currently in control).| Compid for primary control (0: no one in control, -1: leave unchanged, -2: set itself in control (for missions where the own sysid is still unknown), -3: remove control if currently in control).| Sysid for secondary control (0: no one in control, -1: leave unchanged, -2: set itself in control (for missions where the own sysid is still unknown), -3: remove control if currently in control).| Compid for secondary control (0: no one in control, -1: leave unchanged, -2: set itself in control (for missions where the own sysid is still unknown), -3: remove control if currently in control).| Reserved (default:0)| Reserved (default:0)| Component ID of gimbal device to address (or 1-6 for non-MAVLink gimbal), 0 for all gimbal device components. Send command multiple times for more than one gimbal (but not all gimbals).|  */
+   MAV_CMD_IMAGE_START_CAPTURE=2000, /* Start image capture sequence. CAMERA_IMAGE_CAPTURED must be emitted after each capture.
+
+          Param1 (id) may be used to specify the target camera: 0: all cameras, 1 to 6: autopilot-connected cameras, 7-255: MAVLink camera component ID.
+          It is needed in order to target specific cameras connected to the autopilot, or specific sensors in a multi-sensor camera (neither of which have a distinct MAVLink component ID).
+          It is also needed to specify the target camera in missions.
+
+          When used in a mission, an autopilot should execute the MAV_CMD for a specified local camera (param1 = 1-6), or resend it as a command if it is intended for a MAVLink camera (param1 = 7 - 255), setting the command's target_component as the param1 value (and setting param1 in the command to zero).
+          If the param1 is 0 the autopilot should do both.
+          
+          When sent in a command the target MAVLink address is set using target_component.
+          If addressed specifically to an autopilot: param1 should be used in the same way as it is for missions (though command should NACK with MAV_RESULT_DENIED if a specified local camera does not exist).
+          If addressed to a MAVLink camera, param 1 can be used to address all cameras (0), or to separately address 1 to 7 individual sensors. Other values should be NACKed with MAV_RESULT_DENIED.
+          If the command is broadcast (target_component is 0) then param 1 should be set to 0 (any other value should be NACKED with MAV_RESULT_DENIED). An autopilot would trigger any local cameras and forward the command to all channels.
+         |Target camera ID. 7 to 255: MAVLink camera component id. 1 to 6 for cameras that don't have a distinct component id (such as autopilot-attached cameras). 0: all cameras. This is used to specifically target autopilot-connected cameras or individual sensors in a multi-sensor MAVLink camera. It is also used to target specific cameras when the MAV_CMD is used in a mission| Desired elapsed time between two consecutive pictures (in seconds). Minimum values depend on hardware (typically greater than 2 seconds).| Total number of images to capture. 0 to capture forever/until MAV_CMD_IMAGE_STOP_CAPTURE.| Capture sequence number starting from 1. This is only valid for single-capture (param3 == 1), otherwise set to 0. Increment the capture ID for each capture command to prevent double captures when a command is re-transmitted.| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
+   MAV_CMD_IMAGE_STOP_CAPTURE=2001, /* Stop image capture sequence.
+        
+          Param1 (id) may be used to specify the target camera: 0: all cameras, 1 to 6: autopilot-connected cameras, 7-255: MAVLink camera component ID.
+          It is needed in order to target specific cameras connected to the autopilot, or specific sensors in a multi-sensor camera (neither of which have a distinct MAVLink component ID).
+          It is also needed to specify the target camera in missions.
+
+          When used in a mission, an autopilot should execute the MAV_CMD for a specified local camera (param1 = 1-6), or resend it as a command if it is intended for a MAVLink camera (param1 = 7 - 255), setting the command's target_component as the param1 value (and setting param1 in the command to zero).
+          If the param1 is 0 the autopilot should do both.
+
+          When sent in a command the target MAVLink address is set using target_component.
+          If addressed specifically to an autopilot: param1 should be used in the same way as it is for missions (though command should NACK with MAV_RESULT_DENIED if a specified local camera does not exist).
+          If addressed to a MAVLink camera, param1 can be used to address all cameras (0), or to separately address 1 to 7 individual sensors. Other values should be NACKed with MAV_RESULT_DENIED.
+          If the command is broadcast (target_component is 0) then param 1 should be set to 0 (any other value should be NACKED with MAV_RESULT_DENIED). An autopilot would trigger any local cameras and forward the command to all channels.
+         |Target camera ID. 7 to 255: MAVLink camera component id. 1 to 6 for cameras that don't have a distinct component id (such as autopilot-attached cameras). 0: all cameras. This is used to specifically target autopilot-connected cameras or individual sensors in a multi-sensor MAVLink camera. It is also used to target specific cameras when the MAV_CMD is used in a mission| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
+   MAV_CMD_REQUEST_CAMERA_IMAGE_CAPTURE=2002, /* Re-request a CAMERA_IMAGE_CAPTURED message. |Sequence number for missing CAMERA_IMAGE_CAPTURED message| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
+   MAV_CMD_DO_TRIGGER_CONTROL=2003, /* Enable or disable on-board camera triggering system. |Trigger enable/disable (0 for disable, 1 for start), -1 to ignore| 1 to reset the trigger sequence, -1 or 0 to ignore| 1 to pause triggering, but without switching the camera off or retracting it. -1 to ignore| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_CAMERA_TRACK_POINT=2004, /* If the camera supports point visual tracking (CAMERA_CAP_FLAGS_HAS_TRACKING_POINT is set), this command allows to initiate the tracking. |Point to track x value (normalized 0..1, 0 is left, 1 is right).| Point to track y value (normalized 0..1, 0 is top, 1 is bottom).| Point radius (normalized 0..1, 0 is image left, 1 is image right).| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_CAMERA_TRACK_RECTANGLE=2005, /* If the camera supports rectangle visual tracking (CAMERA_CAP_FLAGS_HAS_TRACKING_RECTANGLE is set), this command allows to initiate the tracking. |Top left corner of rectangle x value (normalized 0..1, 0 is left, 1 is right).| Top left corner of rectangle y value (normalized 0..1, 0 is top, 1 is bottom).| Bottom right corner of rectangle x value (normalized 0..1, 0 is left, 1 is right).| Bottom right corner of rectangle y value (normalized 0..1, 0 is top, 1 is bottom).| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_CAMERA_STOP_TRACKING=2010, /* Stops ongoing tracking. |Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_VIDEO_START_CAPTURE=2500, /* Starts video capture (recording). |Video Stream ID (0 for all streams)| Frequency CAMERA_CAPTURE_STATUS messages should be sent while recording (0 for no messages, otherwise frequency)| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
+   MAV_CMD_VIDEO_STOP_CAPTURE=2501, /* Stop the current video capture (recording). |Video Stream ID (0 for all streams)| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
+   MAV_CMD_VIDEO_START_STREAMING=2502, /* Start video streaming |Video Stream ID (0 for all streams, 1 for first, 2 for second, etc.)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_VIDEO_STOP_STREAMING=2503, /* Stop the given video stream |Video Stream ID (0 for all streams, 1 for first, 2 for second, etc.)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_REQUEST_VIDEO_STREAM_INFORMATION=2504, /* Request video stream information (VIDEO_STREAM_INFORMATION) |Video Stream ID (0 for all streams, 1 for first, 2 for second, etc.)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_REQUEST_VIDEO_STREAM_STATUS=2505, /* Request video stream status (VIDEO_STREAM_STATUS) |Video Stream ID (0 for all streams, 1 for first, 2 for second, etc.)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_LOGGING_START=2510, /* Request to start streaming logging data over MAVLink (see also LOGGING_DATA message) |Format: 0: ULog| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)|  */
+   MAV_CMD_LOGGING_STOP=2511, /* Request to stop streaming log data over MAVLink |Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)|  */
+   MAV_CMD_AIRFRAME_CONFIGURATION=2520, /*  |Landing gear ID (default: 0, -1 for all)| Landing gear position (Down: 0, Up: 1, NaN for no change)| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
+   MAV_CMD_CONTROL_HIGH_LATENCY=2600, /* Request to start/stop transmitting over the high latency telemetry |Control transmission over high latency telemetry (0: stop, 1: start)| Empty| Empty| Empty| Empty| Empty| Empty|  */
+   MAV_CMD_PANORAMA_CREATE=2800, /* Create a panorama at the current position |Viewing angle horizontal of the panorama (+- 0.5 the total angle)| Viewing angle vertical of panorama.| Speed of the horizontal rotation.| Speed of the vertical rotation.| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_DO_VTOL_TRANSITION=3000, /* Request VTOL transition |The target VTOL state. For normal transitions, only MAV_VTOL_STATE_MC and MAV_VTOL_STATE_FW can be used.| Force immediate transition to the specified MAV_VTOL_STATE. 1: Force immediate, 0: normal transition. Can be used, for example, to trigger an emergency "Quadchute". Caution: Can be dangerous/damage vehicle, depending on autopilot implementation of this command.| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_ARM_AUTHORIZATION_REQUEST=3001, /* Request authorization to arm the vehicle to a external entity, the arm authorizer is responsible to request all data that is needs from the vehicle before authorize or deny the request.
+		If approved the COMMAND_ACK message progress field should be set with period of time that this authorization is valid in seconds.
+		If the authorization is denied COMMAND_ACK.result_param2 should be set with one of the reasons in ARM_AUTH_DENIED_REASON.
+         |Vehicle system id, this way ground station can request arm authorization on behalf of any vehicle| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_SET_GUIDED_SUBMODE_STANDARD=4000, /* This command sets the submode to standard guided when vehicle is in guided mode. The vehicle holds position and altitude and the user can input the desired velocities along all three axes.
+                   |Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
+   MAV_CMD_SET_GUIDED_SUBMODE_CIRCLE=4001, /* This command sets submode circle when vehicle is in guided mode. Vehicle flies along a circle facing the center of the circle. The user can input the velocity along the circle and change the radius. If no input is given the vehicle will hold position.
+                   |Radius of desired circle in CIRCLE_MODE| User defined| User defined| User defined| Target latitude of center of circle in CIRCLE_MODE| Target longitude of center of circle in CIRCLE_MODE| Reserved (default:0)|  */
+   MAV_CMD_CONDITION_GATE=4501, /* Delay mission state machine until gate has been reached. |Geometry: 0: orthogonal to path between previous and next waypoint.| Altitude: 0: ignore altitude| Empty| Empty| Latitude| Longitude| Altitude|  */
+   MAV_CMD_NAV_FENCE_RETURN_POINT=5000, /* Fence return point (there can only be one such point in a geofence definition). If rally points are supported they should be used instead. |Reserved| Reserved| Reserved| Reserved| Latitude| Longitude| Altitude|  */
+   MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION=5001, /* Fence vertex for an inclusion polygon (the polygon must not be self-intersecting). The vehicle must stay within this area. Minimum of 3 vertices required.
+         |Polygon vertex count| Vehicle must be inside ALL inclusion zones in a single group, vehicle must be inside at least one group, must be the same for all points in each polygon| Reserved| Reserved| Latitude| Longitude| Reserved|  */
+   MAV_CMD_NAV_FENCE_POLYGON_VERTEX_EXCLUSION=5002, /* Fence vertex for an exclusion polygon (the polygon must not be self-intersecting). The vehicle must stay outside this area. Minimum of 3 vertices required.
+         |Polygon vertex count| Reserved| Reserved| Reserved| Latitude| Longitude| Reserved|  */
+   MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION=5003, /* Circular fence area. The vehicle must stay inside this area.
+         |Radius.| Vehicle must be inside ALL inclusion zones in a single group, vehicle must be inside at least one group| Reserved| Reserved| Latitude| Longitude| Reserved|  */
+   MAV_CMD_NAV_FENCE_CIRCLE_EXCLUSION=5004, /* Circular fence area. The vehicle must stay outside this area.
+         |Radius.| Reserved| Reserved| Reserved| Latitude| Longitude| Reserved|  */
+   MAV_CMD_NAV_RALLY_POINT=5100, /* Rally point. You can have multiple rally points defined.
+         |Reserved| Reserved| Reserved| Reserved| Latitude| Longitude| Altitude|  */
+   MAV_CMD_UAVCAN_GET_NODE_INFO=5200, /* Commands the vehicle to respond with a sequence of messages UAVCAN_NODE_INFO, one message per every UAVCAN node that is online. Note that some of the response messages can be lost, which the receiver can detect easily by checking whether every received UAVCAN_NODE_STATUS has a matching message UAVCAN_NODE_INFO received earlier; if not, this command should be sent again in order to request re-transmission of the node information messages. |Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)|  */
+   MAV_CMD_DO_ADSB_OUT_IDENT=10001, /* Trigger the start of an ADSB-out IDENT. This should only be used when requested to do so by an Air Traffic Controller in controlled airspace. This starts the IDENT which is then typically held for 18 seconds by the hardware per the Mode A, C, and S transponder spec. |Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)|  */
+   MAV_CMD_PAYLOAD_PREPARE_DEPLOY=30001, /* Deploy payload on a Lat / Lon / Alt position. This includes the navigation to reach the required release position and velocity. |Operation mode. 0: prepare single payload deploy (overwriting previous requests), but do not execute it. 1: execute payload deploy immediately (rejecting further deploy commands during execution, but allowing abort). 2: add payload deploy to existing deployment list.| Desired approach vector in compass heading. A negative value indicates the system can define the approach vector at will.| Desired ground speed at release time. This can be overridden by the airframe in case it needs to meet minimum airspeed. A negative value indicates the system can define the ground speed at will.| Minimum altitude clearance to the release position. A negative value indicates the system can define the clearance at will.| Latitude.| Longitude.| Altitude (MSL)|  */
+   MAV_CMD_PAYLOAD_CONTROL_DEPLOY=30002, /* Control the payload deployment. |Operation mode. 0: Abort deployment, continue normal mission. 1: switch to payload deployment mode. 100: delete first payload deployment request. 101: delete all payload deployment requests.| Reserved| Reserved| Reserved| Reserved| Reserved| Reserved|  */
+   MAV_CMD_WAYPOINT_USER_1=31000, /* User defined waypoint item. Ground Station will show the Vehicle as flying through this item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
+   MAV_CMD_WAYPOINT_USER_2=31001, /* User defined waypoint item. Ground Station will show the Vehicle as flying through this item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
+   MAV_CMD_WAYPOINT_USER_3=31002, /* User defined waypoint item. Ground Station will show the Vehicle as flying through this item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
+   MAV_CMD_WAYPOINT_USER_4=31003, /* User defined waypoint item. Ground Station will show the Vehicle as flying through this item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
+   MAV_CMD_WAYPOINT_USER_5=31004, /* User defined waypoint item. Ground Station will show the Vehicle as flying through this item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
+   MAV_CMD_SPATIAL_USER_1=31005, /* User defined spatial item. Ground Station will not show the Vehicle as flying through this item. Example: ROI item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
+   MAV_CMD_SPATIAL_USER_2=31006, /* User defined spatial item. Ground Station will not show the Vehicle as flying through this item. Example: ROI item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
+   MAV_CMD_SPATIAL_USER_3=31007, /* User defined spatial item. Ground Station will not show the Vehicle as flying through this item. Example: ROI item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
+   MAV_CMD_SPATIAL_USER_4=31008, /* User defined spatial item. Ground Station will not show the Vehicle as flying through this item. Example: ROI item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
+   MAV_CMD_SPATIAL_USER_5=31009, /* User defined spatial item. Ground Station will not show the Vehicle as flying through this item. Example: ROI item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
+   MAV_CMD_USER_1=31010, /* User defined command. Ground Station will not show the Vehicle as flying through this item. Example: MAV_CMD_DO_SET_PARAMETER item. |User defined| User defined| User defined| User defined| User defined| User defined| User defined|  */
+   MAV_CMD_USER_2=31011, /* User defined command. Ground Station will not show the Vehicle as flying through this item. Example: MAV_CMD_DO_SET_PARAMETER item. |User defined| User defined| User defined| User defined| User defined| User defined| User defined|  */
+   MAV_CMD_USER_3=31012, /* User defined command. Ground Station will not show the Vehicle as flying through this item. Example: MAV_CMD_DO_SET_PARAMETER item. |User defined| User defined| User defined| User defined| User defined| User defined| User defined|  */
+   MAV_CMD_USER_4=31013, /* User defined command. Ground Station will not show the Vehicle as flying through this item. Example: MAV_CMD_DO_SET_PARAMETER item. |User defined| User defined| User defined| User defined| User defined| User defined| User defined|  */
+   MAV_CMD_USER_5=31014, /* User defined command. Ground Station will not show the Vehicle as flying through this item. Example: MAV_CMD_DO_SET_PARAMETER item. |User defined| User defined| User defined| User defined| User defined| User defined| User defined|  */
+   MAV_CMD_CAN_FORWARD=32000, /* Request forwarding of CAN packets from the given CAN bus to this component. CAN Frames are sent using CAN_FRAME and CANFD_FRAME messages |Bus number (0 to disable forwarding, 1 for first bus, 2 for 2nd bus, 3 for 3rd bus).| Empty.| Empty.| Empty.| Empty.| Empty.| Empty.|  */
+   MAV_CMD_FIXED_MAG_CAL_YAW=42006, /* Magnetometer calibration based on provided known yaw. This allows for fast calibration using WMM field tables in the vehicle, given only the known yaw of the vehicle. If Latitude and longitude are both zero then use the current vehicle location. |Yaw of vehicle in earth frame.| CompassMask, 0 for all.| Latitude.| Longitude.| Empty.| Empty.| Empty.|  */
+   MAV_CMD_DO_WINCH=42600, /* Command to operate winch. |Winch instance number.| Action to perform.| Length of line to release (negative to wind).| Release rate (negative to wind).| Empty.| Empty.| Empty.|  */
+   MAV_CMD_EXTERNAL_POSITION_ESTIMATE=43003, /* Provide an external position estimate for use when dead-reckoning. This is meant to be used for occasional position resets that may be provided by a external system such as a remote pilot using landmarks over a video link. |Timestamp that this message was sent as a time in the transmitters time domain. The sender should wrap this time back to zero based on required timing accuracy for the application and the limitations of a 32 bit float. For example, wrapping at 10 hours would give approximately 1ms accuracy. Recipient must handle time wrap in any timing jitter correction applied to this field. Wrap rollover time should not be at not more than 250 seconds, which would give approximately 10 microsecond accuracy.| The time spent in processing the sensor data that is the basis for this position. The recipient can use this to improve time alignment of the data. Set to zero if not known.| estimated one standard deviation accuracy of the measurement. Set to NaN if not known.| Empty| Latitude| Longitude| Altitude, not used. Should be sent as NaN. May be supported in a future version of this message.|  */
    VKFLY_CMD_NAV_WP=44010, /* VKFLY custom takephoto waypoint commond. | |  |  | Yaw control mode| Latitude| Longitude| Altitude|  */
    VKFLY_CMD_NAV_WP_THROW=44011, /* VKFLY custom throwing waypoint command.  | | | Reserved.| Yaw control mode.| Latitude| Longitude| Altitude|  */
    VKFLY_CMD_NAV_WP_ORBIT_DO_PHOTO=44012, /* VLFLY Custom orbit waypoint  | |  |  |  | Latitude| Longitude| Altitude|  */
@@ -511,8 +749,9 @@ typedef enum VKFLY_CMD
    VKFLY_CMD_RESUME_WP_ALT=44068, /* Start mission |resume wp altitude and disable rc
           aux| | | | | | |  */
    VKFLY_CMD_EXT_NAV_CFG=44069, /* Start mission || | | | | | |  */
-   VKFLY_CMD_ENUM_END=44070, /*  | */
-} VKFLY_CMD;
+   VKFLY_CMD_DO_REPOSITION=44070, /* Do reposition || | |  NAN means ignore |  NAN means ignore |  NAN means ignore |  NAN means ignore |  */
+   MAV_CMD_ENUM_END=44071, /*  | */
+} MAV_CMD;
 #endif
 
 // MAVLINK VERSION

+ 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 414775501008155445
 
 #ifndef MAVLINK_STX
 #define MAVLINK_STX 253

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

@@ -535,7 +535,7 @@ static inline void mavlink_msg_qingxie_bms_send_struct(mavlink_channel_t chan, c
 
 #if MAVLINK_MSG_ID_QINGXIE_BMS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 5 - 5
v2.0/VKFly/mavlink_msg_vk_bms_status.h

@@ -121,7 +121,7 @@ static inline uint16_t mavlink_msg_vk_bms_status_pack(uint8_t system_id, uint8_t
     packet.cap_percent = cap_percent;
     packet.bat_id = bat_id;
     packet.health = health;
-    mav_array_memcpy(packet.cell_volt, cell_volt, sizeof(uint16_t)*30);
+    mav_array_assign_uint16_t(packet.cell_volt, cell_volt, 30);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_BMS_STATUS_LEN);
 #endif
 
@@ -247,7 +247,7 @@ static inline uint16_t mavlink_msg_vk_bms_status_pack_chan(uint8_t system_id, ui
     packet.cap_percent = cap_percent;
     packet.bat_id = bat_id;
     packet.health = health;
-    mav_array_memcpy(packet.cell_volt, cell_volt, sizeof(uint16_t)*30);
+    mav_array_assign_uint16_t(packet.cell_volt, cell_volt, 30);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_BMS_STATUS_LEN);
 #endif
 
@@ -346,7 +346,7 @@ static inline void mavlink_msg_vk_bms_status_send(mavlink_channel_t chan, uint32
     packet.cap_percent = cap_percent;
     packet.bat_id = bat_id;
     packet.health = health;
-    mav_array_memcpy(packet.cell_volt, cell_volt, sizeof(uint16_t)*30);
+    mav_array_assign_uint16_t(packet.cell_volt, cell_volt, 30);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_BMS_STATUS, (const char *)&packet, MAVLINK_MSG_ID_VK_BMS_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_BMS_STATUS_LEN, MAVLINK_MSG_ID_VK_BMS_STATUS_CRC);
 #endif
 }
@@ -367,7 +367,7 @@ static inline void mavlink_msg_vk_bms_status_send_struct(mavlink_channel_t chan,
 
 #if MAVLINK_MSG_ID_VK_BMS_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -401,7 +401,7 @@ static inline void mavlink_msg_vk_bms_status_send_buf(mavlink_message_t *msgbuf,
     packet->cap_percent = cap_percent;
     packet->bat_id = bat_id;
     packet->health = health;
-    mav_array_memcpy(packet->cell_volt, cell_volt, sizeof(uint16_t)*30);
+    mav_array_assign_uint16_t(packet->cell_volt, cell_volt, 30);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_BMS_STATUS, (const char *)packet, MAVLINK_MSG_ID_VK_BMS_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_BMS_STATUS_LEN, MAVLINK_MSG_ID_VK_BMS_STATUS_CRC);
 #endif
 }

+ 25 - 25
v2.0/VKFly/mavlink_msg_vk_comp_version.h

@@ -89,12 +89,12 @@ static inline uint16_t mavlink_msg_vk_comp_version_pack(uint8_t system_id, uint8
 #else
     mavlink_vk_comp_version_t packet;
     packet.comp_id = comp_id;
-    mav_array_memcpy(packet.hw_ver, hw_ver, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet.fw_ver, fw_ver, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet.SN, SN, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet.manufactory, manufactory, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet.model, model, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet.priv_data, priv_data, sizeof(uint8_t)*16);
+    mav_array_assign_uint8_t(packet.hw_ver, hw_ver, 16);
+    mav_array_assign_uint8_t(packet.fw_ver, fw_ver, 16);
+    mav_array_assign_uint8_t(packet.SN, SN, 16);
+    mav_array_assign_uint8_t(packet.manufactory, manufactory, 16);
+    mav_array_assign_uint8_t(packet.model, model, 16);
+    mav_array_assign_uint8_t(packet.priv_data, priv_data, 16);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_COMP_VERSION_LEN);
 #endif
 
@@ -183,12 +183,12 @@ static inline uint16_t mavlink_msg_vk_comp_version_pack_chan(uint8_t system_id,
 #else
     mavlink_vk_comp_version_t packet;
     packet.comp_id = comp_id;
-    mav_array_memcpy(packet.hw_ver, hw_ver, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet.fw_ver, fw_ver, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet.SN, SN, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet.manufactory, manufactory, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet.model, model, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet.priv_data, priv_data, sizeof(uint8_t)*16);
+    mav_array_assign_uint8_t(packet.hw_ver, hw_ver, 16);
+    mav_array_assign_uint8_t(packet.fw_ver, fw_ver, 16);
+    mav_array_assign_uint8_t(packet.SN, SN, 16);
+    mav_array_assign_uint8_t(packet.manufactory, manufactory, 16);
+    mav_array_assign_uint8_t(packet.model, model, 16);
+    mav_array_assign_uint8_t(packet.priv_data, priv_data, 16);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_COMP_VERSION_LEN);
 #endif
 
@@ -266,12 +266,12 @@ static inline void mavlink_msg_vk_comp_version_send(mavlink_channel_t chan, uint
 #else
     mavlink_vk_comp_version_t packet;
     packet.comp_id = comp_id;
-    mav_array_memcpy(packet.hw_ver, hw_ver, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet.fw_ver, fw_ver, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet.SN, SN, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet.manufactory, manufactory, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet.model, model, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet.priv_data, priv_data, sizeof(uint8_t)*16);
+    mav_array_assign_uint8_t(packet.hw_ver, hw_ver, 16);
+    mav_array_assign_uint8_t(packet.fw_ver, fw_ver, 16);
+    mav_array_assign_uint8_t(packet.SN, SN, 16);
+    mav_array_assign_uint8_t(packet.manufactory, manufactory, 16);
+    mav_array_assign_uint8_t(packet.model, model, 16);
+    mav_array_assign_uint8_t(packet.priv_data, priv_data, 16);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_COMP_VERSION, (const char *)&packet, MAVLINK_MSG_ID_VK_COMP_VERSION_MIN_LEN, MAVLINK_MSG_ID_VK_COMP_VERSION_LEN, MAVLINK_MSG_ID_VK_COMP_VERSION_CRC);
 #endif
 }
@@ -292,7 +292,7 @@ static inline void mavlink_msg_vk_comp_version_send_struct(mavlink_channel_t cha
 
 #if MAVLINK_MSG_ID_VK_COMP_VERSION_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -313,12 +313,12 @@ static inline void mavlink_msg_vk_comp_version_send_buf(mavlink_message_t *msgbu
 #else
     mavlink_vk_comp_version_t *packet = (mavlink_vk_comp_version_t *)msgbuf;
     packet->comp_id = comp_id;
-    mav_array_memcpy(packet->hw_ver, hw_ver, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet->fw_ver, fw_ver, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet->SN, SN, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet->manufactory, manufactory, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet->model, model, sizeof(uint8_t)*16);
-    mav_array_memcpy(packet->priv_data, priv_data, sizeof(uint8_t)*16);
+    mav_array_assign_uint8_t(packet->hw_ver, hw_ver, 16);
+    mav_array_assign_uint8_t(packet->fw_ver, fw_ver, 16);
+    mav_array_assign_uint8_t(packet->SN, SN, 16);
+    mav_array_assign_uint8_t(packet->manufactory, manufactory, 16);
+    mav_array_assign_uint8_t(packet->model, model, 16);
+    mav_array_assign_uint8_t(packet->priv_data, priv_data, 16);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_COMP_VERSION, (const char *)packet, MAVLINK_MSG_ID_VK_COMP_VERSION_MIN_LEN, MAVLINK_MSG_ID_VK_COMP_VERSION_LEN, MAVLINK_MSG_ID_VK_COMP_VERSION_CRC);
 #endif
 }

+ 21 - 21
v2.0/VKFly/mavlink_msg_vk_digi_esc_status.h

@@ -93,11 +93,11 @@ static inline uint16_t mavlink_msg_vk_digi_esc_status_pack(uint8_t system_id, ui
     mavlink_vk_digi_esc_status_t packet;
     packet.timestamp = timestamp;
     packet.index = index;
-    mav_array_memcpy(packet.rpm, rpm, sizeof(int32_t)*4);
-    mav_array_memcpy(packet.voltage, voltage, sizeof(float)*4);
-    mav_array_memcpy(packet.current, current, sizeof(float)*4);
-    mav_array_memcpy(packet.status, status, sizeof(uint32_t)*4);
-    mav_array_memcpy(packet.temperature, temperature, sizeof(int16_t)*4);
+    mav_array_assign_int32_t(packet.rpm, rpm, 4);
+    mav_array_assign_float(packet.voltage, voltage, 4);
+    mav_array_assign_float(packet.current, current, 4);
+    mav_array_assign_uint32_t(packet.status, status, 4);
+    mav_array_assign_int16_t(packet.temperature, temperature, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN);
 #endif
 
@@ -191,11 +191,11 @@ static inline uint16_t mavlink_msg_vk_digi_esc_status_pack_chan(uint8_t system_i
     mavlink_vk_digi_esc_status_t packet;
     packet.timestamp = timestamp;
     packet.index = index;
-    mav_array_memcpy(packet.rpm, rpm, sizeof(int32_t)*4);
-    mav_array_memcpy(packet.voltage, voltage, sizeof(float)*4);
-    mav_array_memcpy(packet.current, current, sizeof(float)*4);
-    mav_array_memcpy(packet.status, status, sizeof(uint32_t)*4);
-    mav_array_memcpy(packet.temperature, temperature, sizeof(int16_t)*4);
+    mav_array_assign_int32_t(packet.rpm, rpm, 4);
+    mav_array_assign_float(packet.voltage, voltage, 4);
+    mav_array_assign_float(packet.current, current, 4);
+    mav_array_assign_uint32_t(packet.status, status, 4);
+    mav_array_assign_int16_t(packet.temperature, temperature, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN);
 #endif
 
@@ -276,11 +276,11 @@ static inline void mavlink_msg_vk_digi_esc_status_send(mavlink_channel_t chan, u
     mavlink_vk_digi_esc_status_t packet;
     packet.timestamp = timestamp;
     packet.index = index;
-    mav_array_memcpy(packet.rpm, rpm, sizeof(int32_t)*4);
-    mav_array_memcpy(packet.voltage, voltage, sizeof(float)*4);
-    mav_array_memcpy(packet.current, current, sizeof(float)*4);
-    mav_array_memcpy(packet.status, status, sizeof(uint32_t)*4);
-    mav_array_memcpy(packet.temperature, temperature, sizeof(int16_t)*4);
+    mav_array_assign_int32_t(packet.rpm, rpm, 4);
+    mav_array_assign_float(packet.voltage, voltage, 4);
+    mav_array_assign_float(packet.current, current, 4);
+    mav_array_assign_uint32_t(packet.status, status, 4);
+    mav_array_assign_int16_t(packet.temperature, temperature, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS, (const char *)&packet, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_CRC);
 #endif
 }
@@ -301,7 +301,7 @@ static inline void mavlink_msg_vk_digi_esc_status_send_struct(mavlink_channel_t
 
 #if MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -323,11 +323,11 @@ static inline void mavlink_msg_vk_digi_esc_status_send_buf(mavlink_message_t *ms
     mavlink_vk_digi_esc_status_t *packet = (mavlink_vk_digi_esc_status_t *)msgbuf;
     packet->timestamp = timestamp;
     packet->index = index;
-    mav_array_memcpy(packet->rpm, rpm, sizeof(int32_t)*4);
-    mav_array_memcpy(packet->voltage, voltage, sizeof(float)*4);
-    mav_array_memcpy(packet->current, current, sizeof(float)*4);
-    mav_array_memcpy(packet->status, status, sizeof(uint32_t)*4);
-    mav_array_memcpy(packet->temperature, temperature, sizeof(int16_t)*4);
+    mav_array_assign_int32_t(packet->rpm, rpm, 4);
+    mav_array_assign_float(packet->voltage, voltage, 4);
+    mav_array_assign_float(packet->current, current, 4);
+    mav_array_assign_uint32_t(packet->status, status, 4);
+    mav_array_assign_int16_t(packet->temperature, temperature, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS, (const char *)packet, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_CRC);
 #endif
 }

+ 5 - 5
v2.0/VKFly/mavlink_msg_vk_engine_ecu_staus.h

@@ -159,7 +159,7 @@ static inline uint16_t mavlink_msg_vk_engine_ecu_staus_pack(uint8_t system_id, u
     packet.fault = fault;
     packet.engine_state = engine_state;
     packet.index = index;
-    mav_array_memcpy(packet.reserve, reserve, sizeof(uint8_t)*4);
+    mav_array_assign_uint8_t(packet.reserve, reserve, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN);
 #endif
 
@@ -323,7 +323,7 @@ static inline uint16_t mavlink_msg_vk_engine_ecu_staus_pack_chan(uint8_t system_
     packet.fault = fault;
     packet.engine_state = engine_state;
     packet.index = index;
-    mav_array_memcpy(packet.reserve, reserve, sizeof(uint8_t)*4);
+    mav_array_assign_uint8_t(packet.reserve, reserve, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN);
 #endif
 
@@ -441,7 +441,7 @@ static inline void mavlink_msg_vk_engine_ecu_staus_send(mavlink_channel_t chan,
     packet.fault = fault;
     packet.engine_state = engine_state;
     packet.index = index;
-    mav_array_memcpy(packet.reserve, reserve, sizeof(uint8_t)*4);
+    mav_array_assign_uint8_t(packet.reserve, reserve, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS, (const char *)&packet, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_MIN_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_CRC);
 #endif
 }
@@ -462,7 +462,7 @@ static inline void mavlink_msg_vk_engine_ecu_staus_send_struct(mavlink_channel_t
 
 #if MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -510,7 +510,7 @@ static inline void mavlink_msg_vk_engine_ecu_staus_send_buf(mavlink_message_t *m
     packet->fault = fault;
     packet->engine_state = engine_state;
     packet->index = index;
-    mav_array_memcpy(packet->reserve, reserve, sizeof(uint8_t)*4);
+    mav_array_assign_uint8_t(packet->reserve, reserve, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS, (const char *)packet, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_MIN_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_CRC);
 #endif
 }

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

@@ -580,7 +580,7 @@ static inline void mavlink_msg_vk_external_ins_nav_send_struct(mavlink_channel_t
 
 #if MAVLINK_MSG_ID_VK_EXTERNAL_INS_NAV_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -285,7 +285,7 @@ static inline void mavlink_msg_vk_fixedwing_control_value_send_struct(mavlink_ch
 
 #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
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -250,7 +250,7 @@ static inline void mavlink_msg_vk_fixedwing_rtl_circle_wp_send_struct(mavlink_ch
 
 #if MAVLINK_MSG_ID_VK_FIXEDWING_RTL_CIRCLE_WP_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -59,7 +59,7 @@ static inline uint16_t mavlink_msg_vk_fixedwing_servo_signal_pack(uint8_t system
 #else
     mavlink_vk_fixedwing_servo_signal_t packet;
     packet.timestamp = timestamp;
-    mav_array_memcpy(packet.servo_signal, servo_signal, sizeof(uint16_t)*16);
+    mav_array_assign_uint16_t(packet.servo_signal, servo_signal, 16);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN);
 #endif
 
@@ -123,7 +123,7 @@ static inline uint16_t mavlink_msg_vk_fixedwing_servo_signal_pack_chan(uint8_t s
 #else
     mavlink_vk_fixedwing_servo_signal_t packet;
     packet.timestamp = timestamp;
-    mav_array_memcpy(packet.servo_signal, servo_signal, sizeof(uint16_t)*16);
+    mav_array_assign_uint16_t(packet.servo_signal, servo_signal, 16);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_FIXEDWING_SERVO_SIGNAL_LEN);
 #endif
 
@@ -191,7 +191,7 @@ static inline void mavlink_msg_vk_fixedwing_servo_signal_send(mavlink_channel_t
 #else
     mavlink_vk_fixedwing_servo_signal_t packet;
     packet.timestamp = timestamp;
-    mav_array_memcpy(packet.servo_signal, servo_signal, sizeof(uint16_t)*16);
+    mav_array_assign_uint16_t(packet.servo_signal, servo_signal, 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
 }
@@ -212,7 +212,7 @@ static inline void mavlink_msg_vk_fixedwing_servo_signal_send_struct(mavlink_cha
 
 #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
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -228,7 +228,7 @@ static inline void mavlink_msg_vk_fixedwing_servo_signal_send_buf(mavlink_messag
 #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_array_assign_uint16_t(packet->servo_signal, servo_signal, 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
 }

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

@@ -430,7 +430,7 @@ static inline void mavlink_msg_vk_formation_leader_send_struct(mavlink_channel_t
 
 #if MAVLINK_MSG_ID_VK_FORMATION_LEADER_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -205,7 +205,7 @@ static inline void mavlink_msg_vk_fw_update_ack_send_struct(mavlink_channel_t ch
 
 #if MAVLINK_MSG_ID_VK_FW_UPDATE_ACK_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -235,7 +235,7 @@ static inline void mavlink_msg_vk_fw_update_begin_send_struct(mavlink_channel_t
 
 #if MAVLINK_MSG_ID_VK_FW_UPDATE_BEGIN_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 5 - 5
v2.0/VKFly/mavlink_msg_vk_fw_update_data.h

@@ -67,7 +67,7 @@ static inline uint16_t mavlink_msg_vk_fw_update_data_pack(uint8_t system_id, uin
     mavlink_vk_fw_update_data_t packet;
     packet.offset = offset;
     packet.count = count;
-    mav_array_memcpy(packet.data, data, sizeof(uint8_t)*128);
+    mav_array_assign_uint8_t(packet.data, data, 128);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_LEN);
 #endif
 
@@ -139,7 +139,7 @@ static inline uint16_t mavlink_msg_vk_fw_update_data_pack_chan(uint8_t system_id
     mavlink_vk_fw_update_data_t packet;
     packet.offset = offset;
     packet.count = count;
-    mav_array_memcpy(packet.data, data, sizeof(uint8_t)*128);
+    mav_array_assign_uint8_t(packet.data, data, 128);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_LEN);
 #endif
 
@@ -211,7 +211,7 @@ static inline void mavlink_msg_vk_fw_update_data_send(mavlink_channel_t chan, ui
     mavlink_vk_fw_update_data_t packet;
     packet.offset = offset;
     packet.count = count;
-    mav_array_memcpy(packet.data, data, sizeof(uint8_t)*128);
+    mav_array_assign_uint8_t(packet.data, data, 128);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_FW_UPDATE_DATA, (const char *)&packet, MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_MIN_LEN, MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_LEN, MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_CRC);
 #endif
 }
@@ -232,7 +232,7 @@ static inline void mavlink_msg_vk_fw_update_data_send_struct(mavlink_channel_t c
 
 #if MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -250,7 +250,7 @@ static inline void mavlink_msg_vk_fw_update_data_send_buf(mavlink_message_t *msg
     mavlink_vk_fw_update_data_t *packet = (mavlink_vk_fw_update_data_t *)msgbuf;
     packet->offset = offset;
     packet->count = count;
-    mav_array_memcpy(packet->data, data, sizeof(uint8_t)*128);
+    mav_array_assign_uint8_t(packet->data, data, 128);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_FW_UPDATE_DATA, (const char *)packet, MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_MIN_LEN, MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_LEN, MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_CRC);
 #endif
 }

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

@@ -220,7 +220,7 @@ static inline void mavlink_msg_vk_fw_update_data_request_send_struct(mavlink_cha
 
 #if MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_REQUEST_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -485,7 +485,7 @@ static inline void mavlink_msg_vk_mosaich_gps_raw_send_struct(mavlink_channel_t
 
 #if MAVLINK_MSG_ID_VK_MOSAICH_GPS_RAW_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -280,7 +280,7 @@ static inline void mavlink_msg_vk_parachute_status_send_struct(mavlink_channel_t
 
 #if MAVLINK_MSG_ID_VK_PARACHUTE_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 5 - 5
v2.0/VKFly/mavlink_msg_vk_payload_data_relay.h

@@ -71,7 +71,7 @@ static inline uint16_t mavlink_msg_vk_payload_data_relay_pack(uint8_t system_id,
     packet.payload_addr = payload_addr;
     packet.reserve = reserve;
     packet.data_len = data_len;
-    mav_array_memcpy(packet.data, data, sizeof(uint8_t)*128);
+    mav_array_assign_uint8_t(packet.data, data, 128);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_PAYLOAD_DATA_RELAY_LEN);
 #endif
 
@@ -147,7 +147,7 @@ static inline uint16_t mavlink_msg_vk_payload_data_relay_pack_chan(uint8_t syste
     packet.payload_addr = payload_addr;
     packet.reserve = reserve;
     packet.data_len = data_len;
-    mav_array_memcpy(packet.data, data, sizeof(uint8_t)*128);
+    mav_array_assign_uint8_t(packet.data, data, 128);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_PAYLOAD_DATA_RELAY_LEN);
 #endif
 
@@ -221,7 +221,7 @@ static inline void mavlink_msg_vk_payload_data_relay_send(mavlink_channel_t chan
     packet.payload_addr = payload_addr;
     packet.reserve = reserve;
     packet.data_len = data_len;
-    mav_array_memcpy(packet.data, data, sizeof(uint8_t)*128);
+    mav_array_assign_uint8_t(packet.data, data, 128);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_PAYLOAD_DATA_RELAY, (const char *)&packet, MAVLINK_MSG_ID_VK_PAYLOAD_DATA_RELAY_MIN_LEN, MAVLINK_MSG_ID_VK_PAYLOAD_DATA_RELAY_LEN, MAVLINK_MSG_ID_VK_PAYLOAD_DATA_RELAY_CRC);
 #endif
 }
@@ -242,7 +242,7 @@ static inline void mavlink_msg_vk_payload_data_relay_send_struct(mavlink_channel
 
 #if MAVLINK_MSG_ID_VK_PAYLOAD_DATA_RELAY_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -262,7 +262,7 @@ static inline void mavlink_msg_vk_payload_data_relay_send_buf(mavlink_message_t
     packet->payload_addr = payload_addr;
     packet->reserve = reserve;
     packet->data_len = data_len;
-    mav_array_memcpy(packet->data, data, sizeof(uint8_t)*128);
+    mav_array_assign_uint8_t(packet->data, data, 128);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_PAYLOAD_DATA_RELAY, (const char *)packet, MAVLINK_MSG_ID_VK_PAYLOAD_DATA_RELAY_MIN_LEN, MAVLINK_MSG_ID_VK_PAYLOAD_DATA_RELAY_LEN, MAVLINK_MSG_ID_VK_PAYLOAD_DATA_RELAY_CRC);
 #endif
 }

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

@@ -265,7 +265,7 @@ static inline void mavlink_msg_vk_roi_target_send_struct(mavlink_channel_t chan,
 
 #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
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -385,7 +385,7 @@ static inline void mavlink_msg_vk_rtk_base_pvt_send_struct(mavlink_channel_t cha
 
 #if MAVLINK_MSG_ID_VK_RTK_BASE_PVT_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -220,7 +220,7 @@ static inline void mavlink_msg_vk_update_terminate_send_struct(mavlink_channel_t
 
 #if MAVLINK_MSG_ID_VK_UPDATE_TERMINATE_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -265,7 +265,7 @@ static inline void mavlink_msg_vk_weigher_state_send_struct(mavlink_channel_t ch
 
 #if MAVLINK_MSG_ID_VK_WEIGHER_STATE_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -490,7 +490,7 @@ static inline void mavlink_msg_vkfly_edu_status_send_struct(mavlink_channel_t ch
 
 #if MAVLINK_MSG_ID_VKFLY_EDU_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -220,7 +220,7 @@ static inline void mavlink_msg_vkfly_edu_status_ack_send_struct(mavlink_channel_
 
 #if MAVLINK_MSG_ID_VKFLY_EDU_STATUS_ACK_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 0 - 792
v2.0/VKFly/mavlink_msg_vkfly_edu_status_msg.h

@@ -1,792 +0,0 @@
-#pragma once
-// MESSAGE VKFLY_EDU_STATUS_MSG PACKING
-
-#define MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG 53025
-
-
-typedef struct __mavlink_vkfly_edu_status_msg_t {
- uint64_t unix_timestamp; /*< [ms] Unix timestamp in ms, from 1 Jan 1970.*/
- uint32_t boot_timestamp; /*< [ms] Timestamp in ms from system boot.*/
- uint32_t seq; /*<  Sequence number for this package.*/
- uint32_t dev_sn; /*<  Device SN number.*/
- int32_t longitude; /*< [degE7] wgs84 longitude*/
- int32_t latitude; /*< [degE7] wgs84 latitude*/
- float amsl; /*< [m] altitude amsl*/
- float alt_relative; /*< [m] altitude above takeoff*/
- int16_t ve; /*< [cm/s] */
- int16_t vn; /*< [cm/s] */
- int16_t vu; /*< [cm/s] */
- int16_t yaw; /*< [cdeg] */
- int16_t pitch; /*< [cdeg] */
- int16_t roll; /*< [cdeg] */
- int16_t yaw_rate; /*< [cdeg/s] */
- uint8_t dev_type; /*<  0 for flight controller. 1 for elec-stake*/
- uint8_t retry_cnt; /*<  Retry send this message count.*/
- uint8_t fix_type; /*<  0 no fix, 1 single, 2 RTK*/
- uint8_t reserve; /*<  */
- uint8_t flight_mode; /*<  */
-} mavlink_vkfly_edu_status_msg_t;
-
-#define MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN 55
-#define MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_MIN_LEN 55
-#define MAVLINK_MSG_ID_53025_LEN 55
-#define MAVLINK_MSG_ID_53025_MIN_LEN 55
-
-#define MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_CRC 175
-#define MAVLINK_MSG_ID_53025_CRC 175
-
-
-
-#if MAVLINK_COMMAND_24BIT
-#define MAVLINK_MESSAGE_INFO_VKFLY_EDU_STATUS_MSG { \
-    53025, \
-    "VKFLY_EDU_STATUS_MSG", \
-    20, \
-    {  { "unix_timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_vkfly_edu_status_msg_t, unix_timestamp) }, \
-         { "boot_timestamp", NULL, MAVLINK_TYPE_UINT32_T, 0, 8, offsetof(mavlink_vkfly_edu_status_msg_t, boot_timestamp) }, \
-         { "seq", NULL, MAVLINK_TYPE_UINT32_T, 0, 12, offsetof(mavlink_vkfly_edu_status_msg_t, seq) }, \
-         { "dev_sn", NULL, MAVLINK_TYPE_UINT32_T, 0, 16, offsetof(mavlink_vkfly_edu_status_msg_t, dev_sn) }, \
-         { "dev_type", NULL, MAVLINK_TYPE_UINT8_T, 0, 50, offsetof(mavlink_vkfly_edu_status_msg_t, dev_type) }, \
-         { "retry_cnt", NULL, MAVLINK_TYPE_UINT8_T, 0, 51, offsetof(mavlink_vkfly_edu_status_msg_t, retry_cnt) }, \
-         { "fix_type", NULL, MAVLINK_TYPE_UINT8_T, 0, 52, offsetof(mavlink_vkfly_edu_status_msg_t, fix_type) }, \
-         { "reserve", NULL, MAVLINK_TYPE_UINT8_T, 0, 53, offsetof(mavlink_vkfly_edu_status_msg_t, reserve) }, \
-         { "longitude", NULL, MAVLINK_TYPE_INT32_T, 0, 20, offsetof(mavlink_vkfly_edu_status_msg_t, longitude) }, \
-         { "latitude", NULL, MAVLINK_TYPE_INT32_T, 0, 24, offsetof(mavlink_vkfly_edu_status_msg_t, latitude) }, \
-         { "amsl", NULL, MAVLINK_TYPE_FLOAT, 0, 28, offsetof(mavlink_vkfly_edu_status_msg_t, amsl) }, \
-         { "alt_relative", NULL, MAVLINK_TYPE_FLOAT, 0, 32, offsetof(mavlink_vkfly_edu_status_msg_t, alt_relative) }, \
-         { "ve", NULL, MAVLINK_TYPE_INT16_T, 0, 36, offsetof(mavlink_vkfly_edu_status_msg_t, ve) }, \
-         { "vn", NULL, MAVLINK_TYPE_INT16_T, 0, 38, offsetof(mavlink_vkfly_edu_status_msg_t, vn) }, \
-         { "vu", NULL, MAVLINK_TYPE_INT16_T, 0, 40, offsetof(mavlink_vkfly_edu_status_msg_t, vu) }, \
-         { "yaw", NULL, MAVLINK_TYPE_INT16_T, 0, 42, offsetof(mavlink_vkfly_edu_status_msg_t, yaw) }, \
-         { "pitch", NULL, MAVLINK_TYPE_INT16_T, 0, 44, offsetof(mavlink_vkfly_edu_status_msg_t, pitch) }, \
-         { "roll", NULL, MAVLINK_TYPE_INT16_T, 0, 46, offsetof(mavlink_vkfly_edu_status_msg_t, roll) }, \
-         { "yaw_rate", NULL, MAVLINK_TYPE_INT16_T, 0, 48, offsetof(mavlink_vkfly_edu_status_msg_t, yaw_rate) }, \
-         { "flight_mode", NULL, MAVLINK_TYPE_UINT8_T, 0, 54, offsetof(mavlink_vkfly_edu_status_msg_t, flight_mode) }, \
-         } \
-}
-#else
-#define MAVLINK_MESSAGE_INFO_VKFLY_EDU_STATUS_MSG { \
-    "VKFLY_EDU_STATUS_MSG", \
-    20, \
-    {  { "unix_timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_vkfly_edu_status_msg_t, unix_timestamp) }, \
-         { "boot_timestamp", NULL, MAVLINK_TYPE_UINT32_T, 0, 8, offsetof(mavlink_vkfly_edu_status_msg_t, boot_timestamp) }, \
-         { "seq", NULL, MAVLINK_TYPE_UINT32_T, 0, 12, offsetof(mavlink_vkfly_edu_status_msg_t, seq) }, \
-         { "dev_sn", NULL, MAVLINK_TYPE_UINT32_T, 0, 16, offsetof(mavlink_vkfly_edu_status_msg_t, dev_sn) }, \
-         { "dev_type", NULL, MAVLINK_TYPE_UINT8_T, 0, 50, offsetof(mavlink_vkfly_edu_status_msg_t, dev_type) }, \
-         { "retry_cnt", NULL, MAVLINK_TYPE_UINT8_T, 0, 51, offsetof(mavlink_vkfly_edu_status_msg_t, retry_cnt) }, \
-         { "fix_type", NULL, MAVLINK_TYPE_UINT8_T, 0, 52, offsetof(mavlink_vkfly_edu_status_msg_t, fix_type) }, \
-         { "reserve", NULL, MAVLINK_TYPE_UINT8_T, 0, 53, offsetof(mavlink_vkfly_edu_status_msg_t, reserve) }, \
-         { "longitude", NULL, MAVLINK_TYPE_INT32_T, 0, 20, offsetof(mavlink_vkfly_edu_status_msg_t, longitude) }, \
-         { "latitude", NULL, MAVLINK_TYPE_INT32_T, 0, 24, offsetof(mavlink_vkfly_edu_status_msg_t, latitude) }, \
-         { "amsl", NULL, MAVLINK_TYPE_FLOAT, 0, 28, offsetof(mavlink_vkfly_edu_status_msg_t, amsl) }, \
-         { "alt_relative", NULL, MAVLINK_TYPE_FLOAT, 0, 32, offsetof(mavlink_vkfly_edu_status_msg_t, alt_relative) }, \
-         { "ve", NULL, MAVLINK_TYPE_INT16_T, 0, 36, offsetof(mavlink_vkfly_edu_status_msg_t, ve) }, \
-         { "vn", NULL, MAVLINK_TYPE_INT16_T, 0, 38, offsetof(mavlink_vkfly_edu_status_msg_t, vn) }, \
-         { "vu", NULL, MAVLINK_TYPE_INT16_T, 0, 40, offsetof(mavlink_vkfly_edu_status_msg_t, vu) }, \
-         { "yaw", NULL, MAVLINK_TYPE_INT16_T, 0, 42, offsetof(mavlink_vkfly_edu_status_msg_t, yaw) }, \
-         { "pitch", NULL, MAVLINK_TYPE_INT16_T, 0, 44, offsetof(mavlink_vkfly_edu_status_msg_t, pitch) }, \
-         { "roll", NULL, MAVLINK_TYPE_INT16_T, 0, 46, offsetof(mavlink_vkfly_edu_status_msg_t, roll) }, \
-         { "yaw_rate", NULL, MAVLINK_TYPE_INT16_T, 0, 48, offsetof(mavlink_vkfly_edu_status_msg_t, yaw_rate) }, \
-         { "flight_mode", NULL, MAVLINK_TYPE_UINT8_T, 0, 54, offsetof(mavlink_vkfly_edu_status_msg_t, flight_mode) }, \
-         } \
-}
-#endif
-
-/**
- * @brief Pack a vkfly_edu_status_msg 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 unix_timestamp [ms] Unix timestamp in ms, from 1 Jan 1970.
- * @param boot_timestamp [ms] Timestamp in ms from system boot.
- * @param seq  Sequence number for this package.
- * @param dev_sn  Device SN number.
- * @param dev_type  0 for flight controller. 1 for elec-stake
- * @param retry_cnt  Retry send this message count.
- * @param fix_type  0 no fix, 1 single, 2 RTK
- * @param reserve  
- * @param longitude [degE7] wgs84 longitude
- * @param latitude [degE7] wgs84 latitude
- * @param amsl [m] altitude amsl
- * @param alt_relative [m] altitude above takeoff
- * @param ve [cm/s] 
- * @param vn [cm/s] 
- * @param vu [cm/s] 
- * @param yaw [cdeg] 
- * @param pitch [cdeg] 
- * @param roll [cdeg] 
- * @param yaw_rate [cdeg/s] 
- * @param flight_mode  
- * @return length of the message in bytes (excluding serial stream start sign)
- */
-static inline uint16_t mavlink_msg_vkfly_edu_status_msg_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
-                               uint64_t unix_timestamp, uint32_t boot_timestamp, uint32_t seq, uint32_t dev_sn, uint8_t dev_type, uint8_t retry_cnt, uint8_t fix_type, uint8_t reserve, int32_t longitude, int32_t latitude, float amsl, float alt_relative, int16_t ve, int16_t vn, int16_t vu, int16_t yaw, int16_t pitch, int16_t roll, int16_t yaw_rate, uint8_t flight_mode)
-{
-#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
-    char buf[MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN];
-    _mav_put_uint64_t(buf, 0, unix_timestamp);
-    _mav_put_uint32_t(buf, 8, boot_timestamp);
-    _mav_put_uint32_t(buf, 12, seq);
-    _mav_put_uint32_t(buf, 16, dev_sn);
-    _mav_put_int32_t(buf, 20, longitude);
-    _mav_put_int32_t(buf, 24, latitude);
-    _mav_put_float(buf, 28, amsl);
-    _mav_put_float(buf, 32, alt_relative);
-    _mav_put_int16_t(buf, 36, ve);
-    _mav_put_int16_t(buf, 38, vn);
-    _mav_put_int16_t(buf, 40, vu);
-    _mav_put_int16_t(buf, 42, yaw);
-    _mav_put_int16_t(buf, 44, pitch);
-    _mav_put_int16_t(buf, 46, roll);
-    _mav_put_int16_t(buf, 48, yaw_rate);
-    _mav_put_uint8_t(buf, 50, dev_type);
-    _mav_put_uint8_t(buf, 51, retry_cnt);
-    _mav_put_uint8_t(buf, 52, fix_type);
-    _mav_put_uint8_t(buf, 53, reserve);
-    _mav_put_uint8_t(buf, 54, flight_mode);
-
-        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN);
-#else
-    mavlink_vkfly_edu_status_msg_t packet;
-    packet.unix_timestamp = unix_timestamp;
-    packet.boot_timestamp = boot_timestamp;
-    packet.seq = seq;
-    packet.dev_sn = dev_sn;
-    packet.longitude = longitude;
-    packet.latitude = latitude;
-    packet.amsl = amsl;
-    packet.alt_relative = alt_relative;
-    packet.ve = ve;
-    packet.vn = vn;
-    packet.vu = vu;
-    packet.yaw = yaw;
-    packet.pitch = pitch;
-    packet.roll = roll;
-    packet.yaw_rate = yaw_rate;
-    packet.dev_type = dev_type;
-    packet.retry_cnt = retry_cnt;
-    packet.fix_type = fix_type;
-    packet.reserve = reserve;
-    packet.flight_mode = flight_mode;
-
-        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN);
-#endif
-
-    msg->msgid = MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG;
-    return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_MIN_LEN, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_CRC);
-}
-
-/**
- * @brief Pack a vkfly_edu_status_msg 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 unix_timestamp [ms] Unix timestamp in ms, from 1 Jan 1970.
- * @param boot_timestamp [ms] Timestamp in ms from system boot.
- * @param seq  Sequence number for this package.
- * @param dev_sn  Device SN number.
- * @param dev_type  0 for flight controller. 1 for elec-stake
- * @param retry_cnt  Retry send this message count.
- * @param fix_type  0 no fix, 1 single, 2 RTK
- * @param reserve  
- * @param longitude [degE7] wgs84 longitude
- * @param latitude [degE7] wgs84 latitude
- * @param amsl [m] altitude amsl
- * @param alt_relative [m] altitude above takeoff
- * @param ve [cm/s] 
- * @param vn [cm/s] 
- * @param vu [cm/s] 
- * @param yaw [cdeg] 
- * @param pitch [cdeg] 
- * @param roll [cdeg] 
- * @param yaw_rate [cdeg/s] 
- * @param flight_mode  
- * @return length of the message in bytes (excluding serial stream start sign)
- */
-static inline uint16_t mavlink_msg_vkfly_edu_status_msg_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
-                               uint64_t unix_timestamp, uint32_t boot_timestamp, uint32_t seq, uint32_t dev_sn, uint8_t dev_type, uint8_t retry_cnt, uint8_t fix_type, uint8_t reserve, int32_t longitude, int32_t latitude, float amsl, float alt_relative, int16_t ve, int16_t vn, int16_t vu, int16_t yaw, int16_t pitch, int16_t roll, int16_t yaw_rate, uint8_t flight_mode)
-{
-#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
-    char buf[MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN];
-    _mav_put_uint64_t(buf, 0, unix_timestamp);
-    _mav_put_uint32_t(buf, 8, boot_timestamp);
-    _mav_put_uint32_t(buf, 12, seq);
-    _mav_put_uint32_t(buf, 16, dev_sn);
-    _mav_put_int32_t(buf, 20, longitude);
-    _mav_put_int32_t(buf, 24, latitude);
-    _mav_put_float(buf, 28, amsl);
-    _mav_put_float(buf, 32, alt_relative);
-    _mav_put_int16_t(buf, 36, ve);
-    _mav_put_int16_t(buf, 38, vn);
-    _mav_put_int16_t(buf, 40, vu);
-    _mav_put_int16_t(buf, 42, yaw);
-    _mav_put_int16_t(buf, 44, pitch);
-    _mav_put_int16_t(buf, 46, roll);
-    _mav_put_int16_t(buf, 48, yaw_rate);
-    _mav_put_uint8_t(buf, 50, dev_type);
-    _mav_put_uint8_t(buf, 51, retry_cnt);
-    _mav_put_uint8_t(buf, 52, fix_type);
-    _mav_put_uint8_t(buf, 53, reserve);
-    _mav_put_uint8_t(buf, 54, flight_mode);
-
-        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN);
-#else
-    mavlink_vkfly_edu_status_msg_t packet;
-    packet.unix_timestamp = unix_timestamp;
-    packet.boot_timestamp = boot_timestamp;
-    packet.seq = seq;
-    packet.dev_sn = dev_sn;
-    packet.longitude = longitude;
-    packet.latitude = latitude;
-    packet.amsl = amsl;
-    packet.alt_relative = alt_relative;
-    packet.ve = ve;
-    packet.vn = vn;
-    packet.vu = vu;
-    packet.yaw = yaw;
-    packet.pitch = pitch;
-    packet.roll = roll;
-    packet.yaw_rate = yaw_rate;
-    packet.dev_type = dev_type;
-    packet.retry_cnt = retry_cnt;
-    packet.fix_type = fix_type;
-    packet.reserve = reserve;
-    packet.flight_mode = flight_mode;
-
-        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN);
-#endif
-
-    msg->msgid = MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG;
-#if MAVLINK_CRC_EXTRA
-    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_MIN_LEN, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_CRC);
-#else
-    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_MIN_LEN, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN);
-#endif
-}
-
-/**
- * @brief Pack a vkfly_edu_status_msg 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 unix_timestamp [ms] Unix timestamp in ms, from 1 Jan 1970.
- * @param boot_timestamp [ms] Timestamp in ms from system boot.
- * @param seq  Sequence number for this package.
- * @param dev_sn  Device SN number.
- * @param dev_type  0 for flight controller. 1 for elec-stake
- * @param retry_cnt  Retry send this message count.
- * @param fix_type  0 no fix, 1 single, 2 RTK
- * @param reserve  
- * @param longitude [degE7] wgs84 longitude
- * @param latitude [degE7] wgs84 latitude
- * @param amsl [m] altitude amsl
- * @param alt_relative [m] altitude above takeoff
- * @param ve [cm/s] 
- * @param vn [cm/s] 
- * @param vu [cm/s] 
- * @param yaw [cdeg] 
- * @param pitch [cdeg] 
- * @param roll [cdeg] 
- * @param yaw_rate [cdeg/s] 
- * @param flight_mode  
- * @return length of the message in bytes (excluding serial stream start sign)
- */
-static inline uint16_t mavlink_msg_vkfly_edu_status_msg_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
-                               mavlink_message_t* msg,
-                                   uint64_t unix_timestamp,uint32_t boot_timestamp,uint32_t seq,uint32_t dev_sn,uint8_t dev_type,uint8_t retry_cnt,uint8_t fix_type,uint8_t reserve,int32_t longitude,int32_t latitude,float amsl,float alt_relative,int16_t ve,int16_t vn,int16_t vu,int16_t yaw,int16_t pitch,int16_t roll,int16_t yaw_rate,uint8_t flight_mode)
-{
-#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
-    char buf[MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN];
-    _mav_put_uint64_t(buf, 0, unix_timestamp);
-    _mav_put_uint32_t(buf, 8, boot_timestamp);
-    _mav_put_uint32_t(buf, 12, seq);
-    _mav_put_uint32_t(buf, 16, dev_sn);
-    _mav_put_int32_t(buf, 20, longitude);
-    _mav_put_int32_t(buf, 24, latitude);
-    _mav_put_float(buf, 28, amsl);
-    _mav_put_float(buf, 32, alt_relative);
-    _mav_put_int16_t(buf, 36, ve);
-    _mav_put_int16_t(buf, 38, vn);
-    _mav_put_int16_t(buf, 40, vu);
-    _mav_put_int16_t(buf, 42, yaw);
-    _mav_put_int16_t(buf, 44, pitch);
-    _mav_put_int16_t(buf, 46, roll);
-    _mav_put_int16_t(buf, 48, yaw_rate);
-    _mav_put_uint8_t(buf, 50, dev_type);
-    _mav_put_uint8_t(buf, 51, retry_cnt);
-    _mav_put_uint8_t(buf, 52, fix_type);
-    _mav_put_uint8_t(buf, 53, reserve);
-    _mav_put_uint8_t(buf, 54, flight_mode);
-
-        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN);
-#else
-    mavlink_vkfly_edu_status_msg_t packet;
-    packet.unix_timestamp = unix_timestamp;
-    packet.boot_timestamp = boot_timestamp;
-    packet.seq = seq;
-    packet.dev_sn = dev_sn;
-    packet.longitude = longitude;
-    packet.latitude = latitude;
-    packet.amsl = amsl;
-    packet.alt_relative = alt_relative;
-    packet.ve = ve;
-    packet.vn = vn;
-    packet.vu = vu;
-    packet.yaw = yaw;
-    packet.pitch = pitch;
-    packet.roll = roll;
-    packet.yaw_rate = yaw_rate;
-    packet.dev_type = dev_type;
-    packet.retry_cnt = retry_cnt;
-    packet.fix_type = fix_type;
-    packet.reserve = reserve;
-    packet.flight_mode = flight_mode;
-
-        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN);
-#endif
-
-    msg->msgid = MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG;
-    return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_MIN_LEN, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_CRC);
-}
-
-/**
- * @brief Encode a vkfly_edu_status_msg 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_edu_status_msg C-struct to read the message contents from
- */
-static inline uint16_t mavlink_msg_vkfly_edu_status_msg_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_vkfly_edu_status_msg_t* vkfly_edu_status_msg)
-{
-    return mavlink_msg_vkfly_edu_status_msg_pack(system_id, component_id, msg, vkfly_edu_status_msg->unix_timestamp, vkfly_edu_status_msg->boot_timestamp, vkfly_edu_status_msg->seq, vkfly_edu_status_msg->dev_sn, vkfly_edu_status_msg->dev_type, vkfly_edu_status_msg->retry_cnt, vkfly_edu_status_msg->fix_type, vkfly_edu_status_msg->reserve, vkfly_edu_status_msg->longitude, vkfly_edu_status_msg->latitude, vkfly_edu_status_msg->amsl, vkfly_edu_status_msg->alt_relative, vkfly_edu_status_msg->ve, vkfly_edu_status_msg->vn, vkfly_edu_status_msg->vu, vkfly_edu_status_msg->yaw, vkfly_edu_status_msg->pitch, vkfly_edu_status_msg->roll, vkfly_edu_status_msg->yaw_rate, vkfly_edu_status_msg->flight_mode);
-}
-
-/**
- * @brief Encode a vkfly_edu_status_msg 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_edu_status_msg C-struct to read the message contents from
- */
-static inline uint16_t mavlink_msg_vkfly_edu_status_msg_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_vkfly_edu_status_msg_t* vkfly_edu_status_msg)
-{
-    return mavlink_msg_vkfly_edu_status_msg_pack_chan(system_id, component_id, chan, msg, vkfly_edu_status_msg->unix_timestamp, vkfly_edu_status_msg->boot_timestamp, vkfly_edu_status_msg->seq, vkfly_edu_status_msg->dev_sn, vkfly_edu_status_msg->dev_type, vkfly_edu_status_msg->retry_cnt, vkfly_edu_status_msg->fix_type, vkfly_edu_status_msg->reserve, vkfly_edu_status_msg->longitude, vkfly_edu_status_msg->latitude, vkfly_edu_status_msg->amsl, vkfly_edu_status_msg->alt_relative, vkfly_edu_status_msg->ve, vkfly_edu_status_msg->vn, vkfly_edu_status_msg->vu, vkfly_edu_status_msg->yaw, vkfly_edu_status_msg->pitch, vkfly_edu_status_msg->roll, vkfly_edu_status_msg->yaw_rate, vkfly_edu_status_msg->flight_mode);
-}
-
-/**
- * @brief Encode a vkfly_edu_status_msg 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_edu_status_msg C-struct to read the message contents from
- */
-static inline uint16_t mavlink_msg_vkfly_edu_status_msg_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_vkfly_edu_status_msg_t* vkfly_edu_status_msg)
-{
-    return mavlink_msg_vkfly_edu_status_msg_pack_status(system_id, component_id, _status, msg,  vkfly_edu_status_msg->unix_timestamp, vkfly_edu_status_msg->boot_timestamp, vkfly_edu_status_msg->seq, vkfly_edu_status_msg->dev_sn, vkfly_edu_status_msg->dev_type, vkfly_edu_status_msg->retry_cnt, vkfly_edu_status_msg->fix_type, vkfly_edu_status_msg->reserve, vkfly_edu_status_msg->longitude, vkfly_edu_status_msg->latitude, vkfly_edu_status_msg->amsl, vkfly_edu_status_msg->alt_relative, vkfly_edu_status_msg->ve, vkfly_edu_status_msg->vn, vkfly_edu_status_msg->vu, vkfly_edu_status_msg->yaw, vkfly_edu_status_msg->pitch, vkfly_edu_status_msg->roll, vkfly_edu_status_msg->yaw_rate, vkfly_edu_status_msg->flight_mode);
-}
-
-/**
- * @brief Send a vkfly_edu_status_msg message
- * @param chan MAVLink channel to send the message
- *
- * @param unix_timestamp [ms] Unix timestamp in ms, from 1 Jan 1970.
- * @param boot_timestamp [ms] Timestamp in ms from system boot.
- * @param seq  Sequence number for this package.
- * @param dev_sn  Device SN number.
- * @param dev_type  0 for flight controller. 1 for elec-stake
- * @param retry_cnt  Retry send this message count.
- * @param fix_type  0 no fix, 1 single, 2 RTK
- * @param reserve  
- * @param longitude [degE7] wgs84 longitude
- * @param latitude [degE7] wgs84 latitude
- * @param amsl [m] altitude amsl
- * @param alt_relative [m] altitude above takeoff
- * @param ve [cm/s] 
- * @param vn [cm/s] 
- * @param vu [cm/s] 
- * @param yaw [cdeg] 
- * @param pitch [cdeg] 
- * @param roll [cdeg] 
- * @param yaw_rate [cdeg/s] 
- * @param flight_mode  
- */
-#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
-
-static inline void mavlink_msg_vkfly_edu_status_msg_send(mavlink_channel_t chan, uint64_t unix_timestamp, uint32_t boot_timestamp, uint32_t seq, uint32_t dev_sn, uint8_t dev_type, uint8_t retry_cnt, uint8_t fix_type, uint8_t reserve, int32_t longitude, int32_t latitude, float amsl, float alt_relative, int16_t ve, int16_t vn, int16_t vu, int16_t yaw, int16_t pitch, int16_t roll, int16_t yaw_rate, uint8_t flight_mode)
-{
-#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
-    char buf[MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN];
-    _mav_put_uint64_t(buf, 0, unix_timestamp);
-    _mav_put_uint32_t(buf, 8, boot_timestamp);
-    _mav_put_uint32_t(buf, 12, seq);
-    _mav_put_uint32_t(buf, 16, dev_sn);
-    _mav_put_int32_t(buf, 20, longitude);
-    _mav_put_int32_t(buf, 24, latitude);
-    _mav_put_float(buf, 28, amsl);
-    _mav_put_float(buf, 32, alt_relative);
-    _mav_put_int16_t(buf, 36, ve);
-    _mav_put_int16_t(buf, 38, vn);
-    _mav_put_int16_t(buf, 40, vu);
-    _mav_put_int16_t(buf, 42, yaw);
-    _mav_put_int16_t(buf, 44, pitch);
-    _mav_put_int16_t(buf, 46, roll);
-    _mav_put_int16_t(buf, 48, yaw_rate);
-    _mav_put_uint8_t(buf, 50, dev_type);
-    _mav_put_uint8_t(buf, 51, retry_cnt);
-    _mav_put_uint8_t(buf, 52, fix_type);
-    _mav_put_uint8_t(buf, 53, reserve);
-    _mav_put_uint8_t(buf, 54, flight_mode);
-
-    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG, buf, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_MIN_LEN, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_CRC);
-#else
-    mavlink_vkfly_edu_status_msg_t packet;
-    packet.unix_timestamp = unix_timestamp;
-    packet.boot_timestamp = boot_timestamp;
-    packet.seq = seq;
-    packet.dev_sn = dev_sn;
-    packet.longitude = longitude;
-    packet.latitude = latitude;
-    packet.amsl = amsl;
-    packet.alt_relative = alt_relative;
-    packet.ve = ve;
-    packet.vn = vn;
-    packet.vu = vu;
-    packet.yaw = yaw;
-    packet.pitch = pitch;
-    packet.roll = roll;
-    packet.yaw_rate = yaw_rate;
-    packet.dev_type = dev_type;
-    packet.retry_cnt = retry_cnt;
-    packet.fix_type = fix_type;
-    packet.reserve = reserve;
-    packet.flight_mode = flight_mode;
-
-    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG, (const char *)&packet, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_MIN_LEN, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_CRC);
-#endif
-}
-
-/**
- * @brief Send a vkfly_edu_status_msg message
- * @param chan MAVLink channel to send the message
- * @param struct The MAVLink struct to serialize
- */
-static inline void mavlink_msg_vkfly_edu_status_msg_send_struct(mavlink_channel_t chan, const mavlink_vkfly_edu_status_msg_t* vkfly_edu_status_msg)
-{
-#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
-    mavlink_msg_vkfly_edu_status_msg_send(chan, vkfly_edu_status_msg->unix_timestamp, vkfly_edu_status_msg->boot_timestamp, vkfly_edu_status_msg->seq, vkfly_edu_status_msg->dev_sn, vkfly_edu_status_msg->dev_type, vkfly_edu_status_msg->retry_cnt, vkfly_edu_status_msg->fix_type, vkfly_edu_status_msg->reserve, vkfly_edu_status_msg->longitude, vkfly_edu_status_msg->latitude, vkfly_edu_status_msg->amsl, vkfly_edu_status_msg->alt_relative, vkfly_edu_status_msg->ve, vkfly_edu_status_msg->vn, vkfly_edu_status_msg->vu, vkfly_edu_status_msg->yaw, vkfly_edu_status_msg->pitch, vkfly_edu_status_msg->roll, vkfly_edu_status_msg->yaw_rate, vkfly_edu_status_msg->flight_mode);
-#else
-    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG, (const char *)vkfly_edu_status_msg, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_MIN_LEN, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_CRC);
-#endif
-}
-
-#if MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_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_edu_status_msg_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint64_t unix_timestamp, uint32_t boot_timestamp, uint32_t seq, uint32_t dev_sn, uint8_t dev_type, uint8_t retry_cnt, uint8_t fix_type, uint8_t reserve, int32_t longitude, int32_t latitude, float amsl, float alt_relative, int16_t ve, int16_t vn, int16_t vu, int16_t yaw, int16_t pitch, int16_t roll, int16_t yaw_rate, uint8_t flight_mode)
-{
-#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
-    char *buf = (char *)msgbuf;
-    _mav_put_uint64_t(buf, 0, unix_timestamp);
-    _mav_put_uint32_t(buf, 8, boot_timestamp);
-    _mav_put_uint32_t(buf, 12, seq);
-    _mav_put_uint32_t(buf, 16, dev_sn);
-    _mav_put_int32_t(buf, 20, longitude);
-    _mav_put_int32_t(buf, 24, latitude);
-    _mav_put_float(buf, 28, amsl);
-    _mav_put_float(buf, 32, alt_relative);
-    _mav_put_int16_t(buf, 36, ve);
-    _mav_put_int16_t(buf, 38, vn);
-    _mav_put_int16_t(buf, 40, vu);
-    _mav_put_int16_t(buf, 42, yaw);
-    _mav_put_int16_t(buf, 44, pitch);
-    _mav_put_int16_t(buf, 46, roll);
-    _mav_put_int16_t(buf, 48, yaw_rate);
-    _mav_put_uint8_t(buf, 50, dev_type);
-    _mav_put_uint8_t(buf, 51, retry_cnt);
-    _mav_put_uint8_t(buf, 52, fix_type);
-    _mav_put_uint8_t(buf, 53, reserve);
-    _mav_put_uint8_t(buf, 54, flight_mode);
-
-    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG, buf, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_MIN_LEN, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_CRC);
-#else
-    mavlink_vkfly_edu_status_msg_t *packet = (mavlink_vkfly_edu_status_msg_t *)msgbuf;
-    packet->unix_timestamp = unix_timestamp;
-    packet->boot_timestamp = boot_timestamp;
-    packet->seq = seq;
-    packet->dev_sn = dev_sn;
-    packet->longitude = longitude;
-    packet->latitude = latitude;
-    packet->amsl = amsl;
-    packet->alt_relative = alt_relative;
-    packet->ve = ve;
-    packet->vn = vn;
-    packet->vu = vu;
-    packet->yaw = yaw;
-    packet->pitch = pitch;
-    packet->roll = roll;
-    packet->yaw_rate = yaw_rate;
-    packet->dev_type = dev_type;
-    packet->retry_cnt = retry_cnt;
-    packet->fix_type = fix_type;
-    packet->reserve = reserve;
-    packet->flight_mode = flight_mode;
-
-    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG, (const char *)packet, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_MIN_LEN, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_CRC);
-#endif
-}
-#endif
-
-#endif
-
-// MESSAGE VKFLY_EDU_STATUS_MSG UNPACKING
-
-
-/**
- * @brief Get field unix_timestamp from vkfly_edu_status_msg message
- *
- * @return [ms] Unix timestamp in ms, from 1 Jan 1970.
- */
-static inline uint64_t mavlink_msg_vkfly_edu_status_msg_get_unix_timestamp(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_uint64_t(msg,  0);
-}
-
-/**
- * @brief Get field boot_timestamp from vkfly_edu_status_msg message
- *
- * @return [ms] Timestamp in ms from system boot.
- */
-static inline uint32_t mavlink_msg_vkfly_edu_status_msg_get_boot_timestamp(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_uint32_t(msg,  8);
-}
-
-/**
- * @brief Get field seq from vkfly_edu_status_msg message
- *
- * @return  Sequence number for this package.
- */
-static inline uint32_t mavlink_msg_vkfly_edu_status_msg_get_seq(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_uint32_t(msg,  12);
-}
-
-/**
- * @brief Get field dev_sn from vkfly_edu_status_msg message
- *
- * @return  Device SN number.
- */
-static inline uint32_t mavlink_msg_vkfly_edu_status_msg_get_dev_sn(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_uint32_t(msg,  16);
-}
-
-/**
- * @brief Get field dev_type from vkfly_edu_status_msg message
- *
- * @return  0 for flight controller. 1 for elec-stake
- */
-static inline uint8_t mavlink_msg_vkfly_edu_status_msg_get_dev_type(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_uint8_t(msg,  50);
-}
-
-/**
- * @brief Get field retry_cnt from vkfly_edu_status_msg message
- *
- * @return  Retry send this message count.
- */
-static inline uint8_t mavlink_msg_vkfly_edu_status_msg_get_retry_cnt(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_uint8_t(msg,  51);
-}
-
-/**
- * @brief Get field fix_type from vkfly_edu_status_msg message
- *
- * @return  0 no fix, 1 single, 2 RTK
- */
-static inline uint8_t mavlink_msg_vkfly_edu_status_msg_get_fix_type(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_uint8_t(msg,  52);
-}
-
-/**
- * @brief Get field reserve from vkfly_edu_status_msg message
- *
- * @return  
- */
-static inline uint8_t mavlink_msg_vkfly_edu_status_msg_get_reserve(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_uint8_t(msg,  53);
-}
-
-/**
- * @brief Get field longitude from vkfly_edu_status_msg message
- *
- * @return [degE7] wgs84 longitude
- */
-static inline int32_t mavlink_msg_vkfly_edu_status_msg_get_longitude(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_int32_t(msg,  20);
-}
-
-/**
- * @brief Get field latitude from vkfly_edu_status_msg message
- *
- * @return [degE7] wgs84 latitude
- */
-static inline int32_t mavlink_msg_vkfly_edu_status_msg_get_latitude(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_int32_t(msg,  24);
-}
-
-/**
- * @brief Get field amsl from vkfly_edu_status_msg message
- *
- * @return [m] altitude amsl
- */
-static inline float mavlink_msg_vkfly_edu_status_msg_get_amsl(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_float(msg,  28);
-}
-
-/**
- * @brief Get field alt_relative from vkfly_edu_status_msg message
- *
- * @return [m] altitude above takeoff
- */
-static inline float mavlink_msg_vkfly_edu_status_msg_get_alt_relative(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_float(msg,  32);
-}
-
-/**
- * @brief Get field ve from vkfly_edu_status_msg message
- *
- * @return [cm/s] 
- */
-static inline int16_t mavlink_msg_vkfly_edu_status_msg_get_ve(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_int16_t(msg,  36);
-}
-
-/**
- * @brief Get field vn from vkfly_edu_status_msg message
- *
- * @return [cm/s] 
- */
-static inline int16_t mavlink_msg_vkfly_edu_status_msg_get_vn(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_int16_t(msg,  38);
-}
-
-/**
- * @brief Get field vu from vkfly_edu_status_msg message
- *
- * @return [cm/s] 
- */
-static inline int16_t mavlink_msg_vkfly_edu_status_msg_get_vu(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_int16_t(msg,  40);
-}
-
-/**
- * @brief Get field yaw from vkfly_edu_status_msg message
- *
- * @return [cdeg] 
- */
-static inline int16_t mavlink_msg_vkfly_edu_status_msg_get_yaw(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_int16_t(msg,  42);
-}
-
-/**
- * @brief Get field pitch from vkfly_edu_status_msg message
- *
- * @return [cdeg] 
- */
-static inline int16_t mavlink_msg_vkfly_edu_status_msg_get_pitch(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_int16_t(msg,  44);
-}
-
-/**
- * @brief Get field roll from vkfly_edu_status_msg message
- *
- * @return [cdeg] 
- */
-static inline int16_t mavlink_msg_vkfly_edu_status_msg_get_roll(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_int16_t(msg,  46);
-}
-
-/**
- * @brief Get field yaw_rate from vkfly_edu_status_msg message
- *
- * @return [cdeg/s] 
- */
-static inline int16_t mavlink_msg_vkfly_edu_status_msg_get_yaw_rate(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_int16_t(msg,  48);
-}
-
-/**
- * @brief Get field flight_mode from vkfly_edu_status_msg message
- *
- * @return  
- */
-static inline uint8_t mavlink_msg_vkfly_edu_status_msg_get_flight_mode(const mavlink_message_t* msg)
-{
-    return _MAV_RETURN_uint8_t(msg,  54);
-}
-
-/**
- * @brief Decode a vkfly_edu_status_msg message into a struct
- *
- * @param msg The message to decode
- * @param vkfly_edu_status_msg C-struct to decode the message contents into
- */
-static inline void mavlink_msg_vkfly_edu_status_msg_decode(const mavlink_message_t* msg, mavlink_vkfly_edu_status_msg_t* vkfly_edu_status_msg)
-{
-#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
-    vkfly_edu_status_msg->unix_timestamp = mavlink_msg_vkfly_edu_status_msg_get_unix_timestamp(msg);
-    vkfly_edu_status_msg->boot_timestamp = mavlink_msg_vkfly_edu_status_msg_get_boot_timestamp(msg);
-    vkfly_edu_status_msg->seq = mavlink_msg_vkfly_edu_status_msg_get_seq(msg);
-    vkfly_edu_status_msg->dev_sn = mavlink_msg_vkfly_edu_status_msg_get_dev_sn(msg);
-    vkfly_edu_status_msg->longitude = mavlink_msg_vkfly_edu_status_msg_get_longitude(msg);
-    vkfly_edu_status_msg->latitude = mavlink_msg_vkfly_edu_status_msg_get_latitude(msg);
-    vkfly_edu_status_msg->amsl = mavlink_msg_vkfly_edu_status_msg_get_amsl(msg);
-    vkfly_edu_status_msg->alt_relative = mavlink_msg_vkfly_edu_status_msg_get_alt_relative(msg);
-    vkfly_edu_status_msg->ve = mavlink_msg_vkfly_edu_status_msg_get_ve(msg);
-    vkfly_edu_status_msg->vn = mavlink_msg_vkfly_edu_status_msg_get_vn(msg);
-    vkfly_edu_status_msg->vu = mavlink_msg_vkfly_edu_status_msg_get_vu(msg);
-    vkfly_edu_status_msg->yaw = mavlink_msg_vkfly_edu_status_msg_get_yaw(msg);
-    vkfly_edu_status_msg->pitch = mavlink_msg_vkfly_edu_status_msg_get_pitch(msg);
-    vkfly_edu_status_msg->roll = mavlink_msg_vkfly_edu_status_msg_get_roll(msg);
-    vkfly_edu_status_msg->yaw_rate = mavlink_msg_vkfly_edu_status_msg_get_yaw_rate(msg);
-    vkfly_edu_status_msg->dev_type = mavlink_msg_vkfly_edu_status_msg_get_dev_type(msg);
-    vkfly_edu_status_msg->retry_cnt = mavlink_msg_vkfly_edu_status_msg_get_retry_cnt(msg);
-    vkfly_edu_status_msg->fix_type = mavlink_msg_vkfly_edu_status_msg_get_fix_type(msg);
-    vkfly_edu_status_msg->reserve = mavlink_msg_vkfly_edu_status_msg_get_reserve(msg);
-    vkfly_edu_status_msg->flight_mode = mavlink_msg_vkfly_edu_status_msg_get_flight_mode(msg);
-#else
-        uint8_t len = msg->len < MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN? msg->len : MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN;
-        memset(vkfly_edu_status_msg, 0, MAVLINK_MSG_ID_VKFLY_EDU_STATUS_MSG_LEN);
-    memcpy(vkfly_edu_status_msg, _MAV_PAYLOAD(msg), len);
-#endif
-}

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

@@ -340,7 +340,7 @@ static inline void mavlink_msg_vkfmu_status_send_struct(mavlink_channel_t chan,
 
 #if MAVLINK_MSG_ID_VKFMU_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -470,7 +470,7 @@ static inline void mavlink_msg_vkins_status_send_struct(mavlink_channel_t chan,
 
 #if MAVLINK_MSG_ID_VKINS_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 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 Oct 06 2025"
 #define MAVLINK_WIRE_PROTOCOL_VERSION "2.0"
 #define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
  

+ 1 - 248
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 -4402396047576202426
 
 #ifdef __cplusplus
 extern "C" {
@@ -691,253 +691,6 @@ typedef enum PREFLIGHT_STORAGE_MISSION_ACTION
 } PREFLIGHT_STORAGE_MISSION_ACTION;
 #endif
 
-/** @brief Commands to be executed by the MAV. They can be executed on user request, or as part of a mission script. If the action is used in a mission, the parameter mapping to the waypoint/mission message is as follows: Param 1, Param 2, Param 3, Param 4, X: Param 5, Y:Param 6, Z:Param 7. This command list is similar what ARINC 424 is for commercial aircraft: A data format how to interpret waypoint/mission data. NaN and INT32_MAX may be used in float/integer params (respectively) to indicate optional/default values (e.g. to use the component's current yaw or latitude rather than a specific value). See https://mavlink.io/en/guide/xml_schema.html#MAV_CMD for information about the structure of the MAV_CMD entries */
-#ifndef HAVE_ENUM_MAV_CMD
-#define HAVE_ENUM_MAV_CMD
-typedef enum MAV_CMD
-{
-   MAV_CMD_NAV_WAYPOINT=16, /* Navigate to waypoint. This is intended for use in missions (for guided commands outside of missions use MAV_CMD_DO_REPOSITION). |Hold time. (ignored by fixed wing, time to stay at waypoint for rotary wing)| Acceptance radius (if the sphere with this radius is hit, the waypoint counts as reached)| 0 to pass through the WP, if > 0 radius to pass by WP. Positive value for clockwise orbit, negative value for counter-clockwise orbit. Allows trajectory control.| Desired yaw angle at waypoint (rotary wing). NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).| Latitude| Longitude| Altitude|  */
-   MAV_CMD_NAV_LOITER_UNLIM=17, /* Loiter around this waypoint an unlimited amount of time |Empty| Empty| Loiter radius around waypoint for forward-only moving vehicles (not multicopters). If positive loiter clockwise, else counter-clockwise| Desired yaw angle. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).| Latitude| Longitude| Altitude|  */
-   MAV_CMD_NAV_LOITER_TURNS=18, /* Loiter around this waypoint for X turns |Number of turns.| Leave loiter circle only once heading towards the next waypoint (0 = False)| Loiter radius around waypoint for forward-only moving vehicles (not multicopters). If positive loiter clockwise, else counter-clockwise| Loiter circle exit location and/or path to next waypoint ("xtrack") for forward-only moving vehicles (not multicopters). 0 for the vehicle to converge towards the center xtrack when it leaves the loiter (the line between the centers of the current and next waypoint), 1 to converge to the direct line between the location that the vehicle exits the loiter radius and the next waypoint. Otherwise the angle (in degrees) between the tangent of the loiter circle and the center xtrack at which the vehicle must leave the loiter (and converge to the center xtrack). NaN to use the current system default xtrack behaviour.| Latitude| Longitude| Altitude|  */
-   MAV_CMD_NAV_LOITER_TIME=19, /* Loiter at the specified latitude, longitude and altitude for a certain amount of time. Multicopter vehicles stop at the point (within a vehicle-specific acceptance radius). Forward-only moving vehicles (e.g. fixed-wing) circle the point with the specified radius/direction. If the Heading Required parameter (2) is non-zero forward moving aircraft will only leave the loiter circle once heading towards the next waypoint. |Loiter time (only starts once Lat, Lon and Alt is reached).| Leave loiter circle only once heading towards the next waypoint (0 = False)| Loiter radius around waypoint for forward-only moving vehicles (not multicopters). If positive loiter clockwise, else counter-clockwise.| Loiter circle exit location and/or path to next waypoint ("xtrack") for forward-only moving vehicles (not multicopters). 0 for the vehicle to converge towards the center xtrack when it leaves the loiter (the line between the centers of the current and next waypoint), 1 to converge to the direct line between the location that the vehicle exits the loiter radius and the next waypoint. Otherwise the angle (in degrees) between the tangent of the loiter circle and the center xtrack at which the vehicle must leave the loiter (and converge to the center xtrack). NaN to use the current system default xtrack behaviour.| Latitude| Longitude| Altitude|  */
-   MAV_CMD_NAV_RETURN_TO_LAUNCH=20, /* Return to launch location |Empty| Empty| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_NAV_LAND=21, /* Land at location. |Minimum target altitude if landing is aborted (0 = undefined/use system default).| Precision land mode.| Empty.| Desired yaw angle. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).| Latitude.| Longitude.| Landing altitude (ground level in current frame).|  */
-   MAV_CMD_NAV_TAKEOFF=22, /* Takeoff from ground / hand. Vehicles that support multiple takeoff modes (e.g. VTOL quadplane) should take off using the currently configured mode. |Minimum pitch (if airspeed sensor present), desired pitch without sensor| Empty| Empty| Yaw angle (if magnetometer present), ignored without magnetometer. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).| Latitude| Longitude| Altitude|  */
-   MAV_CMD_NAV_LAND_LOCAL=23, /* Land at local position (local frame only) |Landing target number (if available)| Maximum accepted offset from desired landing position - computed magnitude from spherical coordinates: d = sqrt(x^2 + y^2 + z^2), which gives the maximum accepted distance between the desired landing position and the position where the vehicle is about to land| Landing descend rate| Desired yaw angle| Y-axis position| X-axis position| Z-axis / ground level position|  */
-   MAV_CMD_NAV_TAKEOFF_LOCAL=24, /* Takeoff from local position (local frame only) |Minimum pitch (if airspeed sensor present), desired pitch without sensor| Empty| Takeoff ascend rate| Yaw angle (if magnetometer or another yaw estimation source present), ignored without one of these| Y-axis position| X-axis position| Z-axis position|  */
-   MAV_CMD_NAV_FOLLOW=25, /* Vehicle following, i.e. this waypoint represents the position of a moving vehicle |Following logic to use (e.g. loitering or sinusoidal following) - depends on specific autopilot implementation| Ground speed of vehicle to be followed| Radius around waypoint. If positive loiter clockwise, else counter-clockwise| Desired yaw angle.| Latitude| Longitude| Altitude|  */
-   MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT=30, /* Continue on the current course and climb/descend to specified altitude.  When the altitude is reached continue to the next command (i.e., don't proceed to the next command until the desired altitude is reached. |Climb or Descend (0 = Neutral, command completes when within 5m of this command's altitude, 1 = Climbing, command completes when at or above this command's altitude, 2 = Descending, command completes when at or below this command's altitude.| Empty| Empty| Empty| Empty| Empty| Desired altitude|  */
-   MAV_CMD_NAV_LOITER_TO_ALT=31, /* Begin loiter at the specified Latitude and Longitude.  If Lat=Lon=0, then loiter at the current position.  Don't consider the navigation command complete (don't leave loiter) until the altitude has been reached. Additionally, if the Heading Required parameter is non-zero the aircraft will not leave the loiter until heading toward the next waypoint. |Leave loiter circle only once heading towards the next waypoint (0 = False)| Loiter radius around waypoint for forward-only moving vehicles (not multicopters). If positive loiter clockwise, negative counter-clockwise, 0 means no change to standard loiter.| Empty| Loiter circle exit location and/or path to next waypoint ("xtrack") for forward-only moving vehicles (not multicopters). 0 for the vehicle to converge towards the center xtrack when it leaves the loiter (the line between the centers of the current and next waypoint), 1 to converge to the direct line between the location that the vehicle exits the loiter radius and the next waypoint. Otherwise the angle (in degrees) between the tangent of the loiter circle and the center xtrack at which the vehicle must leave the loiter (and converge to the center xtrack). NaN to use the current system default xtrack behaviour.| Latitude| Longitude| Altitude|  */
-   MAV_CMD_DO_FOLLOW=32, /* Begin following a target |System ID (of the FOLLOW_TARGET beacon). Send 0 to disable follow-me and return to the default position hold mode.| Reserved| Reserved| Altitude mode: 0: Keep current altitude, 1: keep altitude difference to target, 2: go to a fixed altitude above home.| Altitude above home. (used if mode=2)| Reserved| Time to land in which the MAV should go to the default position hold mode after a message RX timeout.|  */
-   MAV_CMD_DO_FOLLOW_REPOSITION=33, /* Reposition the MAV after a follow target command has been sent |Camera q1 (where 0 is on the ray from the camera to the tracking device)| Camera q2| Camera q3| Camera q4| altitude offset from target| X offset from target| Y offset from target|  */
-   MAV_CMD_DO_ORBIT=34, /* Start orbiting on the circumference of a circle defined by the parameters. Setting values to NaN/INT32_MAX (as appropriate) results in using defaults. |Radius of the circle. Positive: orbit clockwise. Negative: orbit counter-clockwise. NaN: Use vehicle default radius, or current radius if already orbiting.| Tangential Velocity. NaN: Use vehicle default velocity, or current velocity if already orbiting.| Yaw behavior of the vehicle.| Orbit around the centre point for this many radians (i.e. for a three-quarter orbit set 270*Pi/180). 0: Orbit forever. NaN: Use vehicle default, or current value if already orbiting.| Center point latitude (if no MAV_FRAME specified) / X coordinate according to MAV_FRAME. INT32_MAX (or NaN if sent in COMMAND_LONG): Use current vehicle position, or current center if already orbiting.| Center point longitude (if no MAV_FRAME specified) / Y coordinate according to MAV_FRAME. INT32_MAX (or NaN if sent in COMMAND_LONG): Use current vehicle position, or current center if already orbiting.| Center point altitude (MSL) (if no MAV_FRAME specified) / Z coordinate according to MAV_FRAME. NaN: Use current vehicle altitude.|  */
-   MAV_CMD_NAV_ROI=80, /* Sets the region of interest (ROI) for a sensor set or the vehicle itself. This can then be used by the vehicle's control system to control the vehicle attitude and the attitude of various sensors such as cameras. |Region of interest mode.| Waypoint index/ target ID. (see MAV_ROI enum)| ROI index (allows a vehicle to manage multiple ROI's)| Empty| x the location of the fixed ROI (see MAV_FRAME)| y| z|  */
-   MAV_CMD_NAV_PATHPLANNING=81, /* Control autonomous path planning on the MAV. |0: Disable local obstacle avoidance / local path planning (without resetting map), 1: Enable local path planning, 2: Enable and reset local path planning| 0: Disable full path planning (without resetting map), 1: Enable, 2: Enable and reset map/occupancy grid, 3: Enable and reset planned route, but not occupancy grid| Empty| Yaw angle at goal| Latitude/X of goal| Longitude/Y of goal| Altitude/Z of goal|  */
-   MAV_CMD_NAV_SPLINE_WAYPOINT=82, /* Navigate to waypoint using a spline path. |Hold time. (ignored by fixed wing, time to stay at waypoint for rotary wing)| Empty| Empty| Empty| Latitude/X of goal| Longitude/Y of goal| Altitude/Z of goal|  */
-   MAV_CMD_NAV_VTOL_TAKEOFF=84, /* Takeoff from ground using VTOL mode, and transition to forward flight with specified heading. The command should be ignored by vehicles that dont support both VTOL and fixed-wing flight (multicopters, boats,etc.). |Empty| Front transition heading.| Empty| Yaw angle. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).| Latitude| Longitude| Altitude|  */
-   MAV_CMD_NAV_VTOL_LAND=85, /* Land using VTOL mode |Landing behaviour.| Empty| Approach altitude (with the same reference as the Altitude field). NaN if unspecified.| Yaw angle. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).| Latitude| Longitude| Altitude (ground level) relative to the current coordinate frame. NaN to use system default landing altitude (ignore value).|  */
-   MAV_CMD_NAV_GUIDED_ENABLE=92, /* hand control over to an external controller |On / Off (> 0.5f on)| Empty| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_NAV_DELAY=93, /* Delay the next navigation command a number of seconds or until a specified time |Delay (-1 to enable time-of-day fields)| hour (24h format, UTC, -1 to ignore)| minute (24h format, UTC, -1 to ignore)| second (24h format, UTC, -1 to ignore)| Empty| Empty| Empty|  */
-   MAV_CMD_NAV_PAYLOAD_PLACE=94, /* Descend and place payload. Vehicle moves to specified location, descends until it detects a hanging payload has reached the ground, and then releases the payload. If ground is not detected before the reaching the maximum descent value (param1), the command will complete without releasing the payload. |Maximum distance to descend.| Empty| Empty| Empty| Latitude| Longitude| Altitude|  */
-   MAV_CMD_NAV_LAST=95, /* NOP - This command is only used to mark the upper limit of the NAV/ACTION commands in the enumeration |Empty| Empty| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_CONDITION_DELAY=112, /* Delay mission state machine. |Delay| Empty| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_CONDITION_CHANGE_ALT=113, /* Ascend/descend to target altitude at specified rate. Delay mission state machine until desired altitude reached. |Descent / Ascend rate.| Empty| Empty| Empty| Empty| Empty| Target Altitude|  */
-   MAV_CMD_CONDITION_DISTANCE=114, /* Delay mission state machine until within desired distance of next NAV point. |Distance.| Empty| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_CONDITION_YAW=115, /* Reach a certain target angle. |target angle [0-360]. Absolute angles: 0 is north. Relative angle: 0 is initial yaw. Direction set by param3.| angular speed| direction: -1: counter clockwise, 0: shortest direction, 1: clockwise| 0: absolute angle, 1: relative offset| Empty| Empty| Empty|  */
-   MAV_CMD_CONDITION_LAST=159, /* NOP - This command is only used to mark the upper limit of the CONDITION commands in the enumeration |Empty| Empty| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_SET_MODE=176, /* Set system mode. |Mode| Custom mode - this is system specific, please refer to the individual autopilot specifications for details.| Custom sub mode - this is system specific, please refer to the individual autopilot specifications for details.| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_JUMP=177, /* Jump to the desired command in the mission list.  Repeat this action only the specified number of times |Sequence number| Repeat count| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_CHANGE_SPEED=178, /* Change speed and/or throttle set points. The value persists until it is overridden or there is a mode change |Speed type of value set in param2 (such as airspeed, ground speed, and so on)| Speed (-1 indicates no change, -2 indicates return to default vehicle speed)| Throttle (-1 indicates no change, -2 indicates return to default vehicle throttle value)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_DO_SET_HOME=179, /* 
-          Sets the home position to either to the current position or a specified position.
-          The home position is the default position that the system will return to and land on.
-          The position is set automatically by the system during the takeoff (and may also be set using this command).
-          Note: the current home position may be emitted in a HOME_POSITION message on request (using MAV_CMD_REQUEST_MESSAGE with param1=242).
-         |Use current (1=use current location, 0=use specified location)| Roll angle (of surface). Range: -180..180 degrees. NAN or 0 means value not set. 0.01 indicates zero roll.| Pitch angle (of surface). Range: -90..90 degrees. NAN or 0 means value not set. 0.01 means zero pitch.| Yaw angle. NaN to use default heading. Range: -180..180 degrees.| Latitude| Longitude| Altitude|  */
-   MAV_CMD_DO_SET_PARAMETER=180, /* Set a system parameter.  Caution!  Use of this command requires knowledge of the numeric enumeration value of the parameter. |Parameter number| Parameter value| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_SET_RELAY=181, /* Set a relay to a condition. |Relay instance number.| Setting. (1=on, 0=off, others possible depending on system hardware)| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_REPEAT_RELAY=182, /* Cycle a relay on and off for a desired number of cycles with a desired period. |Relay instance number.| Cycle count.| Cycle time.| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_SET_SERVO=183, /* Set a servo to a desired PWM value. |Servo instance number.| Pulse Width Modulation.| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_REPEAT_SERVO=184, /* Cycle a between its nominal setting and a desired PWM for a desired number of cycles with a desired period. |Servo instance number.| Pulse Width Modulation.| Cycle count.| Cycle time.| Empty| Empty| Empty|  */
-   MAV_CMD_DO_FLIGHTTERMINATION=185, /* Terminate flight immediately.
-          Flight termination immediately and irreversibly terminates the current flight, returning the vehicle to ground.
-          The vehicle will ignore RC or other input until it has been power-cycled.
-          Termination may trigger safety measures, including: disabling motors and deployment of parachute on multicopters, and setting flight surfaces to initiate a landing pattern on fixed-wing).
-          On multicopters without a parachute it may trigger a crash landing.
-          Support for this command can be tested using the protocol bit: MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION.
-          Support for this command can also be tested by sending the command with param1=0 (< 0.5); the ACK should be either MAV_RESULT_FAILED or MAV_RESULT_UNSUPPORTED.
-         |Flight termination activated if > 0.5. Otherwise not activated and ACK with MAV_RESULT_FAILED.| Empty| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_CHANGE_ALTITUDE=186, /* Change altitude set point. |Altitude.| Frame of new altitude.| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_SET_ACTUATOR=187, /* Sets actuators (e.g. servos) to a desired value. The actuator numbers are mapped to specific outputs (e.g. on any MAIN or AUX PWM or UAVCAN) using a flight-stack specific mechanism (i.e. a parameter). |Actuator 1 value, scaled from [-1 to 1]. NaN to ignore.| Actuator 2 value, scaled from [-1 to 1]. NaN to ignore.| Actuator 3 value, scaled from [-1 to 1]. NaN to ignore.| Actuator 4 value, scaled from [-1 to 1]. NaN to ignore.| Actuator 5 value, scaled from [-1 to 1]. NaN to ignore.| Actuator 6 value, scaled from [-1 to 1]. NaN to ignore.| Index of actuator set (i.e if set to 1, Actuator 1 becomes Actuator 7)|  */
-   MAV_CMD_DO_LAND_START=189, /* Mission command to perform a landing. This is used as a marker in a mission to tell the autopilot where a sequence of mission items that represents a landing starts.
-	  It may also be sent via a COMMAND_LONG to trigger a landing, in which case the nearest (geographically) landing sequence in the mission will be used.
-	  The Latitude/Longitude/Altitude is optional, and may be set to 0 if not needed. If specified then it will be used to help find the closest landing sequence.
-	 |Empty| Empty| Empty| Empty| Latitude| Longitude| Altitude|  */
-   MAV_CMD_DO_RALLY_LAND=190, /* Mission command to perform a landing from a rally point. |Break altitude| Landing speed| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_GO_AROUND=191, /* Mission command to safely abort an autonomous landing. |Altitude| Empty| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_REPOSITION=192, /* Reposition the vehicle to a specific WGS84 global position. This command is intended for guided commands (for missions use MAV_CMD_NAV_WAYPOINT instead). |Ground speed, less than 0 (-1) for default| Bitmask of option flags.| Loiter radius for planes. Positive values only, direction is controlled by Yaw value. A value of zero or NaN is ignored. | Yaw heading. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.). For planes indicates loiter direction (0: clockwise, 1: counter clockwise)| Latitude| Longitude| Altitude|  */
-   MAV_CMD_DO_PAUSE_CONTINUE=193, /* If in a GPS controlled position mode, hold the current position or continue. |0: Pause current mission or reposition command, hold current position. 1: Continue mission. A VTOL capable vehicle should enter hover mode (multicopter and VTOL planes). A plane should loiter with the default loiter radius.| Reserved| Reserved| Reserved| Reserved| Reserved| Reserved|  */
-   MAV_CMD_DO_SET_REVERSE=194, /* Set moving direction to forward or reverse. |Direction (0=Forward, 1=Reverse)| Empty| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_SET_ROI_LOCATION=195, /* Sets the region of interest (ROI) to a location. This can then be used by the vehicle's control system to control the vehicle attitude and the attitude of various sensors such as cameras. This command can be sent to a gimbal manager but not to a gimbal device. A gimbal is not to react to this message. |Component ID of gimbal device to address (or 1-6 for non-MAVLink gimbal), 0 for all gimbal device components. Send command multiple times for more than one gimbal (but not all gimbals).| Empty| Empty| Empty| Latitude of ROI location| Longitude of ROI location| Altitude of ROI location|  */
-   MAV_CMD_DO_SET_ROI_WPNEXT_OFFSET=196, /* Sets the region of interest (ROI) to be toward next waypoint, with optional pitch/roll/yaw offset. This can then be used by the vehicle's control system to control the vehicle attitude and the attitude of various sensors such as cameras. This command can be sent to a gimbal manager but not to a gimbal device. A gimbal device is not to react to this message. |Component ID of gimbal device to address (or 1-6 for non-MAVLink gimbal), 0 for all gimbal device components. Send command multiple times for more than one gimbal (but not all gimbals).| Empty| Empty| Empty| Pitch offset from next waypoint, positive pitching up| Roll offset from next waypoint, positive rolling to the right| Yaw offset from next waypoint, positive yawing to the right|  */
-   MAV_CMD_DO_SET_ROI_NONE=197, /* Cancels any previous ROI command returning the vehicle/sensors to default flight characteristics. This can then be used by the vehicle's control system to control the vehicle attitude and the attitude of various sensors such as cameras. This command can be sent to a gimbal manager but not to a gimbal device. A gimbal device is not to react to this message. After this command the gimbal manager should go back to manual input if available, and otherwise assume a neutral position. |Component ID of gimbal device to address (or 1-6 for non-MAVLink gimbal), 0 for all gimbal device components. Send command multiple times for more than one gimbal (but not all gimbals).| Empty| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_SET_ROI_SYSID=198, /* Mount tracks system with specified system ID. Determination of target vehicle position may be done with GLOBAL_POSITION_INT or any other means. This command can be sent to a gimbal manager but not to a gimbal device. A gimbal device is not to react to this message. |System ID| Component ID of gimbal device to address (or 1-6 for non-MAVLink gimbal), 0 for all gimbal device components. Send command multiple times for more than one gimbal (but not all gimbals).| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_DO_CONTROL_VIDEO=200, /* Control onboard camera system. |Camera ID (-1 for all)| Transmission: 0: disabled, 1: enabled compressed, 2: enabled raw| Transmission mode: 0: video stream, >0: single images every n seconds| Recording: 0: disabled, 1: enabled compressed, 2: enabled raw| Empty| Empty| Empty|  */
-   MAV_CMD_DO_SET_ROI=201, /* Sets the region of interest (ROI) for a sensor set or the vehicle itself. This can then be used by the vehicle's control system to control the vehicle attitude and the attitude of various sensors such as cameras. |Region of interest mode.| Waypoint index/ target ID (depends on param 1).| Region of interest index. (allows a vehicle to manage multiple ROI's)| Empty| MAV_ROI_WPNEXT: pitch offset from next waypoint, MAV_ROI_LOCATION: latitude| MAV_ROI_WPNEXT: roll offset from next waypoint, MAV_ROI_LOCATION: longitude| MAV_ROI_WPNEXT: yaw offset from next waypoint, MAV_ROI_LOCATION: altitude|  */
-   MAV_CMD_DO_DIGICAM_CONFIGURE=202, /* Configure digital camera. This is a fallback message for systems that have not yet implemented PARAM_EXT_XXX messages and camera definition files (see https://mavlink.io/en/services/camera_def.html ). |Modes: P, TV, AV, M, Etc.| Shutter speed: Divisor number for one second.| Aperture: F stop number.| ISO number e.g. 80, 100, 200, Etc.| Exposure type enumerator.| Command Identity.| Main engine cut-off time before camera trigger. (0 means no cut-off)|  */
-   MAV_CMD_DO_DIGICAM_CONTROL=203, /* Control digital camera. This is a fallback message for systems that have not yet implemented PARAM_EXT_XXX messages and camera definition files (see https://mavlink.io/en/services/camera_def.html ). |Session control e.g. show/hide lens| Zoom's absolute position| Zooming step value to offset zoom from the current position| Focus Locking, Unlocking or Re-locking| Shooting Command| Command Identity| Test shot identifier. If set to 1, image will only be captured, but not counted towards internal frame count.|  */
-   MAV_CMD_DO_MOUNT_CONFIGURE=204, /* Mission command to configure a camera or antenna mount |Mount operation mode| stabilize roll? (1 = yes, 0 = no)| stabilize pitch? (1 = yes, 0 = no)| stabilize yaw? (1 = yes, 0 = no)| roll input (0 = angle body frame, 1 = angular rate, 2 = angle absolute frame)| pitch input (0 = angle body frame, 1 = angular rate, 2 = angle absolute frame)| yaw input (0 = angle body frame, 1 = angular rate, 2 = angle absolute frame)|  */
-   MAV_CMD_DO_MOUNT_CONTROL=205, /* Mission command to control a camera or antenna mount |pitch depending on mount mode (degrees or degrees/second depending on pitch input).| roll depending on mount mode (degrees or degrees/second depending on roll input).| yaw depending on mount mode (degrees or degrees/second depending on yaw input).| altitude depending on mount mode.| latitude, set if appropriate mount mode.| longitude, set if appropriate mount mode.| Mount mode.|  */
-   MAV_CMD_DO_SET_CAM_TRIGG_DIST=206, /* Mission command to set camera trigger distance for this flight. The camera is triggered each time this distance is exceeded. This command can also be used to set the shutter integration time for the camera. |Camera trigger distance. 0 to stop triggering.| Camera shutter integration time. -1 or 0 to ignore| Trigger camera once immediately. (0 = no trigger, 1 = trigger)| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_FENCE_ENABLE=207, /* Mission command to enable the geofence |enable? (0=disable, 1=enable, 2=disable_floor_only)| Empty| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_PARACHUTE=208, /* Mission item/command to release a parachute or enable/disable auto release. |Action| Empty| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_MOTOR_TEST=209, /* Command to perform motor test. |Motor instance number (from 1 to max number of motors on the vehicle).| Throttle type (whether the Throttle Value in param3 is a percentage, PWM value, etc.)| Throttle value.| Timeout between tests that are run in sequence.| Motor count. Number of motors to test in sequence: 0/1=one motor, 2= two motors, etc. The Timeout (param4) is used between tests.| Motor test order.| Empty|  */
-   MAV_CMD_DO_INVERTED_FLIGHT=210, /* Change to/from inverted flight. |Inverted flight. (0=normal, 1=inverted)| Empty| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_GRIPPER=211, /* Mission command to operate a gripper. |Gripper instance number.| Gripper action to perform.| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_AUTOTUNE_ENABLE=212, /* Enable/disable autotune. |Enable (1: enable, 0:disable).| Specify which axis are autotuned. 0 indicates autopilot default settings.| Empty.| Empty.| Empty.| Empty.| Empty.|  */
-   MAV_CMD_NAV_SET_YAW_SPEED=213, /* Sets a desired vehicle turn angle and speed change. |Yaw angle to adjust steering by.| Speed.| Final angle. (0=absolute, 1=relative)| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_SET_CAM_TRIGG_INTERVAL=214, /* Mission command to set camera trigger interval for this flight. If triggering is enabled, the camera is triggered each time this interval expires. This command can also be used to set the shutter integration time for the camera. |Camera trigger cycle time. -1 or 0 to ignore.| Camera shutter integration time. Should be less than trigger cycle time. -1 or 0 to ignore.| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_MOUNT_CONTROL_QUAT=220, /* Mission command to control a camera or antenna mount, using a quaternion as reference. |quaternion param q1, w (1 in null-rotation)| quaternion param q2, x (0 in null-rotation)| quaternion param q3, y (0 in null-rotation)| quaternion param q4, z (0 in null-rotation)| Empty| Empty| Empty|  */
-   MAV_CMD_DO_GUIDED_MASTER=221, /* set id of master controller |System ID| Component ID| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_GUIDED_LIMITS=222, /* Set limits for external control |Timeout - maximum time that external controller will be allowed to control vehicle. 0 means no timeout.| Altitude (MSL) min - if vehicle moves below this alt, the command will be aborted and the mission will continue. 0 means no lower altitude limit.| Altitude (MSL) max - if vehicle moves above this alt, the command will be aborted and the mission will continue. 0 means no upper altitude limit.| Horizontal move limit - if vehicle moves more than this distance from its location at the moment the command was executed, the command will be aborted and the mission will continue. 0 means no horizontal move limit.| Empty| Empty| Empty|  */
-   MAV_CMD_DO_ENGINE_CONTROL=223, /* Control vehicle engine. This is interpreted by the vehicles engine controller to change the target engine state. It is intended for vehicles with internal combustion engines |0: Stop engine, 1:Start Engine| 0: Warm start, 1:Cold start. Controls use of choke where applicable| Height delay. This is for commanding engine start only after the vehicle has gained the specified height. Used in VTOL vehicles during takeoff to start engine after the aircraft is off the ground. Zero for no delay.| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_SET_MISSION_CURRENT=224, /* 
-          Set the mission item with sequence number seq as the current item and emit MISSION_CURRENT (whether or not the mission number changed).
-          If a mission is currently being executed, the system will continue to this new mission item on the shortest path, skipping any intermediate mission items.
-	  Note that mission jump repeat counters are not reset unless param2 is set (see MAV_CMD_DO_JUMP param2).
-
-          This command may trigger a mission state-machine change on some systems: for example from MISSION_STATE_NOT_STARTED or MISSION_STATE_PAUSED to MISSION_STATE_ACTIVE.
-          If the system is in mission mode, on those systems this command might therefore start, restart or resume the mission.
-          If the system is not in mission mode this command must not trigger a switch to mission mode.
-
-          The mission may be "reset" using param2.
-          Resetting sets jump counters to initial values (to reset counters without changing the current mission item set the param1 to `-1`).
-          Resetting also explicitly changes a mission state of MISSION_STATE_COMPLETE to MISSION_STATE_PAUSED or MISSION_STATE_ACTIVE, potentially allowing it to resume when it is (next) in a mission mode.
-
-	  The command will ACK with MAV_RESULT_FAILED if the sequence number is out of range (including if there is no mission item).
-         |Mission sequence value to set. -1 for the current mission item (use to reset mission without changing current mission item).| Resets mission. 1: true, 0: false. Resets jump counters to initial values and changes mission state "completed" to be "active" or "paused".| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_DO_LAST=240, /* NOP - This command is only used to mark the upper limit of the DO commands in the enumeration |Empty| Empty| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_PREFLIGHT_CALIBRATION=241, /* Trigger calibration. This command will be only accepted if in pre-flight mode. Except for Temperature Calibration, only one sensor should be set in a single message and all others should be zero. |1: gyro calibration, 3: gyro temperature calibration| 1: magnetometer calibration| 1: ground pressure calibration| 1: radio RC calibration, 2: RC trim calibration| 1: accelerometer calibration, 2: board level calibration, 3: accelerometer temperature calibration, 4: simple accelerometer calibration| 1: APM: compass/motor interference calibration (PX4: airspeed calibration, deprecated), 2: airspeed calibration| 1: ESC calibration, 3: barometer temperature calibration|  */
-   MAV_CMD_PREFLIGHT_SET_SENSOR_OFFSETS=242, /* Set sensor offsets. This command will be only accepted if in pre-flight mode. |Sensor to adjust the offsets for: 0: gyros, 1: accelerometer, 2: magnetometer, 3: barometer, 4: optical flow, 5: second magnetometer, 6: third magnetometer| X axis offset (or generic dimension 1), in the sensor's raw units| Y axis offset (or generic dimension 2), in the sensor's raw units| Z axis offset (or generic dimension 3), in the sensor's raw units| Generic dimension 4, in the sensor's raw units| Generic dimension 5, in the sensor's raw units| Generic dimension 6, in the sensor's raw units|  */
-   MAV_CMD_PREFLIGHT_UAVCAN=243, /* Trigger UAVCAN configuration (actuator ID assignment and direction mapping). Note that this maps to the legacy UAVCAN v0 function UAVCAN_ENUMERATE, which is intended to be executed just once during initial vehicle configuration (it is not a normal pre-flight command and has been poorly named). |1: Trigger actuator ID assignment and direction mapping. 0: Cancel command.| Reserved| Reserved| Reserved| Reserved| Reserved| Reserved|  */
-   MAV_CMD_PREFLIGHT_STORAGE=245, /* Request storage of different parameter values and logs. This command will be only accepted if in pre-flight mode. |Action to perform on the persistent parameter storage| Action to perform on the persistent mission storage| Onboard logging: 0: Ignore, 1: Start default rate logging, -1: Stop logging, > 1: logging rate (e.g. set to 1000 for 1000 Hz logging)| Reserved| Empty| Empty| Empty|  */
-   MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN=246, /* Request the reboot or shutdown of system components. |0: Do nothing for autopilot, 1: Reboot autopilot, 2: Shutdown autopilot, 3: Reboot autopilot and keep it in the bootloader until upgraded.| 0: Do nothing for onboard computer, 1: Reboot onboard computer, 2: Shutdown onboard computer, 3: Reboot onboard computer and keep it in the bootloader until upgraded.| 0: Do nothing for component, 1: Reboot component, 2: Shutdown component, 3: Reboot component and keep it in the bootloader until upgraded| MAVLink Component ID targeted in param3 (0 for all components).| Reserved (set to 0)| Reserved (set to 0)| WIP: ID (e.g. camera ID -1 for all IDs)|  */
-   MAV_CMD_OVERRIDE_GOTO=252, /* Override current mission with command to pause mission, pause mission and move to position, continue/resume mission. When param 1 indicates that the mission is paused (MAV_GOTO_DO_HOLD), param 2 defines whether it holds in place or moves to another position. |MAV_GOTO_DO_HOLD: pause mission and either hold or move to specified position (depending on param2), MAV_GOTO_DO_CONTINUE: resume mission.| MAV_GOTO_HOLD_AT_CURRENT_POSITION: hold at current position, MAV_GOTO_HOLD_AT_SPECIFIED_POSITION: hold at specified position.| Coordinate frame of hold point.| Desired yaw angle.| Latitude/X position.| Longitude/Y position.| Altitude/Z position.|  */
-   MAV_CMD_OBLIQUE_SURVEY=260, /* Mission command to set a Camera Auto Mount Pivoting Oblique Survey (Replaces CAM_TRIGG_DIST for this purpose). The camera is triggered each time this distance is exceeded, then the mount moves to the next position. Params 4~6 set-up the angle limits and number of positions for oblique survey, where mount-enabled vehicles automatically roll the camera between shots to emulate an oblique camera setup (providing an increased HFOV). This command can also be used to set the shutter integration time for the camera. |Camera trigger distance. 0 to stop triggering.| Camera shutter integration time. 0 to ignore| The minimum interval in which the camera is capable of taking subsequent pictures repeatedly. 0 to ignore.| Total number of roll positions at which the camera will capture photos (images captures spread evenly across the limits defined by param5).| Angle limits that the camera can be rolled to left and right of center.| Fixed pitch angle that the camera will hold in oblique mode if the mount is actuated in the pitch axis.| Empty|  */
-   MAV_CMD_MISSION_START=300, /* start running a mission |first_item: the first mission item to run| last_item:  the last mission item to run (after this item is run, the mission ends)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_ACTUATOR_TEST=310, /* Actuator testing command. This is similar to MAV_CMD_DO_MOTOR_TEST but operates on the level of output functions, i.e. it is possible to test Motor1 independent from which output it is configured on. Autopilots typically refuse this command while armed. |Output value: 1 means maximum positive output, 0 to center servos or minimum motor thrust (expected to spin), -1 for maximum negative (if not supported by the motors, i.e. motor is not reversible, smaller than 0 maps to NaN). And NaN maps to disarmed (stop the motors).| Timeout after which the test command expires and the output is restored to the previous value. A timeout has to be set for safety reasons. A timeout of 0 means to restore the previous value immediately.| Reserved (default:0)| Reserved (default:0)| Actuator Output function| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_CONFIGURE_ACTUATOR=311, /* Actuator configuration command. |Actuator configuration action| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Actuator Output function| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_COMPONENT_ARM_DISARM=400, /* Arms / Disarms a component |0: disarm, 1: arm| 0: arm-disarm unless prevented by safety checks (i.e. when landed), 21196: force arming/disarming (e.g. allow arming to override preflight checks and disarming in flight)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_RUN_PREARM_CHECKS=401, /* Instructs a target system to run pre-arm checks.
-          This allows preflight checks to be run on demand, which may be useful on systems that normally run them at low rate, or which do not trigger checks when the armable state might have changed.
-          This command should return MAV_RESULT_ACCEPTED if it will run the checks.
-          The results of the checks are usually then reported in SYS_STATUS messages (this is system-specific).
-          The command should return MAV_RESULT_TEMPORARILY_REJECTED if the system is already armed.
-         |Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_ILLUMINATOR_ON_OFF=405, /* Turns illuminators ON/OFF. An illuminator is a light source that is used for lighting up dark areas external to the system: e.g. a torch or searchlight (as opposed to a light source for illuminating the system itself, e.g. an indicator light). |0: Illuminators OFF, 1: Illuminators ON| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_GET_HOME_POSITION=410, /* Request the home position from the vehicle.
-	  The vehicle will ACK the command and then emit the HOME_POSITION message. |Reserved| Reserved| Reserved| Reserved| Reserved| Reserved| Reserved|  */
-   MAV_CMD_INJECT_FAILURE=420, /* Inject artificial failure for testing purposes. Note that autopilots should implement an additional protection before accepting this command such as a specific param setting. |The unit which is affected by the failure.| The type how the failure manifests itself.| Instance affected by failure (0 to signal all).| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_START_RX_PAIR=500, /* Starts receiver pairing. |0:Spektrum.| RC type.| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_GET_MESSAGE_INTERVAL=510, /* 
-          Request the interval between messages for a particular MAVLink message ID.
-          The receiver should ACK the command and then emit its response in a MESSAGE_INTERVAL message.
-         |The MAVLink message ID| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_SET_MESSAGE_INTERVAL=511, /* Set the interval between messages for a particular MAVLink message ID. This interface replaces REQUEST_DATA_STREAM. |The MAVLink message ID| The interval between two messages. -1: disable. 0: request default rate (which may be zero).| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Target address of message stream (if message has target address fields). 0: Flight-stack default (recommended), 1: address of requestor, 2: broadcast.|  */
-   MAV_CMD_REQUEST_MESSAGE=512, /* Request the target system(s) emit a single instance of a specified message (i.e. a "one-shot" version of MAV_CMD_SET_MESSAGE_INTERVAL). |The MAVLink message ID of the requested message.| Use for index ID, if required. Otherwise, the use of this parameter (if any) must be defined in the requested message. By default assumed not used (0).| The use of this parameter (if any), must be defined in the requested message. By default assumed not used (0).| The use of this parameter (if any), must be defined in the requested message. By default assumed not used (0).| The use of this parameter (if any), must be defined in the requested message. By default assumed not used (0).| The use of this parameter (if any), must be defined in the requested message. By default assumed not used (0).| Target address for requested message (if message has target address fields). 0: Flight-stack default, 1: address of requestor, 2: broadcast.|  */
-   MAV_CMD_REQUEST_PROTOCOL_VERSION=519, /* Request MAVLink protocol version compatibility. All receivers should ACK the command and then emit their capabilities in an PROTOCOL_VERSION message |1: Request supported protocol versions by all nodes on the network| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES=520, /* Request autopilot capabilities. The receiver should ACK the command and then emit its capabilities in an AUTOPILOT_VERSION message |1: Request autopilot version| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_REQUEST_CAMERA_INFORMATION=521, /* Request camera information (CAMERA_INFORMATION). |0: No action 1: Request camera capabilities| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_REQUEST_CAMERA_SETTINGS=522, /* Request camera settings (CAMERA_SETTINGS). |0: No Action 1: Request camera settings| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_REQUEST_STORAGE_INFORMATION=525, /* Request storage information (STORAGE_INFORMATION). Use the command's target_component to target a specific component's storage. |Storage ID (0 for all, 1 for first, 2 for second, etc.)| 0: No Action 1: Request storage information| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_STORAGE_FORMAT=526, /* Format a storage medium. Once format is complete, a STORAGE_INFORMATION message is sent. Use the command's target_component to target a specific component's storage. |Storage ID (1 for first, 2 for second, etc.)| Format storage (and reset image log). 0: No action 1: Format storage| Reset Image Log (without formatting storage medium). This will reset CAMERA_CAPTURE_STATUS.image_count and CAMERA_IMAGE_CAPTURED.image_index. 0: No action 1: Reset Image Log| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_REQUEST_CAMERA_CAPTURE_STATUS=527, /* Request camera capture status (CAMERA_CAPTURE_STATUS) |0: No Action 1: Request camera capture status| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_REQUEST_FLIGHT_INFORMATION=528, /* Request flight information (FLIGHT_INFORMATION) |1: Request flight information| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_RESET_CAMERA_SETTINGS=529, /* Reset all camera settings to Factory Default |0: No Action 1: Reset all settings| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_SET_CAMERA_MODE=530, /* Set camera running mode. Use NaN for reserved values. GCS will send a MAV_CMD_REQUEST_VIDEO_STREAM_STATUS command after a mode change if the camera supports video streaming. |Reserved (Set to 0)| Camera mode| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
-   MAV_CMD_SET_CAMERA_ZOOM=531, /* Set camera zoom. Camera must respond with a CAMERA_SETTINGS message (on success). |Zoom type| Zoom value. The range of valid values depend on the zoom type.| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
-   MAV_CMD_SET_CAMERA_FOCUS=532, /* Set camera focus. Camera must respond with a CAMERA_SETTINGS message (on success). |Focus type| Focus value| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
-   MAV_CMD_SET_STORAGE_USAGE=533, /* Set that a particular storage is the preferred location for saving photos, videos, and/or other media (e.g. to set that an SD card is used for storing videos).
-          There can only be one preferred save location for each particular media type: setting a media usage flag will clear/reset that same flag if set on any other storage.
-          If no flag is set the system should use its default storage.
-          A target system can choose to always use default storage, in which case it should ACK the command with MAV_RESULT_UNSUPPORTED.
-          A target system can choose to not allow a particular storage to be set as preferred storage, in which case it should ACK the command with MAV_RESULT_DENIED. |Storage ID (1 for first, 2 for second, etc.)| Usage flags| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_JUMP_TAG=600, /* Tagged jump target. Can be jumped to with MAV_CMD_DO_JUMP_TAG. |Tag.| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_DO_JUMP_TAG=601, /* Jump to the matching tag in the mission list. Repeat this action for the specified number of times. A mission should contain a single matching tag for each jump. If this is not the case then a jump to a missing tag should complete the mission, and a jump where there are multiple matching tags should always select the one with the lowest mission sequence number. |Target tag to jump to.| Repeat count.| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW=1000, /* Set gimbal manager pitch/yaw setpoints (low rate command). It is possible to set combinations of the values below. E.g. an angle as well as a desired angular rate can be used to get to this angle at a certain angular rate, or an angular rate only will result in continuous turning. NaN is to be used to signal unset. Note: only the gimbal manager will react to this command - it will be ignored by a gimbal device. Use GIMBAL_MANAGER_SET_PITCHYAW if you need to stream pitch/yaw setpoints at higher rate.  |Pitch angle (positive to pitch up, relative to vehicle for FOLLOW mode, relative to world horizon for LOCK mode).| Yaw angle (positive to yaw to the right, relative to vehicle for FOLLOW mode, absolute to North for LOCK mode).| Pitch rate (positive to pitch up).| Yaw rate (positive to yaw to the right).| Gimbal manager flags to use.| Reserved (default:0)| Component ID of gimbal device to address (or 1-6 for non-MAVLink gimbal), 0 for all gimbal device components. Send command multiple times for more than one gimbal (but not all gimbals).|  */
-   MAV_CMD_DO_GIMBAL_MANAGER_CONFIGURE=1001, /* Gimbal configuration to set which sysid/compid is in primary and secondary control. |Sysid for primary control (0: no one in control, -1: leave unchanged, -2: set itself in control (for missions where the own sysid is still unknown), -3: remove control if currently in control).| Compid for primary control (0: no one in control, -1: leave unchanged, -2: set itself in control (for missions where the own sysid is still unknown), -3: remove control if currently in control).| Sysid for secondary control (0: no one in control, -1: leave unchanged, -2: set itself in control (for missions where the own sysid is still unknown), -3: remove control if currently in control).| Compid for secondary control (0: no one in control, -1: leave unchanged, -2: set itself in control (for missions where the own sysid is still unknown), -3: remove control if currently in control).| Reserved (default:0)| Reserved (default:0)| Component ID of gimbal device to address (or 1-6 for non-MAVLink gimbal), 0 for all gimbal device components. Send command multiple times for more than one gimbal (but not all gimbals).|  */
-   MAV_CMD_IMAGE_START_CAPTURE=2000, /* Start image capture sequence. CAMERA_IMAGE_CAPTURED must be emitted after each capture.
-
-          Param1 (id) may be used to specify the target camera: 0: all cameras, 1 to 6: autopilot-connected cameras, 7-255: MAVLink camera component ID.
-          It is needed in order to target specific cameras connected to the autopilot, or specific sensors in a multi-sensor camera (neither of which have a distinct MAVLink component ID).
-          It is also needed to specify the target camera in missions.
-
-          When used in a mission, an autopilot should execute the MAV_CMD for a specified local camera (param1 = 1-6), or resend it as a command if it is intended for a MAVLink camera (param1 = 7 - 255), setting the command's target_component as the param1 value (and setting param1 in the command to zero).
-          If the param1 is 0 the autopilot should do both.
-          
-          When sent in a command the target MAVLink address is set using target_component.
-          If addressed specifically to an autopilot: param1 should be used in the same way as it is for missions (though command should NACK with MAV_RESULT_DENIED if a specified local camera does not exist).
-          If addressed to a MAVLink camera, param 1 can be used to address all cameras (0), or to separately address 1 to 7 individual sensors. Other values should be NACKed with MAV_RESULT_DENIED.
-          If the command is broadcast (target_component is 0) then param 1 should be set to 0 (any other value should be NACKED with MAV_RESULT_DENIED). An autopilot would trigger any local cameras and forward the command to all channels.
-         |Target camera ID. 7 to 255: MAVLink camera component id. 1 to 6 for cameras that don't have a distinct component id (such as autopilot-attached cameras). 0: all cameras. This is used to specifically target autopilot-connected cameras or individual sensors in a multi-sensor MAVLink camera. It is also used to target specific cameras when the MAV_CMD is used in a mission| Desired elapsed time between two consecutive pictures (in seconds). Minimum values depend on hardware (typically greater than 2 seconds).| Total number of images to capture. 0 to capture forever/until MAV_CMD_IMAGE_STOP_CAPTURE.| Capture sequence number starting from 1. This is only valid for single-capture (param3 == 1), otherwise set to 0. Increment the capture ID for each capture command to prevent double captures when a command is re-transmitted.| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
-   MAV_CMD_IMAGE_STOP_CAPTURE=2001, /* Stop image capture sequence.
-        
-          Param1 (id) may be used to specify the target camera: 0: all cameras, 1 to 6: autopilot-connected cameras, 7-255: MAVLink camera component ID.
-          It is needed in order to target specific cameras connected to the autopilot, or specific sensors in a multi-sensor camera (neither of which have a distinct MAVLink component ID).
-          It is also needed to specify the target camera in missions.
-
-          When used in a mission, an autopilot should execute the MAV_CMD for a specified local camera (param1 = 1-6), or resend it as a command if it is intended for a MAVLink camera (param1 = 7 - 255), setting the command's target_component as the param1 value (and setting param1 in the command to zero).
-          If the param1 is 0 the autopilot should do both.
-
-          When sent in a command the target MAVLink address is set using target_component.
-          If addressed specifically to an autopilot: param1 should be used in the same way as it is for missions (though command should NACK with MAV_RESULT_DENIED if a specified local camera does not exist).
-          If addressed to a MAVLink camera, param1 can be used to address all cameras (0), or to separately address 1 to 7 individual sensors. Other values should be NACKed with MAV_RESULT_DENIED.
-          If the command is broadcast (target_component is 0) then param 1 should be set to 0 (any other value should be NACKED with MAV_RESULT_DENIED). An autopilot would trigger any local cameras and forward the command to all channels.
-         |Target camera ID. 7 to 255: MAVLink camera component id. 1 to 6 for cameras that don't have a distinct component id (such as autopilot-attached cameras). 0: all cameras. This is used to specifically target autopilot-connected cameras or individual sensors in a multi-sensor MAVLink camera. It is also used to target specific cameras when the MAV_CMD is used in a mission| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
-   MAV_CMD_REQUEST_CAMERA_IMAGE_CAPTURE=2002, /* Re-request a CAMERA_IMAGE_CAPTURED message. |Sequence number for missing CAMERA_IMAGE_CAPTURED message| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
-   MAV_CMD_DO_TRIGGER_CONTROL=2003, /* Enable or disable on-board camera triggering system. |Trigger enable/disable (0 for disable, 1 for start), -1 to ignore| 1 to reset the trigger sequence, -1 or 0 to ignore| 1 to pause triggering, but without switching the camera off or retracting it. -1 to ignore| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_CAMERA_TRACK_POINT=2004, /* If the camera supports point visual tracking (CAMERA_CAP_FLAGS_HAS_TRACKING_POINT is set), this command allows to initiate the tracking. |Point to track x value (normalized 0..1, 0 is left, 1 is right).| Point to track y value (normalized 0..1, 0 is top, 1 is bottom).| Point radius (normalized 0..1, 0 is image left, 1 is image right).| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_CAMERA_TRACK_RECTANGLE=2005, /* If the camera supports rectangle visual tracking (CAMERA_CAP_FLAGS_HAS_TRACKING_RECTANGLE is set), this command allows to initiate the tracking. |Top left corner of rectangle x value (normalized 0..1, 0 is left, 1 is right).| Top left corner of rectangle y value (normalized 0..1, 0 is top, 1 is bottom).| Bottom right corner of rectangle x value (normalized 0..1, 0 is left, 1 is right).| Bottom right corner of rectangle y value (normalized 0..1, 0 is top, 1 is bottom).| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_CAMERA_STOP_TRACKING=2010, /* Stops ongoing tracking. |Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_VIDEO_START_CAPTURE=2500, /* Starts video capture (recording). |Video Stream ID (0 for all streams)| Frequency CAMERA_CAPTURE_STATUS messages should be sent while recording (0 for no messages, otherwise frequency)| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
-   MAV_CMD_VIDEO_STOP_CAPTURE=2501, /* Stop the current video capture (recording). |Video Stream ID (0 for all streams)| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
-   MAV_CMD_VIDEO_START_STREAMING=2502, /* Start video streaming |Video Stream ID (0 for all streams, 1 for first, 2 for second, etc.)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_VIDEO_STOP_STREAMING=2503, /* Stop the given video stream |Video Stream ID (0 for all streams, 1 for first, 2 for second, etc.)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_REQUEST_VIDEO_STREAM_INFORMATION=2504, /* Request video stream information (VIDEO_STREAM_INFORMATION) |Video Stream ID (0 for all streams, 1 for first, 2 for second, etc.)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_REQUEST_VIDEO_STREAM_STATUS=2505, /* Request video stream status (VIDEO_STREAM_STATUS) |Video Stream ID (0 for all streams, 1 for first, 2 for second, etc.)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_LOGGING_START=2510, /* Request to start streaming logging data over MAVLink (see also LOGGING_DATA message) |Format: 0: ULog| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)|  */
-   MAV_CMD_LOGGING_STOP=2511, /* Request to stop streaming log data over MAVLink |Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)|  */
-   MAV_CMD_AIRFRAME_CONFIGURATION=2520, /*  |Landing gear ID (default: 0, -1 for all)| Landing gear position (Down: 0, Up: 1, NaN for no change)| Reserved (default:NaN)| Reserved (default:NaN)| Reserved (default:0)| Reserved (default:0)| Reserved (default:NaN)|  */
-   MAV_CMD_CONTROL_HIGH_LATENCY=2600, /* Request to start/stop transmitting over the high latency telemetry |Control transmission over high latency telemetry (0: stop, 1: start)| Empty| Empty| Empty| Empty| Empty| Empty|  */
-   MAV_CMD_PANORAMA_CREATE=2800, /* Create a panorama at the current position |Viewing angle horizontal of the panorama (+- 0.5 the total angle)| Viewing angle vertical of panorama.| Speed of the horizontal rotation.| Speed of the vertical rotation.| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_DO_VTOL_TRANSITION=3000, /* Request VTOL transition |The target VTOL state. For normal transitions, only MAV_VTOL_STATE_MC and MAV_VTOL_STATE_FW can be used.| Force immediate transition to the specified MAV_VTOL_STATE. 1: Force immediate, 0: normal transition. Can be used, for example, to trigger an emergency "Quadchute". Caution: Can be dangerous/damage vehicle, depending on autopilot implementation of this command.| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_ARM_AUTHORIZATION_REQUEST=3001, /* Request authorization to arm the vehicle to a external entity, the arm authorizer is responsible to request all data that is needs from the vehicle before authorize or deny the request.
-		If approved the COMMAND_ACK message progress field should be set with period of time that this authorization is valid in seconds.
-		If the authorization is denied COMMAND_ACK.result_param2 should be set with one of the reasons in ARM_AUTH_DENIED_REASON.
-         |Vehicle system id, this way ground station can request arm authorization on behalf of any vehicle| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_SET_GUIDED_SUBMODE_STANDARD=4000, /* This command sets the submode to standard guided when vehicle is in guided mode. The vehicle holds position and altitude and the user can input the desired velocities along all three axes.
-                   |Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|  */
-   MAV_CMD_SET_GUIDED_SUBMODE_CIRCLE=4001, /* This command sets submode circle when vehicle is in guided mode. Vehicle flies along a circle facing the center of the circle. The user can input the velocity along the circle and change the radius. If no input is given the vehicle will hold position.
-                   |Radius of desired circle in CIRCLE_MODE| User defined| User defined| User defined| Target latitude of center of circle in CIRCLE_MODE| Target longitude of center of circle in CIRCLE_MODE| Reserved (default:0)|  */
-   MAV_CMD_CONDITION_GATE=4501, /* Delay mission state machine until gate has been reached. |Geometry: 0: orthogonal to path between previous and next waypoint.| Altitude: 0: ignore altitude| Empty| Empty| Latitude| Longitude| Altitude|  */
-   MAV_CMD_NAV_FENCE_RETURN_POINT=5000, /* Fence return point (there can only be one such point in a geofence definition). If rally points are supported they should be used instead. |Reserved| Reserved| Reserved| Reserved| Latitude| Longitude| Altitude|  */
-   MAV_CMD_NAV_FENCE_POLYGON_VERTEX_INCLUSION=5001, /* Fence vertex for an inclusion polygon (the polygon must not be self-intersecting). The vehicle must stay within this area. Minimum of 3 vertices required.
-         |Polygon vertex count| Vehicle must be inside ALL inclusion zones in a single group, vehicle must be inside at least one group, must be the same for all points in each polygon| Reserved| Reserved| Latitude| Longitude| Reserved|  */
-   MAV_CMD_NAV_FENCE_POLYGON_VERTEX_EXCLUSION=5002, /* Fence vertex for an exclusion polygon (the polygon must not be self-intersecting). The vehicle must stay outside this area. Minimum of 3 vertices required.
-         |Polygon vertex count| Reserved| Reserved| Reserved| Latitude| Longitude| Reserved|  */
-   MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION=5003, /* Circular fence area. The vehicle must stay inside this area.
-         |Radius.| Vehicle must be inside ALL inclusion zones in a single group, vehicle must be inside at least one group| Reserved| Reserved| Latitude| Longitude| Reserved|  */
-   MAV_CMD_NAV_FENCE_CIRCLE_EXCLUSION=5004, /* Circular fence area. The vehicle must stay outside this area.
-         |Radius.| Reserved| Reserved| Reserved| Latitude| Longitude| Reserved|  */
-   MAV_CMD_NAV_RALLY_POINT=5100, /* Rally point. You can have multiple rally points defined.
-         |Reserved| Reserved| Reserved| Reserved| Latitude| Longitude| Altitude|  */
-   MAV_CMD_UAVCAN_GET_NODE_INFO=5200, /* Commands the vehicle to respond with a sequence of messages UAVCAN_NODE_INFO, one message per every UAVCAN node that is online. Note that some of the response messages can be lost, which the receiver can detect easily by checking whether every received UAVCAN_NODE_STATUS has a matching message UAVCAN_NODE_INFO received earlier; if not, this command should be sent again in order to request re-transmission of the node information messages. |Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)|  */
-   MAV_CMD_DO_ADSB_OUT_IDENT=10001, /* Trigger the start of an ADSB-out IDENT. This should only be used when requested to do so by an Air Traffic Controller in controlled airspace. This starts the IDENT which is then typically held for 18 seconds by the hardware per the Mode A, C, and S transponder spec. |Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)| Reserved (set to 0)|  */
-   MAV_CMD_PAYLOAD_PREPARE_DEPLOY=30001, /* Deploy payload on a Lat / Lon / Alt position. This includes the navigation to reach the required release position and velocity. |Operation mode. 0: prepare single payload deploy (overwriting previous requests), but do not execute it. 1: execute payload deploy immediately (rejecting further deploy commands during execution, but allowing abort). 2: add payload deploy to existing deployment list.| Desired approach vector in compass heading. A negative value indicates the system can define the approach vector at will.| Desired ground speed at release time. This can be overridden by the airframe in case it needs to meet minimum airspeed. A negative value indicates the system can define the ground speed at will.| Minimum altitude clearance to the release position. A negative value indicates the system can define the clearance at will.| Latitude.| Longitude.| Altitude (MSL)|  */
-   MAV_CMD_PAYLOAD_CONTROL_DEPLOY=30002, /* Control the payload deployment. |Operation mode. 0: Abort deployment, continue normal mission. 1: switch to payload deployment mode. 100: delete first payload deployment request. 101: delete all payload deployment requests.| Reserved| Reserved| Reserved| Reserved| Reserved| Reserved|  */
-   MAV_CMD_WAYPOINT_USER_1=31000, /* User defined waypoint item. Ground Station will show the Vehicle as flying through this item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
-   MAV_CMD_WAYPOINT_USER_2=31001, /* User defined waypoint item. Ground Station will show the Vehicle as flying through this item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
-   MAV_CMD_WAYPOINT_USER_3=31002, /* User defined waypoint item. Ground Station will show the Vehicle as flying through this item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
-   MAV_CMD_WAYPOINT_USER_4=31003, /* User defined waypoint item. Ground Station will show the Vehicle as flying through this item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
-   MAV_CMD_WAYPOINT_USER_5=31004, /* User defined waypoint item. Ground Station will show the Vehicle as flying through this item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
-   MAV_CMD_SPATIAL_USER_1=31005, /* User defined spatial item. Ground Station will not show the Vehicle as flying through this item. Example: ROI item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
-   MAV_CMD_SPATIAL_USER_2=31006, /* User defined spatial item. Ground Station will not show the Vehicle as flying through this item. Example: ROI item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
-   MAV_CMD_SPATIAL_USER_3=31007, /* User defined spatial item. Ground Station will not show the Vehicle as flying through this item. Example: ROI item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
-   MAV_CMD_SPATIAL_USER_4=31008, /* User defined spatial item. Ground Station will not show the Vehicle as flying through this item. Example: ROI item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
-   MAV_CMD_SPATIAL_USER_5=31009, /* User defined spatial item. Ground Station will not show the Vehicle as flying through this item. Example: ROI item. |User defined| User defined| User defined| User defined| Latitude unscaled| Longitude unscaled| Altitude (MSL)|  */
-   MAV_CMD_USER_1=31010, /* User defined command. Ground Station will not show the Vehicle as flying through this item. Example: MAV_CMD_DO_SET_PARAMETER item. |User defined| User defined| User defined| User defined| User defined| User defined| User defined|  */
-   MAV_CMD_USER_2=31011, /* User defined command. Ground Station will not show the Vehicle as flying through this item. Example: MAV_CMD_DO_SET_PARAMETER item. |User defined| User defined| User defined| User defined| User defined| User defined| User defined|  */
-   MAV_CMD_USER_3=31012, /* User defined command. Ground Station will not show the Vehicle as flying through this item. Example: MAV_CMD_DO_SET_PARAMETER item. |User defined| User defined| User defined| User defined| User defined| User defined| User defined|  */
-   MAV_CMD_USER_4=31013, /* User defined command. Ground Station will not show the Vehicle as flying through this item. Example: MAV_CMD_DO_SET_PARAMETER item. |User defined| User defined| User defined| User defined| User defined| User defined| User defined|  */
-   MAV_CMD_USER_5=31014, /* User defined command. Ground Station will not show the Vehicle as flying through this item. Example: MAV_CMD_DO_SET_PARAMETER item. |User defined| User defined| User defined| User defined| User defined| User defined| User defined|  */
-   MAV_CMD_CAN_FORWARD=32000, /* Request forwarding of CAN packets from the given CAN bus to this component. CAN Frames are sent using CAN_FRAME and CANFD_FRAME messages |Bus number (0 to disable forwarding, 1 for first bus, 2 for 2nd bus, 3 for 3rd bus).| Empty.| Empty.| Empty.| Empty.| Empty.| Empty.|  */
-   MAV_CMD_FIXED_MAG_CAL_YAW=42006, /* Magnetometer calibration based on provided known yaw. This allows for fast calibration using WMM field tables in the vehicle, given only the known yaw of the vehicle. If Latitude and longitude are both zero then use the current vehicle location. |Yaw of vehicle in earth frame.| CompassMask, 0 for all.| Latitude.| Longitude.| Empty.| Empty.| Empty.|  */
-   MAV_CMD_DO_WINCH=42600, /* Command to operate winch. |Winch instance number.| Action to perform.| Length of line to release (negative to wind).| Release rate (negative to wind).| Empty.| Empty.| Empty.|  */
-   MAV_CMD_EXTERNAL_POSITION_ESTIMATE=43003, /* Provide an external position estimate for use when dead-reckoning. This is meant to be used for occasional position resets that may be provided by a external system such as a remote pilot using landmarks over a video link. |Timestamp that this message was sent as a time in the transmitters time domain. The sender should wrap this time back to zero based on required timing accuracy for the application and the limitations of a 32 bit float. For example, wrapping at 10 hours would give approximately 1ms accuracy. Recipient must handle time wrap in any timing jitter correction applied to this field. Wrap rollover time should not be at not more than 250 seconds, which would give approximately 10 microsecond accuracy.| The time spent in processing the sensor data that is the basis for this position. The recipient can use this to improve time alignment of the data. Set to zero if not known.| estimated one standard deviation accuracy of the measurement. Set to NaN if not known.| Empty| Latitude| Longitude| Altitude, not used. Should be sent as NaN. May be supported in a future version of this message.|  */
-   MAV_CMD_ENUM_END=43004, /*  | */
-} MAV_CMD;
-#endif
-
 /** @brief A data stream is not a fixed set of messages, but rather a
      recommendation to the autopilot software. Individual autopilots may or may not obey
      the recommended messages. */

+ 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 -4402396047576202426
 
 #ifndef MAVLINK_STX
 #define MAVLINK_STX 253

+ 5 - 5
v2.0/common/mavlink_msg_actuator_control_target.h

@@ -65,7 +65,7 @@ static inline uint16_t mavlink_msg_actuator_control_target_pack(uint8_t system_i
     mavlink_actuator_control_target_t packet;
     packet.time_usec = time_usec;
     packet.group_mlx = group_mlx;
-    mav_array_memcpy(packet.controls, controls, sizeof(float)*8);
+    mav_array_assign_float(packet.controls, controls, 8);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ACTUATOR_CONTROL_TARGET_LEN);
 #endif
 
@@ -135,7 +135,7 @@ static inline uint16_t mavlink_msg_actuator_control_target_pack_chan(uint8_t sys
     mavlink_actuator_control_target_t packet;
     packet.time_usec = time_usec;
     packet.group_mlx = group_mlx;
-    mav_array_memcpy(packet.controls, controls, sizeof(float)*8);
+    mav_array_assign_float(packet.controls, controls, 8);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ACTUATOR_CONTROL_TARGET_LEN);
 #endif
 
@@ -206,7 +206,7 @@ static inline void mavlink_msg_actuator_control_target_send(mavlink_channel_t ch
     mavlink_actuator_control_target_t packet;
     packet.time_usec = time_usec;
     packet.group_mlx = group_mlx;
-    mav_array_memcpy(packet.controls, controls, sizeof(float)*8);
+    mav_array_assign_float(packet.controls, controls, 8);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ACTUATOR_CONTROL_TARGET, (const char *)&packet, MAVLINK_MSG_ID_ACTUATOR_CONTROL_TARGET_MIN_LEN, MAVLINK_MSG_ID_ACTUATOR_CONTROL_TARGET_LEN, MAVLINK_MSG_ID_ACTUATOR_CONTROL_TARGET_CRC);
 #endif
 }
@@ -227,7 +227,7 @@ static inline void mavlink_msg_actuator_control_target_send_struct(mavlink_chann
 
 #if MAVLINK_MSG_ID_ACTUATOR_CONTROL_TARGET_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -245,7 +245,7 @@ static inline void mavlink_msg_actuator_control_target_send_buf(mavlink_message_
     mavlink_actuator_control_target_t *packet = (mavlink_actuator_control_target_t *)msgbuf;
     packet->time_usec = time_usec;
     packet->group_mlx = group_mlx;
-    mav_array_memcpy(packet->controls, controls, sizeof(float)*8);
+    mav_array_assign_float(packet->controls, controls, 8);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ACTUATOR_CONTROL_TARGET, (const char *)packet, MAVLINK_MSG_ID_ACTUATOR_CONTROL_TARGET_MIN_LEN, MAVLINK_MSG_ID_ACTUATOR_CONTROL_TARGET_LEN, MAVLINK_MSG_ID_ACTUATOR_CONTROL_TARGET_CRC);
 #endif
 }

+ 5 - 5
v2.0/common/mavlink_msg_actuator_output_status.h

@@ -65,7 +65,7 @@ static inline uint16_t mavlink_msg_actuator_output_status_pack(uint8_t system_id
     mavlink_actuator_output_status_t packet;
     packet.time_usec = time_usec;
     packet.active = active;
-    mav_array_memcpy(packet.actuator, actuator, sizeof(float)*32);
+    mav_array_assign_float(packet.actuator, actuator, 32);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ACTUATOR_OUTPUT_STATUS_LEN);
 #endif
 
@@ -135,7 +135,7 @@ static inline uint16_t mavlink_msg_actuator_output_status_pack_chan(uint8_t syst
     mavlink_actuator_output_status_t packet;
     packet.time_usec = time_usec;
     packet.active = active;
-    mav_array_memcpy(packet.actuator, actuator, sizeof(float)*32);
+    mav_array_assign_float(packet.actuator, actuator, 32);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ACTUATOR_OUTPUT_STATUS_LEN);
 #endif
 
@@ -206,7 +206,7 @@ static inline void mavlink_msg_actuator_output_status_send(mavlink_channel_t cha
     mavlink_actuator_output_status_t packet;
     packet.time_usec = time_usec;
     packet.active = active;
-    mav_array_memcpy(packet.actuator, actuator, sizeof(float)*32);
+    mav_array_assign_float(packet.actuator, actuator, 32);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ACTUATOR_OUTPUT_STATUS, (const char *)&packet, MAVLINK_MSG_ID_ACTUATOR_OUTPUT_STATUS_MIN_LEN, MAVLINK_MSG_ID_ACTUATOR_OUTPUT_STATUS_LEN, MAVLINK_MSG_ID_ACTUATOR_OUTPUT_STATUS_CRC);
 #endif
 }
@@ -227,7 +227,7 @@ static inline void mavlink_msg_actuator_output_status_send_struct(mavlink_channe
 
 #if MAVLINK_MSG_ID_ACTUATOR_OUTPUT_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -245,7 +245,7 @@ static inline void mavlink_msg_actuator_output_status_send_buf(mavlink_message_t
     mavlink_actuator_output_status_t *packet = (mavlink_actuator_output_status_t *)msgbuf;
     packet->time_usec = time_usec;
     packet->active = active;
-    mav_array_memcpy(packet->actuator, actuator, sizeof(float)*32);
+    mav_array_assign_float(packet->actuator, actuator, 32);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ACTUATOR_OUTPUT_STATUS, (const char *)packet, MAVLINK_MSG_ID_ACTUATOR_OUTPUT_STATUS_MIN_LEN, MAVLINK_MSG_ID_ACTUATOR_OUTPUT_STATUS_LEN, MAVLINK_MSG_ID_ACTUATOR_OUTPUT_STATUS_CRC);
 #endif
 }

+ 5 - 5
v2.0/common/mavlink_msg_adsb_vehicle.h

@@ -125,7 +125,7 @@ static inline uint16_t mavlink_msg_adsb_vehicle_pack(uint8_t system_id, uint8_t
     packet.altitude_type = altitude_type;
     packet.emitter_type = emitter_type;
     packet.tslc = tslc;
-    mav_array_memcpy(packet.callsign, callsign, sizeof(char)*9);
+    mav_array_assign_char(packet.callsign, callsign, 9);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ADSB_VEHICLE_LEN);
 #endif
 
@@ -255,7 +255,7 @@ static inline uint16_t mavlink_msg_adsb_vehicle_pack_chan(uint8_t system_id, uin
     packet.altitude_type = altitude_type;
     packet.emitter_type = emitter_type;
     packet.tslc = tslc;
-    mav_array_memcpy(packet.callsign, callsign, sizeof(char)*9);
+    mav_array_assign_char(packet.callsign, callsign, 9);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ADSB_VEHICLE_LEN);
 #endif
 
@@ -356,7 +356,7 @@ static inline void mavlink_msg_adsb_vehicle_send(mavlink_channel_t chan, uint32_
     packet.altitude_type = altitude_type;
     packet.emitter_type = emitter_type;
     packet.tslc = tslc;
-    mav_array_memcpy(packet.callsign, callsign, sizeof(char)*9);
+    mav_array_assign_char(packet.callsign, callsign, 9);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ADSB_VEHICLE, (const char *)&packet, MAVLINK_MSG_ID_ADSB_VEHICLE_MIN_LEN, MAVLINK_MSG_ID_ADSB_VEHICLE_LEN, MAVLINK_MSG_ID_ADSB_VEHICLE_CRC);
 #endif
 }
@@ -377,7 +377,7 @@ static inline void mavlink_msg_adsb_vehicle_send_struct(mavlink_channel_t chan,
 
 #if MAVLINK_MSG_ID_ADSB_VEHICLE_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -415,7 +415,7 @@ static inline void mavlink_msg_adsb_vehicle_send_buf(mavlink_message_t *msgbuf,
     packet->altitude_type = altitude_type;
     packet->emitter_type = emitter_type;
     packet->tslc = tslc;
-    mav_array_memcpy(packet->callsign, callsign, sizeof(char)*9);
+    mav_array_assign_char(packet->callsign, callsign, 9);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ADSB_VEHICLE, (const char *)packet, MAVLINK_MSG_ID_ADSB_VEHICLE_MIN_LEN, MAVLINK_MSG_ID_ADSB_VEHICLE_LEN, MAVLINK_MSG_ID_ADSB_VEHICLE_CRC);
 #endif
 }

+ 9 - 9
v2.0/common/mavlink_msg_ais_vessel.h

@@ -149,8 +149,8 @@ static inline uint16_t mavlink_msg_ais_vessel_pack(uint8_t system_id, uint8_t co
     packet.type = type;
     packet.dimension_port = dimension_port;
     packet.dimension_starboard = dimension_starboard;
-    mav_array_memcpy(packet.callsign, callsign, sizeof(char)*7);
-    mav_array_memcpy(packet.name, name, sizeof(char)*20);
+    mav_array_assign_char(packet.callsign, callsign, 7);
+    mav_array_assign_char(packet.name, name, 20);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_AIS_VESSEL_LEN);
 #endif
 
@@ -303,8 +303,8 @@ static inline uint16_t mavlink_msg_ais_vessel_pack_chan(uint8_t system_id, uint8
     packet.type = type;
     packet.dimension_port = dimension_port;
     packet.dimension_starboard = dimension_starboard;
-    mav_array_memcpy(packet.callsign, callsign, sizeof(char)*7);
-    mav_array_memcpy(packet.name, name, sizeof(char)*20);
+    mav_array_assign_char(packet.callsign, callsign, 7);
+    mav_array_assign_char(packet.name, name, 20);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_AIS_VESSEL_LEN);
 #endif
 
@@ -416,8 +416,8 @@ static inline void mavlink_msg_ais_vessel_send(mavlink_channel_t chan, uint32_t
     packet.type = type;
     packet.dimension_port = dimension_port;
     packet.dimension_starboard = dimension_starboard;
-    mav_array_memcpy(packet.callsign, callsign, sizeof(char)*7);
-    mav_array_memcpy(packet.name, name, sizeof(char)*20);
+    mav_array_assign_char(packet.callsign, callsign, 7);
+    mav_array_assign_char(packet.name, name, 20);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_AIS_VESSEL, (const char *)&packet, MAVLINK_MSG_ID_AIS_VESSEL_MIN_LEN, MAVLINK_MSG_ID_AIS_VESSEL_LEN, MAVLINK_MSG_ID_AIS_VESSEL_CRC);
 #endif
 }
@@ -438,7 +438,7 @@ static inline void mavlink_msg_ais_vessel_send_struct(mavlink_channel_t chan, co
 
 #if MAVLINK_MSG_ID_AIS_VESSEL_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -483,8 +483,8 @@ static inline void mavlink_msg_ais_vessel_send_buf(mavlink_message_t *msgbuf, ma
     packet->type = type;
     packet->dimension_port = dimension_port;
     packet->dimension_starboard = dimension_starboard;
-    mav_array_memcpy(packet->callsign, callsign, sizeof(char)*7);
-    mav_array_memcpy(packet->name, name, sizeof(char)*20);
+    mav_array_assign_char(packet->callsign, callsign, 7);
+    mav_array_assign_char(packet->name, name, 20);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_AIS_VESSEL, (const char *)packet, MAVLINK_MSG_ID_AIS_VESSEL_MIN_LEN, MAVLINK_MSG_ID_AIS_VESSEL_LEN, MAVLINK_MSG_ID_AIS_VESSEL_CRC);
 #endif
 }

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

@@ -295,7 +295,7 @@ static inline void mavlink_msg_altitude_send_struct(mavlink_channel_t chan, cons
 
 #if MAVLINK_MSG_ID_ALTITUDE_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 9 - 9
v2.0/common/mavlink_msg_att_pos_mocap.h

@@ -83,8 +83,8 @@ static inline uint16_t mavlink_msg_att_pos_mocap_pack(uint8_t system_id, uint8_t
     packet.x = x;
     packet.y = y;
     packet.z = z;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
-    mav_array_memcpy(packet.covariance, covariance, sizeof(float)*21);
+    mav_array_assign_float(packet.q, q, 4);
+    mav_array_assign_float(packet.covariance, covariance, 21);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ATT_POS_MOCAP_LEN);
 #endif
 
@@ -171,8 +171,8 @@ static inline uint16_t mavlink_msg_att_pos_mocap_pack_chan(uint8_t system_id, ui
     packet.x = x;
     packet.y = y;
     packet.z = z;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
-    mav_array_memcpy(packet.covariance, covariance, sizeof(float)*21);
+    mav_array_assign_float(packet.q, q, 4);
+    mav_array_assign_float(packet.covariance, covariance, 21);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ATT_POS_MOCAP_LEN);
 #endif
 
@@ -251,8 +251,8 @@ static inline void mavlink_msg_att_pos_mocap_send(mavlink_channel_t chan, uint64
     packet.x = x;
     packet.y = y;
     packet.z = z;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
-    mav_array_memcpy(packet.covariance, covariance, sizeof(float)*21);
+    mav_array_assign_float(packet.q, q, 4);
+    mav_array_assign_float(packet.covariance, covariance, 21);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ATT_POS_MOCAP, (const char *)&packet, MAVLINK_MSG_ID_ATT_POS_MOCAP_MIN_LEN, MAVLINK_MSG_ID_ATT_POS_MOCAP_LEN, MAVLINK_MSG_ID_ATT_POS_MOCAP_CRC);
 #endif
 }
@@ -273,7 +273,7 @@ static inline void mavlink_msg_att_pos_mocap_send_struct(mavlink_channel_t chan,
 
 #if MAVLINK_MSG_ID_ATT_POS_MOCAP_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -296,8 +296,8 @@ static inline void mavlink_msg_att_pos_mocap_send_buf(mavlink_message_t *msgbuf,
     packet->x = x;
     packet->y = y;
     packet->z = z;
-    mav_array_memcpy(packet->q, q, sizeof(float)*4);
-    mav_array_memcpy(packet->covariance, covariance, sizeof(float)*21);
+    mav_array_assign_float(packet->q, q, 4);
+    mav_array_assign_float(packet->covariance, covariance, 21);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ATT_POS_MOCAP, (const char *)packet, MAVLINK_MSG_ID_ATT_POS_MOCAP_MIN_LEN, MAVLINK_MSG_ID_ATT_POS_MOCAP_LEN, MAVLINK_MSG_ID_ATT_POS_MOCAP_CRC);
 #endif
 }

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

@@ -295,7 +295,7 @@ static inline void mavlink_msg_attitude_send_struct(mavlink_channel_t chan, cons
 
 #if MAVLINK_MSG_ID_ATTITUDE_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 5 - 5
v2.0/common/mavlink_msg_attitude_quaternion.h

@@ -101,7 +101,7 @@ static inline uint16_t mavlink_msg_attitude_quaternion_pack(uint8_t system_id, u
     packet.rollspeed = rollspeed;
     packet.pitchspeed = pitchspeed;
     packet.yawspeed = yawspeed;
-    mav_array_memcpy(packet.repr_offset_q, repr_offset_q, sizeof(float)*4);
+    mav_array_assign_float(packet.repr_offset_q, repr_offset_q, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_LEN);
 #endif
 
@@ -207,7 +207,7 @@ static inline uint16_t mavlink_msg_attitude_quaternion_pack_chan(uint8_t system_
     packet.rollspeed = rollspeed;
     packet.pitchspeed = pitchspeed;
     packet.yawspeed = yawspeed;
-    mav_array_memcpy(packet.repr_offset_q, repr_offset_q, sizeof(float)*4);
+    mav_array_assign_float(packet.repr_offset_q, repr_offset_q, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_LEN);
 #endif
 
@@ -296,7 +296,7 @@ static inline void mavlink_msg_attitude_quaternion_send(mavlink_channel_t chan,
     packet.rollspeed = rollspeed;
     packet.pitchspeed = pitchspeed;
     packet.yawspeed = yawspeed;
-    mav_array_memcpy(packet.repr_offset_q, repr_offset_q, sizeof(float)*4);
+    mav_array_assign_float(packet.repr_offset_q, repr_offset_q, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ATTITUDE_QUATERNION, (const char *)&packet, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_MIN_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_CRC);
 #endif
 }
@@ -317,7 +317,7 @@ static inline void mavlink_msg_attitude_quaternion_send_struct(mavlink_channel_t
 
 #if MAVLINK_MSG_ID_ATTITUDE_QUATERNION_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -347,7 +347,7 @@ static inline void mavlink_msg_attitude_quaternion_send_buf(mavlink_message_t *m
     packet->rollspeed = rollspeed;
     packet->pitchspeed = pitchspeed;
     packet->yawspeed = yawspeed;
-    mav_array_memcpy(packet->repr_offset_q, repr_offset_q, sizeof(float)*4);
+    mav_array_assign_float(packet->repr_offset_q, repr_offset_q, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ATTITUDE_QUATERNION, (const char *)packet, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_MIN_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_CRC);
 #endif
 }

+ 9 - 9
v2.0/common/mavlink_msg_attitude_quaternion_cov.h

@@ -83,8 +83,8 @@ static inline uint16_t mavlink_msg_attitude_quaternion_cov_pack(uint8_t system_i
     packet.rollspeed = rollspeed;
     packet.pitchspeed = pitchspeed;
     packet.yawspeed = yawspeed;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
-    mav_array_memcpy(packet.covariance, covariance, sizeof(float)*9);
+    mav_array_assign_float(packet.q, q, 4);
+    mav_array_assign_float(packet.covariance, covariance, 9);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN);
 #endif
 
@@ -171,8 +171,8 @@ static inline uint16_t mavlink_msg_attitude_quaternion_cov_pack_chan(uint8_t sys
     packet.rollspeed = rollspeed;
     packet.pitchspeed = pitchspeed;
     packet.yawspeed = yawspeed;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
-    mav_array_memcpy(packet.covariance, covariance, sizeof(float)*9);
+    mav_array_assign_float(packet.q, q, 4);
+    mav_array_assign_float(packet.covariance, covariance, 9);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN);
 #endif
 
@@ -251,8 +251,8 @@ static inline void mavlink_msg_attitude_quaternion_cov_send(mavlink_channel_t ch
     packet.rollspeed = rollspeed;
     packet.pitchspeed = pitchspeed;
     packet.yawspeed = yawspeed;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
-    mav_array_memcpy(packet.covariance, covariance, sizeof(float)*9);
+    mav_array_assign_float(packet.q, q, 4);
+    mav_array_assign_float(packet.covariance, covariance, 9);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV, (const char *)&packet, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_MIN_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_CRC);
 #endif
 }
@@ -273,7 +273,7 @@ static inline void mavlink_msg_attitude_quaternion_cov_send_struct(mavlink_chann
 
 #if MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -296,8 +296,8 @@ static inline void mavlink_msg_attitude_quaternion_cov_send_buf(mavlink_message_
     packet->rollspeed = rollspeed;
     packet->pitchspeed = pitchspeed;
     packet->yawspeed = yawspeed;
-    mav_array_memcpy(packet->q, q, sizeof(float)*4);
-    mav_array_memcpy(packet->covariance, covariance, sizeof(float)*9);
+    mav_array_assign_float(packet->q, q, 4);
+    mav_array_assign_float(packet->covariance, covariance, 9);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV, (const char *)packet, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_MIN_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_CRC);
 #endif
 }

+ 5 - 5
v2.0/common/mavlink_msg_attitude_target.h

@@ -89,7 +89,7 @@ static inline uint16_t mavlink_msg_attitude_target_pack(uint8_t system_id, uint8
     packet.body_yaw_rate = body_yaw_rate;
     packet.thrust = thrust;
     packet.type_mask = type_mask;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ATTITUDE_TARGET_LEN);
 #endif
 
@@ -183,7 +183,7 @@ static inline uint16_t mavlink_msg_attitude_target_pack_chan(uint8_t system_id,
     packet.body_yaw_rate = body_yaw_rate;
     packet.thrust = thrust;
     packet.type_mask = type_mask;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ATTITUDE_TARGET_LEN);
 #endif
 
@@ -266,7 +266,7 @@ static inline void mavlink_msg_attitude_target_send(mavlink_channel_t chan, uint
     packet.body_yaw_rate = body_yaw_rate;
     packet.thrust = thrust;
     packet.type_mask = type_mask;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ATTITUDE_TARGET, (const char *)&packet, MAVLINK_MSG_ID_ATTITUDE_TARGET_MIN_LEN, MAVLINK_MSG_ID_ATTITUDE_TARGET_LEN, MAVLINK_MSG_ID_ATTITUDE_TARGET_CRC);
 #endif
 }
@@ -287,7 +287,7 @@ static inline void mavlink_msg_attitude_target_send_struct(mavlink_channel_t cha
 
 #if MAVLINK_MSG_ID_ATTITUDE_TARGET_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -313,7 +313,7 @@ static inline void mavlink_msg_attitude_target_send_buf(mavlink_message_t *msgbu
     packet->body_yaw_rate = body_yaw_rate;
     packet->thrust = thrust;
     packet->type_mask = type_mask;
-    mav_array_memcpy(packet->q, q, sizeof(float)*4);
+    mav_array_assign_float(packet->q, q, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ATTITUDE_TARGET, (const char *)packet, MAVLINK_MSG_ID_ATTITUDE_TARGET_MIN_LEN, MAVLINK_MSG_ID_ATTITUDE_TARGET_LEN, MAVLINK_MSG_ID_ATTITUDE_TARGET_CRC);
 #endif
 }

+ 5 - 5
v2.0/common/mavlink_msg_auth_key.h

@@ -55,7 +55,7 @@ static inline uint16_t mavlink_msg_auth_key_pack(uint8_t system_id, uint8_t comp
 #else
     mavlink_auth_key_t packet;
 
-    mav_array_memcpy(packet.key, key, sizeof(char)*32);
+    mav_array_assign_char(packet.key, key, 32);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_AUTH_KEY_LEN);
 #endif
 
@@ -117,7 +117,7 @@ static inline uint16_t mavlink_msg_auth_key_pack_chan(uint8_t system_id, uint8_t
 #else
     mavlink_auth_key_t packet;
 
-    mav_array_memcpy(packet.key, key, sizeof(char)*32);
+    mav_array_assign_char(packet.key, key, 32);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_AUTH_KEY_LEN);
 #endif
 
@@ -184,7 +184,7 @@ static inline void mavlink_msg_auth_key_send(mavlink_channel_t chan, const char
 #else
     mavlink_auth_key_t packet;
 
-    mav_array_memcpy(packet.key, key, sizeof(char)*32);
+    mav_array_assign_char(packet.key, key, 32);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_AUTH_KEY, (const char *)&packet, MAVLINK_MSG_ID_AUTH_KEY_MIN_LEN, MAVLINK_MSG_ID_AUTH_KEY_LEN, MAVLINK_MSG_ID_AUTH_KEY_CRC);
 #endif
 }
@@ -205,7 +205,7 @@ static inline void mavlink_msg_auth_key_send_struct(mavlink_channel_t chan, cons
 
 #if MAVLINK_MSG_ID_AUTH_KEY_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -221,7 +221,7 @@ static inline void mavlink_msg_auth_key_send_buf(mavlink_message_t *msgbuf, mavl
 #else
     mavlink_auth_key_t *packet = (mavlink_auth_key_t *)msgbuf;
 
-    mav_array_memcpy(packet->key, key, sizeof(char)*32);
+    mav_array_assign_char(packet->key, key, 32);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_AUTH_KEY, (const char *)packet, MAVLINK_MSG_ID_AUTH_KEY_MIN_LEN, MAVLINK_MSG_ID_AUTH_KEY_LEN, MAVLINK_MSG_ID_AUTH_KEY_CRC);
 #endif
 }

+ 5 - 5
v2.0/common/mavlink_msg_autopilot_state_for_gimbal_device.h

@@ -125,7 +125,7 @@ static inline uint16_t mavlink_msg_autopilot_state_for_gimbal_device_pack(uint8_
     packet.target_component = target_component;
     packet.landed_state = landed_state;
     packet.angular_velocity_z = angular_velocity_z;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_LEN);
 #endif
 
@@ -255,7 +255,7 @@ static inline uint16_t mavlink_msg_autopilot_state_for_gimbal_device_pack_chan(u
     packet.target_component = target_component;
     packet.landed_state = landed_state;
     packet.angular_velocity_z = angular_velocity_z;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_LEN);
 #endif
 
@@ -356,7 +356,7 @@ static inline void mavlink_msg_autopilot_state_for_gimbal_device_send(mavlink_ch
     packet.target_component = target_component;
     packet.landed_state = landed_state;
     packet.angular_velocity_z = angular_velocity_z;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_AUTOPILOT_STATE_FOR_GIMBAL_DEVICE, (const char *)&packet, MAVLINK_MSG_ID_AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_MIN_LEN, MAVLINK_MSG_ID_AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_LEN, MAVLINK_MSG_ID_AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_CRC);
 #endif
 }
@@ -377,7 +377,7 @@ static inline void mavlink_msg_autopilot_state_for_gimbal_device_send_struct(mav
 
 #if MAVLINK_MSG_ID_AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -415,7 +415,7 @@ static inline void mavlink_msg_autopilot_state_for_gimbal_device_send_buf(mavlin
     packet->target_component = target_component;
     packet->landed_state = landed_state;
     packet->angular_velocity_z = angular_velocity_z;
-    mav_array_memcpy(packet->q, q, sizeof(float)*4);
+    mav_array_assign_float(packet->q, q, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_AUTOPILOT_STATE_FOR_GIMBAL_DEVICE, (const char *)packet, MAVLINK_MSG_ID_AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_MIN_LEN, MAVLINK_MSG_ID_AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_LEN, MAVLINK_MSG_ID_AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_CRC);
 #endif
 }

+ 17 - 17
v2.0/common/mavlink_msg_autopilot_version.h

@@ -119,10 +119,10 @@ static inline uint16_t mavlink_msg_autopilot_version_pack(uint8_t system_id, uin
     packet.board_version = board_version;
     packet.vendor_id = vendor_id;
     packet.product_id = product_id;
-    mav_array_memcpy(packet.flight_custom_version, flight_custom_version, sizeof(uint8_t)*8);
-    mav_array_memcpy(packet.middleware_custom_version, middleware_custom_version, sizeof(uint8_t)*8);
-    mav_array_memcpy(packet.os_custom_version, os_custom_version, sizeof(uint8_t)*8);
-    mav_array_memcpy(packet.uid2, uid2, sizeof(uint8_t)*18);
+    mav_array_assign_uint8_t(packet.flight_custom_version, flight_custom_version, 8);
+    mav_array_assign_uint8_t(packet.middleware_custom_version, middleware_custom_version, 8);
+    mav_array_assign_uint8_t(packet.os_custom_version, os_custom_version, 8);
+    mav_array_assign_uint8_t(packet.uid2, uid2, 18);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_AUTOPILOT_VERSION_LEN);
 #endif
 
@@ -243,10 +243,10 @@ static inline uint16_t mavlink_msg_autopilot_version_pack_chan(uint8_t system_id
     packet.board_version = board_version;
     packet.vendor_id = vendor_id;
     packet.product_id = product_id;
-    mav_array_memcpy(packet.flight_custom_version, flight_custom_version, sizeof(uint8_t)*8);
-    mav_array_memcpy(packet.middleware_custom_version, middleware_custom_version, sizeof(uint8_t)*8);
-    mav_array_memcpy(packet.os_custom_version, os_custom_version, sizeof(uint8_t)*8);
-    mav_array_memcpy(packet.uid2, uid2, sizeof(uint8_t)*18);
+    mav_array_assign_uint8_t(packet.flight_custom_version, flight_custom_version, 8);
+    mav_array_assign_uint8_t(packet.middleware_custom_version, middleware_custom_version, 8);
+    mav_array_assign_uint8_t(packet.os_custom_version, os_custom_version, 8);
+    mav_array_assign_uint8_t(packet.uid2, uid2, 18);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_AUTOPILOT_VERSION_LEN);
 #endif
 
@@ -341,10 +341,10 @@ static inline void mavlink_msg_autopilot_version_send(mavlink_channel_t chan, ui
     packet.board_version = board_version;
     packet.vendor_id = vendor_id;
     packet.product_id = product_id;
-    mav_array_memcpy(packet.flight_custom_version, flight_custom_version, sizeof(uint8_t)*8);
-    mav_array_memcpy(packet.middleware_custom_version, middleware_custom_version, sizeof(uint8_t)*8);
-    mav_array_memcpy(packet.os_custom_version, os_custom_version, sizeof(uint8_t)*8);
-    mav_array_memcpy(packet.uid2, uid2, sizeof(uint8_t)*18);
+    mav_array_assign_uint8_t(packet.flight_custom_version, flight_custom_version, 8);
+    mav_array_assign_uint8_t(packet.middleware_custom_version, middleware_custom_version, 8);
+    mav_array_assign_uint8_t(packet.os_custom_version, os_custom_version, 8);
+    mav_array_assign_uint8_t(packet.uid2, uid2, 18);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_AUTOPILOT_VERSION, (const char *)&packet, MAVLINK_MSG_ID_AUTOPILOT_VERSION_MIN_LEN, MAVLINK_MSG_ID_AUTOPILOT_VERSION_LEN, MAVLINK_MSG_ID_AUTOPILOT_VERSION_CRC);
 #endif
 }
@@ -365,7 +365,7 @@ static inline void mavlink_msg_autopilot_version_send_struct(mavlink_channel_t c
 
 #if MAVLINK_MSG_ID_AUTOPILOT_VERSION_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -398,10 +398,10 @@ static inline void mavlink_msg_autopilot_version_send_buf(mavlink_message_t *msg
     packet->board_version = board_version;
     packet->vendor_id = vendor_id;
     packet->product_id = product_id;
-    mav_array_memcpy(packet->flight_custom_version, flight_custom_version, sizeof(uint8_t)*8);
-    mav_array_memcpy(packet->middleware_custom_version, middleware_custom_version, sizeof(uint8_t)*8);
-    mav_array_memcpy(packet->os_custom_version, os_custom_version, sizeof(uint8_t)*8);
-    mav_array_memcpy(packet->uid2, uid2, sizeof(uint8_t)*18);
+    mav_array_assign_uint8_t(packet->flight_custom_version, flight_custom_version, 8);
+    mav_array_assign_uint8_t(packet->middleware_custom_version, middleware_custom_version, 8);
+    mav_array_assign_uint8_t(packet->os_custom_version, os_custom_version, 8);
+    mav_array_assign_uint8_t(packet->uid2, uid2, 18);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_AUTOPILOT_VERSION, (const char *)packet, MAVLINK_MSG_ID_AUTOPILOT_VERSION_MIN_LEN, MAVLINK_MSG_ID_AUTOPILOT_VERSION_LEN, MAVLINK_MSG_ID_AUTOPILOT_VERSION_CRC);
 #endif
 }

+ 13 - 13
v2.0/common/mavlink_msg_battery_info.h

@@ -167,9 +167,9 @@ static inline uint16_t mavlink_msg_battery_info_pack(uint8_t system_id, uint8_t
     packet.type = type;
     packet.state_of_health = state_of_health;
     packet.cells_in_series = cells_in_series;
-    mav_array_memcpy(packet.manufacture_date, manufacture_date, sizeof(char)*9);
-    mav_array_memcpy(packet.serial_number, serial_number, sizeof(char)*32);
-    mav_array_memcpy(packet.name, name, sizeof(char)*50);
+    mav_array_assign_char(packet.manufacture_date, manufacture_date, 9);
+    mav_array_assign_char(packet.serial_number, serial_number, 32);
+    mav_array_assign_char(packet.name, name, 50);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_BATTERY_INFO_LEN);
 #endif
 
@@ -339,9 +339,9 @@ static inline uint16_t mavlink_msg_battery_info_pack_chan(uint8_t system_id, uin
     packet.type = type;
     packet.state_of_health = state_of_health;
     packet.cells_in_series = cells_in_series;
-    mav_array_memcpy(packet.manufacture_date, manufacture_date, sizeof(char)*9);
-    mav_array_memcpy(packet.serial_number, serial_number, sizeof(char)*32);
-    mav_array_memcpy(packet.name, name, sizeof(char)*50);
+    mav_array_assign_char(packet.manufacture_date, manufacture_date, 9);
+    mav_array_assign_char(packet.serial_number, serial_number, 32);
+    mav_array_assign_char(packet.name, name, 50);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_BATTERY_INFO_LEN);
 #endif
 
@@ -461,9 +461,9 @@ static inline void mavlink_msg_battery_info_send(mavlink_channel_t chan, uint8_t
     packet.type = type;
     packet.state_of_health = state_of_health;
     packet.cells_in_series = cells_in_series;
-    mav_array_memcpy(packet.manufacture_date, manufacture_date, sizeof(char)*9);
-    mav_array_memcpy(packet.serial_number, serial_number, sizeof(char)*32);
-    mav_array_memcpy(packet.name, name, sizeof(char)*50);
+    mav_array_assign_char(packet.manufacture_date, manufacture_date, 9);
+    mav_array_assign_char(packet.serial_number, serial_number, 32);
+    mav_array_assign_char(packet.name, name, 50);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_BATTERY_INFO, (const char *)&packet, MAVLINK_MSG_ID_BATTERY_INFO_MIN_LEN, MAVLINK_MSG_ID_BATTERY_INFO_LEN, MAVLINK_MSG_ID_BATTERY_INFO_CRC);
 #endif
 }
@@ -484,7 +484,7 @@ static inline void mavlink_msg_battery_info_send_struct(mavlink_channel_t chan,
 
 #if MAVLINK_MSG_ID_BATTERY_INFO_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -534,9 +534,9 @@ static inline void mavlink_msg_battery_info_send_buf(mavlink_message_t *msgbuf,
     packet->type = type;
     packet->state_of_health = state_of_health;
     packet->cells_in_series = cells_in_series;
-    mav_array_memcpy(packet->manufacture_date, manufacture_date, sizeof(char)*9);
-    mav_array_memcpy(packet->serial_number, serial_number, sizeof(char)*32);
-    mav_array_memcpy(packet->name, name, sizeof(char)*50);
+    mav_array_assign_char(packet->manufacture_date, manufacture_date, 9);
+    mav_array_assign_char(packet->serial_number, serial_number, 32);
+    mav_array_assign_char(packet->name, name, 50);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_BATTERY_INFO, (const char *)packet, MAVLINK_MSG_ID_BATTERY_INFO_MIN_LEN, MAVLINK_MSG_ID_BATTERY_INFO_LEN, MAVLINK_MSG_ID_BATTERY_INFO_CRC);
 #endif
 }

+ 9 - 9
v2.0/common/mavlink_msg_battery_status.h

@@ -131,8 +131,8 @@ static inline uint16_t mavlink_msg_battery_status_pack(uint8_t system_id, uint8_
     packet.charge_state = charge_state;
     packet.mode = mode;
     packet.fault_bitmask = fault_bitmask;
-    mav_array_memcpy(packet.voltages, voltages, sizeof(uint16_t)*10);
-    mav_array_memcpy(packet.voltages_ext, voltages_ext, sizeof(uint16_t)*4);
+    mav_array_assign_uint16_t(packet.voltages, voltages, 10);
+    mav_array_assign_uint16_t(packet.voltages_ext, voltages_ext, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_BATTERY_STATUS_LEN);
 #endif
 
@@ -267,8 +267,8 @@ static inline uint16_t mavlink_msg_battery_status_pack_chan(uint8_t system_id, u
     packet.charge_state = charge_state;
     packet.mode = mode;
     packet.fault_bitmask = fault_bitmask;
-    mav_array_memcpy(packet.voltages, voltages, sizeof(uint16_t)*10);
-    mav_array_memcpy(packet.voltages_ext, voltages_ext, sizeof(uint16_t)*4);
+    mav_array_assign_uint16_t(packet.voltages, voltages, 10);
+    mav_array_assign_uint16_t(packet.voltages_ext, voltages_ext, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_BATTERY_STATUS_LEN);
 #endif
 
@@ -371,8 +371,8 @@ static inline void mavlink_msg_battery_status_send(mavlink_channel_t chan, uint8
     packet.charge_state = charge_state;
     packet.mode = mode;
     packet.fault_bitmask = fault_bitmask;
-    mav_array_memcpy(packet.voltages, voltages, sizeof(uint16_t)*10);
-    mav_array_memcpy(packet.voltages_ext, voltages_ext, sizeof(uint16_t)*4);
+    mav_array_assign_uint16_t(packet.voltages, voltages, 10);
+    mav_array_assign_uint16_t(packet.voltages_ext, voltages_ext, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_BATTERY_STATUS, (const char *)&packet, MAVLINK_MSG_ID_BATTERY_STATUS_MIN_LEN, MAVLINK_MSG_ID_BATTERY_STATUS_LEN, MAVLINK_MSG_ID_BATTERY_STATUS_CRC);
 #endif
 }
@@ -393,7 +393,7 @@ static inline void mavlink_msg_battery_status_send_struct(mavlink_channel_t chan
 
 #if MAVLINK_MSG_ID_BATTERY_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -432,8 +432,8 @@ static inline void mavlink_msg_battery_status_send_buf(mavlink_message_t *msgbuf
     packet->charge_state = charge_state;
     packet->mode = mode;
     packet->fault_bitmask = fault_bitmask;
-    mav_array_memcpy(packet->voltages, voltages, sizeof(uint16_t)*10);
-    mav_array_memcpy(packet->voltages_ext, voltages_ext, sizeof(uint16_t)*4);
+    mav_array_assign_uint16_t(packet->voltages, voltages, 10);
+    mav_array_assign_uint16_t(packet->voltages_ext, voltages_ext, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_BATTERY_STATUS, (const char *)packet, MAVLINK_MSG_ID_BATTERY_STATUS_MIN_LEN, MAVLINK_MSG_ID_BATTERY_STATUS_LEN, MAVLINK_MSG_ID_BATTERY_STATUS_CRC);
 #endif
 }

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

@@ -235,7 +235,7 @@ static inline void mavlink_msg_button_change_send_struct(mavlink_channel_t chan,
 
 #if MAVLINK_MSG_ID_BUTTON_CHANGE_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -295,7 +295,7 @@ static inline void mavlink_msg_camera_capture_status_send_struct(mavlink_channel
 
 #if MAVLINK_MSG_ID_CAMERA_CAPTURE_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 5 - 5
v2.0/common/mavlink_msg_camera_fov_status.h

@@ -107,7 +107,7 @@ static inline uint16_t mavlink_msg_camera_fov_status_pack(uint8_t system_id, uin
     packet.alt_image = alt_image;
     packet.hfov = hfov;
     packet.vfov = vfov;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CAMERA_FOV_STATUS_LEN);
 #endif
 
@@ -219,7 +219,7 @@ static inline uint16_t mavlink_msg_camera_fov_status_pack_chan(uint8_t system_id
     packet.alt_image = alt_image;
     packet.hfov = hfov;
     packet.vfov = vfov;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CAMERA_FOV_STATUS_LEN);
 #endif
 
@@ -311,7 +311,7 @@ static inline void mavlink_msg_camera_fov_status_send(mavlink_channel_t chan, ui
     packet.alt_image = alt_image;
     packet.hfov = hfov;
     packet.vfov = vfov;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CAMERA_FOV_STATUS, (const char *)&packet, MAVLINK_MSG_ID_CAMERA_FOV_STATUS_MIN_LEN, MAVLINK_MSG_ID_CAMERA_FOV_STATUS_LEN, MAVLINK_MSG_ID_CAMERA_FOV_STATUS_CRC);
 #endif
 }
@@ -332,7 +332,7 @@ static inline void mavlink_msg_camera_fov_status_send_struct(mavlink_channel_t c
 
 #if MAVLINK_MSG_ID_CAMERA_FOV_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -364,7 +364,7 @@ static inline void mavlink_msg_camera_fov_status_send_buf(mavlink_message_t *msg
     packet->alt_image = alt_image;
     packet->hfov = hfov;
     packet->vfov = vfov;
-    mav_array_memcpy(packet->q, q, sizeof(float)*4);
+    mav_array_assign_float(packet->q, q, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CAMERA_FOV_STATUS, (const char *)packet, MAVLINK_MSG_ID_CAMERA_FOV_STATUS_MIN_LEN, MAVLINK_MSG_ID_CAMERA_FOV_STATUS_LEN, MAVLINK_MSG_ID_CAMERA_FOV_STATUS_CRC);
 #endif
 }

+ 9 - 9
v2.0/common/mavlink_msg_camera_image_captured.h

@@ -113,8 +113,8 @@ static inline uint16_t mavlink_msg_camera_image_captured_pack(uint8_t system_id,
     packet.image_index = image_index;
     packet.camera_id = camera_id;
     packet.capture_result = capture_result;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
-    mav_array_memcpy(packet.file_url, file_url, sizeof(char)*205);
+    mav_array_assign_float(packet.q, q, 4);
+    mav_array_assign_char(packet.file_url, file_url, 205);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CAMERA_IMAGE_CAPTURED_LEN);
 #endif
 
@@ -231,8 +231,8 @@ static inline uint16_t mavlink_msg_camera_image_captured_pack_chan(uint8_t syste
     packet.image_index = image_index;
     packet.camera_id = camera_id;
     packet.capture_result = capture_result;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
-    mav_array_memcpy(packet.file_url, file_url, sizeof(char)*205);
+    mav_array_assign_float(packet.q, q, 4);
+    mav_array_assign_char(packet.file_url, file_url, 205);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CAMERA_IMAGE_CAPTURED_LEN);
 #endif
 
@@ -326,8 +326,8 @@ static inline void mavlink_msg_camera_image_captured_send(mavlink_channel_t chan
     packet.image_index = image_index;
     packet.camera_id = camera_id;
     packet.capture_result = capture_result;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
-    mav_array_memcpy(packet.file_url, file_url, sizeof(char)*205);
+    mav_array_assign_float(packet.q, q, 4);
+    mav_array_assign_char(packet.file_url, file_url, 205);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CAMERA_IMAGE_CAPTURED, (const char *)&packet, MAVLINK_MSG_ID_CAMERA_IMAGE_CAPTURED_MIN_LEN, MAVLINK_MSG_ID_CAMERA_IMAGE_CAPTURED_LEN, MAVLINK_MSG_ID_CAMERA_IMAGE_CAPTURED_CRC);
 #endif
 }
@@ -348,7 +348,7 @@ static inline void mavlink_msg_camera_image_captured_send_struct(mavlink_channel
 
 #if MAVLINK_MSG_ID_CAMERA_IMAGE_CAPTURED_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -381,8 +381,8 @@ static inline void mavlink_msg_camera_image_captured_send_buf(mavlink_message_t
     packet->image_index = image_index;
     packet->camera_id = camera_id;
     packet->capture_result = capture_result;
-    mav_array_memcpy(packet->q, q, sizeof(float)*4);
-    mav_array_memcpy(packet->file_url, file_url, sizeof(char)*205);
+    mav_array_assign_float(packet->q, q, 4);
+    mav_array_assign_char(packet->file_url, file_url, 205);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CAMERA_IMAGE_CAPTURED, (const char *)packet, MAVLINK_MSG_ID_CAMERA_IMAGE_CAPTURED_MIN_LEN, MAVLINK_MSG_ID_CAMERA_IMAGE_CAPTURED_LEN, MAVLINK_MSG_ID_CAMERA_IMAGE_CAPTURED_CRC);
 #endif
 }

+ 13 - 13
v2.0/common/mavlink_msg_camera_information.h

@@ -131,9 +131,9 @@ static inline uint16_t mavlink_msg_camera_information_pack(uint8_t system_id, ui
     packet.cam_definition_version = cam_definition_version;
     packet.lens_id = lens_id;
     packet.gimbal_device_id = gimbal_device_id;
-    mav_array_memcpy(packet.vendor_name, vendor_name, sizeof(uint8_t)*32);
-    mav_array_memcpy(packet.model_name, model_name, sizeof(uint8_t)*32);
-    mav_array_memcpy(packet.cam_definition_uri, cam_definition_uri, sizeof(char)*140);
+    mav_array_assign_uint8_t(packet.vendor_name, vendor_name, 32);
+    mav_array_assign_uint8_t(packet.model_name, model_name, 32);
+    mav_array_assign_char(packet.cam_definition_uri, cam_definition_uri, 140);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CAMERA_INFORMATION_LEN);
 #endif
 
@@ -267,9 +267,9 @@ static inline uint16_t mavlink_msg_camera_information_pack_chan(uint8_t system_i
     packet.cam_definition_version = cam_definition_version;
     packet.lens_id = lens_id;
     packet.gimbal_device_id = gimbal_device_id;
-    mav_array_memcpy(packet.vendor_name, vendor_name, sizeof(uint8_t)*32);
-    mav_array_memcpy(packet.model_name, model_name, sizeof(uint8_t)*32);
-    mav_array_memcpy(packet.cam_definition_uri, cam_definition_uri, sizeof(char)*140);
+    mav_array_assign_uint8_t(packet.vendor_name, vendor_name, 32);
+    mav_array_assign_uint8_t(packet.model_name, model_name, 32);
+    mav_array_assign_char(packet.cam_definition_uri, cam_definition_uri, 140);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CAMERA_INFORMATION_LEN);
 #endif
 
@@ -371,9 +371,9 @@ static inline void mavlink_msg_camera_information_send(mavlink_channel_t chan, u
     packet.cam_definition_version = cam_definition_version;
     packet.lens_id = lens_id;
     packet.gimbal_device_id = gimbal_device_id;
-    mav_array_memcpy(packet.vendor_name, vendor_name, sizeof(uint8_t)*32);
-    mav_array_memcpy(packet.model_name, model_name, sizeof(uint8_t)*32);
-    mav_array_memcpy(packet.cam_definition_uri, cam_definition_uri, sizeof(char)*140);
+    mav_array_assign_uint8_t(packet.vendor_name, vendor_name, 32);
+    mav_array_assign_uint8_t(packet.model_name, model_name, 32);
+    mav_array_assign_char(packet.cam_definition_uri, cam_definition_uri, 140);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CAMERA_INFORMATION, (const char *)&packet, MAVLINK_MSG_ID_CAMERA_INFORMATION_MIN_LEN, MAVLINK_MSG_ID_CAMERA_INFORMATION_LEN, MAVLINK_MSG_ID_CAMERA_INFORMATION_CRC);
 #endif
 }
@@ -394,7 +394,7 @@ static inline void mavlink_msg_camera_information_send_struct(mavlink_channel_t
 
 #if MAVLINK_MSG_ID_CAMERA_INFORMATION_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -432,9 +432,9 @@ static inline void mavlink_msg_camera_information_send_buf(mavlink_message_t *ms
     packet->cam_definition_version = cam_definition_version;
     packet->lens_id = lens_id;
     packet->gimbal_device_id = gimbal_device_id;
-    mav_array_memcpy(packet->vendor_name, vendor_name, sizeof(uint8_t)*32);
-    mav_array_memcpy(packet->model_name, model_name, sizeof(uint8_t)*32);
-    mav_array_memcpy(packet->cam_definition_uri, cam_definition_uri, sizeof(char)*140);
+    mav_array_assign_uint8_t(packet->vendor_name, vendor_name, 32);
+    mav_array_assign_uint8_t(packet->model_name, model_name, 32);
+    mav_array_assign_char(packet->cam_definition_uri, cam_definition_uri, 140);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CAMERA_INFORMATION, (const char *)packet, MAVLINK_MSG_ID_CAMERA_INFORMATION_MIN_LEN, MAVLINK_MSG_ID_CAMERA_INFORMATION_LEN, MAVLINK_MSG_ID_CAMERA_INFORMATION_CRC);
 #endif
 }

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

@@ -250,7 +250,7 @@ static inline void mavlink_msg_camera_settings_send_struct(mavlink_channel_t cha
 
 #if MAVLINK_MSG_ID_CAMERA_SETTINGS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -385,7 +385,7 @@ static inline void mavlink_msg_camera_tracking_geo_status_send_struct(mavlink_ch
 
 #if MAVLINK_MSG_ID_CAMERA_TRACKING_GEO_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -340,7 +340,7 @@ static inline void mavlink_msg_camera_tracking_image_status_send_struct(mavlink_
 
 #if MAVLINK_MSG_ID_CAMERA_TRACKING_IMAGE_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -220,7 +220,7 @@ static inline void mavlink_msg_camera_trigger_send_struct(mavlink_channel_t chan
 
 #if MAVLINK_MSG_ID_CAMERA_TRIGGER_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 5 - 5
v2.0/common/mavlink_msg_can_filter_modify.h

@@ -83,7 +83,7 @@ static inline uint16_t mavlink_msg_can_filter_modify_pack(uint8_t system_id, uin
     packet.bus = bus;
     packet.operation = operation;
     packet.num_ids = num_ids;
-    mav_array_memcpy(packet.ids, ids, sizeof(uint16_t)*16);
+    mav_array_assign_uint16_t(packet.ids, ids, 16);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CAN_FILTER_MODIFY_LEN);
 #endif
 
@@ -171,7 +171,7 @@ static inline uint16_t mavlink_msg_can_filter_modify_pack_chan(uint8_t system_id
     packet.bus = bus;
     packet.operation = operation;
     packet.num_ids = num_ids;
-    mav_array_memcpy(packet.ids, ids, sizeof(uint16_t)*16);
+    mav_array_assign_uint16_t(packet.ids, ids, 16);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CAN_FILTER_MODIFY_LEN);
 #endif
 
@@ -251,7 +251,7 @@ static inline void mavlink_msg_can_filter_modify_send(mavlink_channel_t chan, ui
     packet.bus = bus;
     packet.operation = operation;
     packet.num_ids = num_ids;
-    mav_array_memcpy(packet.ids, ids, sizeof(uint16_t)*16);
+    mav_array_assign_uint16_t(packet.ids, ids, 16);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CAN_FILTER_MODIFY, (const char *)&packet, MAVLINK_MSG_ID_CAN_FILTER_MODIFY_MIN_LEN, MAVLINK_MSG_ID_CAN_FILTER_MODIFY_LEN, MAVLINK_MSG_ID_CAN_FILTER_MODIFY_CRC);
 #endif
 }
@@ -272,7 +272,7 @@ static inline void mavlink_msg_can_filter_modify_send_struct(mavlink_channel_t c
 
 #if MAVLINK_MSG_ID_CAN_FILTER_MODIFY_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -296,7 +296,7 @@ static inline void mavlink_msg_can_filter_modify_send_buf(mavlink_message_t *msg
     packet->bus = bus;
     packet->operation = operation;
     packet->num_ids = num_ids;
-    mav_array_memcpy(packet->ids, ids, sizeof(uint16_t)*16);
+    mav_array_assign_uint16_t(packet->ids, ids, 16);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CAN_FILTER_MODIFY, (const char *)packet, MAVLINK_MSG_ID_CAN_FILTER_MODIFY_MIN_LEN, MAVLINK_MSG_ID_CAN_FILTER_MODIFY_LEN, MAVLINK_MSG_ID_CAN_FILTER_MODIFY_CRC);
 #endif
 }

+ 5 - 5
v2.0/common/mavlink_msg_can_frame.h

@@ -83,7 +83,7 @@ static inline uint16_t mavlink_msg_can_frame_pack(uint8_t system_id, uint8_t com
     packet.target_component = target_component;
     packet.bus = bus;
     packet.len = len;
-    mav_array_memcpy(packet.data, data, sizeof(uint8_t)*8);
+    mav_array_assign_uint8_t(packet.data, data, 8);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CAN_FRAME_LEN);
 #endif
 
@@ -171,7 +171,7 @@ static inline uint16_t mavlink_msg_can_frame_pack_chan(uint8_t system_id, uint8_
     packet.target_component = target_component;
     packet.bus = bus;
     packet.len = len;
-    mav_array_memcpy(packet.data, data, sizeof(uint8_t)*8);
+    mav_array_assign_uint8_t(packet.data, data, 8);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CAN_FRAME_LEN);
 #endif
 
@@ -251,7 +251,7 @@ static inline void mavlink_msg_can_frame_send(mavlink_channel_t chan, uint8_t ta
     packet.target_component = target_component;
     packet.bus = bus;
     packet.len = len;
-    mav_array_memcpy(packet.data, data, sizeof(uint8_t)*8);
+    mav_array_assign_uint8_t(packet.data, data, 8);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CAN_FRAME, (const char *)&packet, MAVLINK_MSG_ID_CAN_FRAME_MIN_LEN, MAVLINK_MSG_ID_CAN_FRAME_LEN, MAVLINK_MSG_ID_CAN_FRAME_CRC);
 #endif
 }
@@ -272,7 +272,7 @@ static inline void mavlink_msg_can_frame_send_struct(mavlink_channel_t chan, con
 
 #if MAVLINK_MSG_ID_CAN_FRAME_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -296,7 +296,7 @@ static inline void mavlink_msg_can_frame_send_buf(mavlink_message_t *msgbuf, mav
     packet->target_component = target_component;
     packet->bus = bus;
     packet->len = len;
-    mav_array_memcpy(packet->data, data, sizeof(uint8_t)*8);
+    mav_array_assign_uint8_t(packet->data, data, 8);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CAN_FRAME, (const char *)packet, MAVLINK_MSG_ID_CAN_FRAME_MIN_LEN, MAVLINK_MSG_ID_CAN_FRAME_LEN, MAVLINK_MSG_ID_CAN_FRAME_CRC);
 #endif
 }

+ 5 - 5
v2.0/common/mavlink_msg_canfd_frame.h

@@ -83,7 +83,7 @@ static inline uint16_t mavlink_msg_canfd_frame_pack(uint8_t system_id, uint8_t c
     packet.target_component = target_component;
     packet.bus = bus;
     packet.len = len;
-    mav_array_memcpy(packet.data, data, sizeof(uint8_t)*64);
+    mav_array_assign_uint8_t(packet.data, data, 64);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CANFD_FRAME_LEN);
 #endif
 
@@ -171,7 +171,7 @@ static inline uint16_t mavlink_msg_canfd_frame_pack_chan(uint8_t system_id, uint
     packet.target_component = target_component;
     packet.bus = bus;
     packet.len = len;
-    mav_array_memcpy(packet.data, data, sizeof(uint8_t)*64);
+    mav_array_assign_uint8_t(packet.data, data, 64);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CANFD_FRAME_LEN);
 #endif
 
@@ -251,7 +251,7 @@ static inline void mavlink_msg_canfd_frame_send(mavlink_channel_t chan, uint8_t
     packet.target_component = target_component;
     packet.bus = bus;
     packet.len = len;
-    mav_array_memcpy(packet.data, data, sizeof(uint8_t)*64);
+    mav_array_assign_uint8_t(packet.data, data, 64);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CANFD_FRAME, (const char *)&packet, MAVLINK_MSG_ID_CANFD_FRAME_MIN_LEN, MAVLINK_MSG_ID_CANFD_FRAME_LEN, MAVLINK_MSG_ID_CANFD_FRAME_CRC);
 #endif
 }
@@ -272,7 +272,7 @@ static inline void mavlink_msg_canfd_frame_send_struct(mavlink_channel_t chan, c
 
 #if MAVLINK_MSG_ID_CANFD_FRAME_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -296,7 +296,7 @@ static inline void mavlink_msg_canfd_frame_send_buf(mavlink_message_t *msgbuf, m
     packet->target_component = target_component;
     packet->bus = bus;
     packet->len = len;
-    mav_array_memcpy(packet->data, data, sizeof(uint8_t)*64);
+    mav_array_assign_uint8_t(packet->data, data, 64);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CANFD_FRAME, (const char *)packet, MAVLINK_MSG_ID_CANFD_FRAME_MIN_LEN, MAVLINK_MSG_ID_CANFD_FRAME_LEN, MAVLINK_MSG_ID_CANFD_FRAME_CRC);
 #endif
 }

+ 17 - 17
v2.0/common/mavlink_msg_cellular_config.h

@@ -95,10 +95,10 @@ static inline uint16_t mavlink_msg_cellular_config_pack(uint8_t system_id, uint8
     packet.enable_pin = enable_pin;
     packet.roaming = roaming;
     packet.response = response;
-    mav_array_memcpy(packet.pin, pin, sizeof(char)*16);
-    mav_array_memcpy(packet.new_pin, new_pin, sizeof(char)*16);
-    mav_array_memcpy(packet.apn, apn, sizeof(char)*32);
-    mav_array_memcpy(packet.puk, puk, sizeof(char)*16);
+    mav_array_assign_char(packet.pin, pin, 16);
+    mav_array_assign_char(packet.new_pin, new_pin, 16);
+    mav_array_assign_char(packet.apn, apn, 32);
+    mav_array_assign_char(packet.puk, puk, 16);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CELLULAR_CONFIG_LEN);
 #endif
 
@@ -195,10 +195,10 @@ static inline uint16_t mavlink_msg_cellular_config_pack_chan(uint8_t system_id,
     packet.enable_pin = enable_pin;
     packet.roaming = roaming;
     packet.response = response;
-    mav_array_memcpy(packet.pin, pin, sizeof(char)*16);
-    mav_array_memcpy(packet.new_pin, new_pin, sizeof(char)*16);
-    mav_array_memcpy(packet.apn, apn, sizeof(char)*32);
-    mav_array_memcpy(packet.puk, puk, sizeof(char)*16);
+    mav_array_assign_char(packet.pin, pin, 16);
+    mav_array_assign_char(packet.new_pin, new_pin, 16);
+    mav_array_assign_char(packet.apn, apn, 32);
+    mav_array_assign_char(packet.puk, puk, 16);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CELLULAR_CONFIG_LEN);
 #endif
 
@@ -281,10 +281,10 @@ static inline void mavlink_msg_cellular_config_send(mavlink_channel_t chan, uint
     packet.enable_pin = enable_pin;
     packet.roaming = roaming;
     packet.response = response;
-    mav_array_memcpy(packet.pin, pin, sizeof(char)*16);
-    mav_array_memcpy(packet.new_pin, new_pin, sizeof(char)*16);
-    mav_array_memcpy(packet.apn, apn, sizeof(char)*32);
-    mav_array_memcpy(packet.puk, puk, sizeof(char)*16);
+    mav_array_assign_char(packet.pin, pin, 16);
+    mav_array_assign_char(packet.new_pin, new_pin, 16);
+    mav_array_assign_char(packet.apn, apn, 32);
+    mav_array_assign_char(packet.puk, puk, 16);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CELLULAR_CONFIG, (const char *)&packet, MAVLINK_MSG_ID_CELLULAR_CONFIG_MIN_LEN, MAVLINK_MSG_ID_CELLULAR_CONFIG_LEN, MAVLINK_MSG_ID_CELLULAR_CONFIG_CRC);
 #endif
 }
@@ -305,7 +305,7 @@ static inline void mavlink_msg_cellular_config_send_struct(mavlink_channel_t cha
 
 #if MAVLINK_MSG_ID_CELLULAR_CONFIG_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -330,10 +330,10 @@ static inline void mavlink_msg_cellular_config_send_buf(mavlink_message_t *msgbu
     packet->enable_pin = enable_pin;
     packet->roaming = roaming;
     packet->response = response;
-    mav_array_memcpy(packet->pin, pin, sizeof(char)*16);
-    mav_array_memcpy(packet->new_pin, new_pin, sizeof(char)*16);
-    mav_array_memcpy(packet->apn, apn, sizeof(char)*32);
-    mav_array_memcpy(packet->puk, puk, sizeof(char)*16);
+    mav_array_assign_char(packet->pin, pin, 16);
+    mav_array_assign_char(packet->new_pin, new_pin, 16);
+    mav_array_assign_char(packet->apn, apn, 32);
+    mav_array_assign_char(packet->puk, puk, 16);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CELLULAR_CONFIG, (const char *)packet, MAVLINK_MSG_ID_CELLULAR_CONFIG_MIN_LEN, MAVLINK_MSG_ID_CELLULAR_CONFIG_LEN, MAVLINK_MSG_ID_CELLULAR_CONFIG_CRC);
 #endif
 }

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

@@ -295,7 +295,7 @@ static inline void mavlink_msg_cellular_status_send_struct(mavlink_channel_t cha
 
 #if MAVLINK_MSG_ID_CELLULAR_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 5 - 5
v2.0/common/mavlink_msg_change_operator_control.h

@@ -71,7 +71,7 @@ static inline uint16_t mavlink_msg_change_operator_control_pack(uint8_t system_i
     packet.target_system = target_system;
     packet.control_request = control_request;
     packet.version = version;
-    mav_array_memcpy(packet.passkey, passkey, sizeof(char)*25);
+    mav_array_assign_char(packet.passkey, passkey, 25);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL_LEN);
 #endif
 
@@ -147,7 +147,7 @@ static inline uint16_t mavlink_msg_change_operator_control_pack_chan(uint8_t sys
     packet.target_system = target_system;
     packet.control_request = control_request;
     packet.version = version;
-    mav_array_memcpy(packet.passkey, passkey, sizeof(char)*25);
+    mav_array_assign_char(packet.passkey, passkey, 25);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL_LEN);
 #endif
 
@@ -221,7 +221,7 @@ static inline void mavlink_msg_change_operator_control_send(mavlink_channel_t ch
     packet.target_system = target_system;
     packet.control_request = control_request;
     packet.version = version;
-    mav_array_memcpy(packet.passkey, passkey, sizeof(char)*25);
+    mav_array_assign_char(packet.passkey, passkey, 25);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL, (const char *)&packet, MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL_MIN_LEN, MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL_LEN, MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL_CRC);
 #endif
 }
@@ -242,7 +242,7 @@ static inline void mavlink_msg_change_operator_control_send_struct(mavlink_chann
 
 #if MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -262,7 +262,7 @@ static inline void mavlink_msg_change_operator_control_send_buf(mavlink_message_
     packet->target_system = target_system;
     packet->control_request = control_request;
     packet->version = version;
-    mav_array_memcpy(packet->passkey, passkey, sizeof(char)*25);
+    mav_array_assign_char(packet->passkey, passkey, 25);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL, (const char *)packet, MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL_MIN_LEN, MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL_LEN, MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL_CRC);
 #endif
 }

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

@@ -235,7 +235,7 @@ static inline void mavlink_msg_change_operator_control_ack_send_struct(mavlink_c
 
 #if MAVLINK_MSG_ID_CHANGE_OPERATOR_CONTROL_ACK_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -295,7 +295,7 @@ static inline void mavlink_msg_collision_send_struct(mavlink_channel_t chan, con
 
 #if MAVLINK_MSG_ID_COLLISION_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -280,7 +280,7 @@ static inline void mavlink_msg_command_ack_send_struct(mavlink_channel_t chan, c
 
 #if MAVLINK_MSG_ID_COMMAND_ACK_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -235,7 +235,7 @@ static inline void mavlink_msg_command_cancel_send_struct(mavlink_channel_t chan
 
 #if MAVLINK_MSG_ID_COMMAND_CANCEL_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -385,7 +385,7 @@ static inline void mavlink_msg_command_int_send_struct(mavlink_channel_t chan, c
 
 #if MAVLINK_MSG_ID_COMMAND_INT_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -355,7 +355,7 @@ static inline void mavlink_msg_command_long_send_struct(mavlink_channel_t chan,
 
 #if MAVLINK_MSG_ID_COMMAND_LONG_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 9 - 9
v2.0/common/mavlink_msg_component_information.h

@@ -77,8 +77,8 @@ static inline uint16_t mavlink_msg_component_information_pack(uint8_t system_id,
     packet.time_boot_ms = time_boot_ms;
     packet.general_metadata_file_crc = general_metadata_file_crc;
     packet.peripherals_metadata_file_crc = peripherals_metadata_file_crc;
-    mav_array_memcpy(packet.general_metadata_uri, general_metadata_uri, sizeof(char)*100);
-    mav_array_memcpy(packet.peripherals_metadata_uri, peripherals_metadata_uri, sizeof(char)*100);
+    mav_array_assign_char(packet.general_metadata_uri, general_metadata_uri, 100);
+    mav_array_assign_char(packet.peripherals_metadata_uri, peripherals_metadata_uri, 100);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_COMPONENT_INFORMATION_LEN);
 #endif
 
@@ -159,8 +159,8 @@ static inline uint16_t mavlink_msg_component_information_pack_chan(uint8_t syste
     packet.time_boot_ms = time_boot_ms;
     packet.general_metadata_file_crc = general_metadata_file_crc;
     packet.peripherals_metadata_file_crc = peripherals_metadata_file_crc;
-    mav_array_memcpy(packet.general_metadata_uri, general_metadata_uri, sizeof(char)*100);
-    mav_array_memcpy(packet.peripherals_metadata_uri, peripherals_metadata_uri, sizeof(char)*100);
+    mav_array_assign_char(packet.general_metadata_uri, general_metadata_uri, 100);
+    mav_array_assign_char(packet.peripherals_metadata_uri, peripherals_metadata_uri, 100);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_COMPONENT_INFORMATION_LEN);
 #endif
 
@@ -236,8 +236,8 @@ static inline void mavlink_msg_component_information_send(mavlink_channel_t chan
     packet.time_boot_ms = time_boot_ms;
     packet.general_metadata_file_crc = general_metadata_file_crc;
     packet.peripherals_metadata_file_crc = peripherals_metadata_file_crc;
-    mav_array_memcpy(packet.general_metadata_uri, general_metadata_uri, sizeof(char)*100);
-    mav_array_memcpy(packet.peripherals_metadata_uri, peripherals_metadata_uri, sizeof(char)*100);
+    mav_array_assign_char(packet.general_metadata_uri, general_metadata_uri, 100);
+    mav_array_assign_char(packet.peripherals_metadata_uri, peripherals_metadata_uri, 100);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_COMPONENT_INFORMATION, (const char *)&packet, MAVLINK_MSG_ID_COMPONENT_INFORMATION_MIN_LEN, MAVLINK_MSG_ID_COMPONENT_INFORMATION_LEN, MAVLINK_MSG_ID_COMPONENT_INFORMATION_CRC);
 #endif
 }
@@ -258,7 +258,7 @@ static inline void mavlink_msg_component_information_send_struct(mavlink_channel
 
 #if MAVLINK_MSG_ID_COMPONENT_INFORMATION_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -279,8 +279,8 @@ static inline void mavlink_msg_component_information_send_buf(mavlink_message_t
     packet->time_boot_ms = time_boot_ms;
     packet->general_metadata_file_crc = general_metadata_file_crc;
     packet->peripherals_metadata_file_crc = peripherals_metadata_file_crc;
-    mav_array_memcpy(packet->general_metadata_uri, general_metadata_uri, sizeof(char)*100);
-    mav_array_memcpy(packet->peripherals_metadata_uri, peripherals_metadata_uri, sizeof(char)*100);
+    mav_array_assign_char(packet->general_metadata_uri, general_metadata_uri, 100);
+    mav_array_assign_char(packet->peripherals_metadata_uri, peripherals_metadata_uri, 100);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_COMPONENT_INFORMATION, (const char *)packet, MAVLINK_MSG_ID_COMPONENT_INFORMATION_MIN_LEN, MAVLINK_MSG_ID_COMPONENT_INFORMATION_LEN, MAVLINK_MSG_ID_COMPONENT_INFORMATION_CRC);
 #endif
 }

+ 5 - 5
v2.0/common/mavlink_msg_component_metadata.h

@@ -65,7 +65,7 @@ static inline uint16_t mavlink_msg_component_metadata_pack(uint8_t system_id, ui
     mavlink_component_metadata_t packet;
     packet.time_boot_ms = time_boot_ms;
     packet.file_crc = file_crc;
-    mav_array_memcpy(packet.uri, uri, sizeof(char)*100);
+    mav_array_assign_char(packet.uri, uri, 100);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_COMPONENT_METADATA_LEN);
 #endif
 
@@ -135,7 +135,7 @@ static inline uint16_t mavlink_msg_component_metadata_pack_chan(uint8_t system_i
     mavlink_component_metadata_t packet;
     packet.time_boot_ms = time_boot_ms;
     packet.file_crc = file_crc;
-    mav_array_memcpy(packet.uri, uri, sizeof(char)*100);
+    mav_array_assign_char(packet.uri, uri, 100);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_COMPONENT_METADATA_LEN);
 #endif
 
@@ -206,7 +206,7 @@ static inline void mavlink_msg_component_metadata_send(mavlink_channel_t chan, u
     mavlink_component_metadata_t packet;
     packet.time_boot_ms = time_boot_ms;
     packet.file_crc = file_crc;
-    mav_array_memcpy(packet.uri, uri, sizeof(char)*100);
+    mav_array_assign_char(packet.uri, uri, 100);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_COMPONENT_METADATA, (const char *)&packet, MAVLINK_MSG_ID_COMPONENT_METADATA_MIN_LEN, MAVLINK_MSG_ID_COMPONENT_METADATA_LEN, MAVLINK_MSG_ID_COMPONENT_METADATA_CRC);
 #endif
 }
@@ -227,7 +227,7 @@ static inline void mavlink_msg_component_metadata_send_struct(mavlink_channel_t
 
 #if MAVLINK_MSG_ID_COMPONENT_METADATA_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -245,7 +245,7 @@ static inline void mavlink_msg_component_metadata_send_buf(mavlink_message_t *ms
     mavlink_component_metadata_t *packet = (mavlink_component_metadata_t *)msgbuf;
     packet->time_boot_ms = time_boot_ms;
     packet->file_crc = file_crc;
-    mav_array_memcpy(packet->uri, uri, sizeof(char)*100);
+    mav_array_assign_char(packet->uri, uri, 100);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_COMPONENT_METADATA, (const char *)packet, MAVLINK_MSG_ID_COMPONENT_METADATA_MIN_LEN, MAVLINK_MSG_ID_COMPONENT_METADATA_LEN, MAVLINK_MSG_ID_COMPONENT_METADATA_CRC);
 #endif
 }

+ 13 - 13
v2.0/common/mavlink_msg_control_system_state.h

@@ -149,9 +149,9 @@ static inline uint16_t mavlink_msg_control_system_state_pack(uint8_t system_id,
     packet.roll_rate = roll_rate;
     packet.pitch_rate = pitch_rate;
     packet.yaw_rate = yaw_rate;
-    mav_array_memcpy(packet.vel_variance, vel_variance, sizeof(float)*3);
-    mav_array_memcpy(packet.pos_variance, pos_variance, sizeof(float)*3);
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.vel_variance, vel_variance, 3);
+    mav_array_assign_float(packet.pos_variance, pos_variance, 3);
+    mav_array_assign_float(packet.q, q, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CONTROL_SYSTEM_STATE_LEN);
 #endif
 
@@ -303,9 +303,9 @@ static inline uint16_t mavlink_msg_control_system_state_pack_chan(uint8_t system
     packet.roll_rate = roll_rate;
     packet.pitch_rate = pitch_rate;
     packet.yaw_rate = yaw_rate;
-    mav_array_memcpy(packet.vel_variance, vel_variance, sizeof(float)*3);
-    mav_array_memcpy(packet.pos_variance, pos_variance, sizeof(float)*3);
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.vel_variance, vel_variance, 3);
+    mav_array_assign_float(packet.pos_variance, pos_variance, 3);
+    mav_array_assign_float(packet.q, q, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_CONTROL_SYSTEM_STATE_LEN);
 #endif
 
@@ -416,9 +416,9 @@ static inline void mavlink_msg_control_system_state_send(mavlink_channel_t chan,
     packet.roll_rate = roll_rate;
     packet.pitch_rate = pitch_rate;
     packet.yaw_rate = yaw_rate;
-    mav_array_memcpy(packet.vel_variance, vel_variance, sizeof(float)*3);
-    mav_array_memcpy(packet.pos_variance, pos_variance, sizeof(float)*3);
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.vel_variance, vel_variance, 3);
+    mav_array_assign_float(packet.pos_variance, pos_variance, 3);
+    mav_array_assign_float(packet.q, q, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CONTROL_SYSTEM_STATE, (const char *)&packet, MAVLINK_MSG_ID_CONTROL_SYSTEM_STATE_MIN_LEN, MAVLINK_MSG_ID_CONTROL_SYSTEM_STATE_LEN, MAVLINK_MSG_ID_CONTROL_SYSTEM_STATE_CRC);
 #endif
 }
@@ -439,7 +439,7 @@ static inline void mavlink_msg_control_system_state_send_struct(mavlink_channel_
 
 #if MAVLINK_MSG_ID_CONTROL_SYSTEM_STATE_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -483,9 +483,9 @@ static inline void mavlink_msg_control_system_state_send_buf(mavlink_message_t *
     packet->roll_rate = roll_rate;
     packet->pitch_rate = pitch_rate;
     packet->yaw_rate = yaw_rate;
-    mav_array_memcpy(packet->vel_variance, vel_variance, sizeof(float)*3);
-    mav_array_memcpy(packet->pos_variance, pos_variance, sizeof(float)*3);
-    mav_array_memcpy(packet->q, q, sizeof(float)*4);
+    mav_array_assign_float(packet->vel_variance, vel_variance, 3);
+    mav_array_assign_float(packet->pos_variance, pos_variance, 3);
+    mav_array_assign_float(packet->q, q, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_CONTROL_SYSTEM_STATE, (const char *)packet, MAVLINK_MSG_ID_CONTROL_SYSTEM_STATE_MIN_LEN, MAVLINK_MSG_ID_CONTROL_SYSTEM_STATE_LEN, MAVLINK_MSG_ID_CONTROL_SYSTEM_STATE_CRC);
 #endif
 }

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

@@ -220,7 +220,7 @@ static inline void mavlink_msg_current_event_sequence_send_struct(mavlink_channe
 
 #if MAVLINK_MSG_ID_CURRENT_EVENT_SEQUENCE_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -235,7 +235,7 @@ static inline void mavlink_msg_data_stream_send_struct(mavlink_channel_t chan, c
 
 #if MAVLINK_MSG_ID_DATA_STREAM_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -295,7 +295,7 @@ static inline void mavlink_msg_data_transmission_handshake_send_struct(mavlink_c
 
 #if MAVLINK_MSG_ID_DATA_TRANSMISSION_HANDSHAKE_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -235,7 +235,7 @@ static inline void mavlink_msg_debug_send_struct(mavlink_channel_t chan, const m
 
 #if MAVLINK_MSG_ID_DEBUG_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 9 - 9
v2.0/common/mavlink_msg_debug_float_array.h

@@ -71,8 +71,8 @@ static inline uint16_t mavlink_msg_debug_float_array_pack(uint8_t system_id, uin
     mavlink_debug_float_array_t packet;
     packet.time_usec = time_usec;
     packet.array_id = array_id;
-    mav_array_memcpy(packet.name, name, sizeof(char)*10);
-    mav_array_memcpy(packet.data, data, sizeof(float)*58);
+    mav_array_assign_char(packet.name, name, 10);
+    mav_array_assign_float(packet.data, data, 58);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_DEBUG_FLOAT_ARRAY_LEN);
 #endif
 
@@ -147,8 +147,8 @@ static inline uint16_t mavlink_msg_debug_float_array_pack_chan(uint8_t system_id
     mavlink_debug_float_array_t packet;
     packet.time_usec = time_usec;
     packet.array_id = array_id;
-    mav_array_memcpy(packet.name, name, sizeof(char)*10);
-    mav_array_memcpy(packet.data, data, sizeof(float)*58);
+    mav_array_assign_char(packet.name, name, 10);
+    mav_array_assign_float(packet.data, data, 58);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_DEBUG_FLOAT_ARRAY_LEN);
 #endif
 
@@ -221,8 +221,8 @@ static inline void mavlink_msg_debug_float_array_send(mavlink_channel_t chan, ui
     mavlink_debug_float_array_t packet;
     packet.time_usec = time_usec;
     packet.array_id = array_id;
-    mav_array_memcpy(packet.name, name, sizeof(char)*10);
-    mav_array_memcpy(packet.data, data, sizeof(float)*58);
+    mav_array_assign_char(packet.name, name, 10);
+    mav_array_assign_float(packet.data, data, 58);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_DEBUG_FLOAT_ARRAY, (const char *)&packet, MAVLINK_MSG_ID_DEBUG_FLOAT_ARRAY_MIN_LEN, MAVLINK_MSG_ID_DEBUG_FLOAT_ARRAY_LEN, MAVLINK_MSG_ID_DEBUG_FLOAT_ARRAY_CRC);
 #endif
 }
@@ -243,7 +243,7 @@ static inline void mavlink_msg_debug_float_array_send_struct(mavlink_channel_t c
 
 #if MAVLINK_MSG_ID_DEBUG_FLOAT_ARRAY_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -262,8 +262,8 @@ static inline void mavlink_msg_debug_float_array_send_buf(mavlink_message_t *msg
     mavlink_debug_float_array_t *packet = (mavlink_debug_float_array_t *)msgbuf;
     packet->time_usec = time_usec;
     packet->array_id = array_id;
-    mav_array_memcpy(packet->name, name, sizeof(char)*10);
-    mav_array_memcpy(packet->data, data, sizeof(float)*58);
+    mav_array_assign_char(packet->name, name, 10);
+    mav_array_assign_float(packet->data, data, 58);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_DEBUG_FLOAT_ARRAY, (const char *)packet, MAVLINK_MSG_ID_DEBUG_FLOAT_ARRAY_MIN_LEN, MAVLINK_MSG_ID_DEBUG_FLOAT_ARRAY_LEN, MAVLINK_MSG_ID_DEBUG_FLOAT_ARRAY_CRC);
 #endif
 }

+ 5 - 5
v2.0/common/mavlink_msg_debug_vect.h

@@ -77,7 +77,7 @@ static inline uint16_t mavlink_msg_debug_vect_pack(uint8_t system_id, uint8_t co
     packet.x = x;
     packet.y = y;
     packet.z = z;
-    mav_array_memcpy(packet.name, name, sizeof(char)*10);
+    mav_array_assign_char(packet.name, name, 10);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_DEBUG_VECT_LEN);
 #endif
 
@@ -159,7 +159,7 @@ static inline uint16_t mavlink_msg_debug_vect_pack_chan(uint8_t system_id, uint8
     packet.x = x;
     packet.y = y;
     packet.z = z;
-    mav_array_memcpy(packet.name, name, sizeof(char)*10);
+    mav_array_assign_char(packet.name, name, 10);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_DEBUG_VECT_LEN);
 #endif
 
@@ -236,7 +236,7 @@ static inline void mavlink_msg_debug_vect_send(mavlink_channel_t chan, const cha
     packet.x = x;
     packet.y = y;
     packet.z = z;
-    mav_array_memcpy(packet.name, name, sizeof(char)*10);
+    mav_array_assign_char(packet.name, name, 10);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_DEBUG_VECT, (const char *)&packet, MAVLINK_MSG_ID_DEBUG_VECT_MIN_LEN, MAVLINK_MSG_ID_DEBUG_VECT_LEN, MAVLINK_MSG_ID_DEBUG_VECT_CRC);
 #endif
 }
@@ -257,7 +257,7 @@ static inline void mavlink_msg_debug_vect_send_struct(mavlink_channel_t chan, co
 
 #if MAVLINK_MSG_ID_DEBUG_VECT_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -279,7 +279,7 @@ static inline void mavlink_msg_debug_vect_send_buf(mavlink_message_t *msgbuf, ma
     packet->x = x;
     packet->y = y;
     packet->z = z;
-    mav_array_memcpy(packet->name, name, sizeof(char)*10);
+    mav_array_assign_char(packet->name, name, 10);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_DEBUG_VECT, (const char *)packet, MAVLINK_MSG_ID_DEBUG_VECT_MIN_LEN, MAVLINK_MSG_ID_DEBUG_VECT_LEN, MAVLINK_MSG_ID_DEBUG_VECT_CRC);
 #endif
 }

+ 5 - 5
v2.0/common/mavlink_msg_distance_sensor.h

@@ -119,7 +119,7 @@ static inline uint16_t mavlink_msg_distance_sensor_pack(uint8_t system_id, uint8
     packet.horizontal_fov = horizontal_fov;
     packet.vertical_fov = vertical_fov;
     packet.signal_quality = signal_quality;
-    mav_array_memcpy(packet.quaternion, quaternion, sizeof(float)*4);
+    mav_array_assign_float(packet.quaternion, quaternion, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_DISTANCE_SENSOR_LEN);
 #endif
 
@@ -243,7 +243,7 @@ static inline uint16_t mavlink_msg_distance_sensor_pack_chan(uint8_t system_id,
     packet.horizontal_fov = horizontal_fov;
     packet.vertical_fov = vertical_fov;
     packet.signal_quality = signal_quality;
-    mav_array_memcpy(packet.quaternion, quaternion, sizeof(float)*4);
+    mav_array_assign_float(packet.quaternion, quaternion, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_DISTANCE_SENSOR_LEN);
 #endif
 
@@ -341,7 +341,7 @@ static inline void mavlink_msg_distance_sensor_send(mavlink_channel_t chan, uint
     packet.horizontal_fov = horizontal_fov;
     packet.vertical_fov = vertical_fov;
     packet.signal_quality = signal_quality;
-    mav_array_memcpy(packet.quaternion, quaternion, sizeof(float)*4);
+    mav_array_assign_float(packet.quaternion, quaternion, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_DISTANCE_SENSOR, (const char *)&packet, MAVLINK_MSG_ID_DISTANCE_SENSOR_MIN_LEN, MAVLINK_MSG_ID_DISTANCE_SENSOR_LEN, MAVLINK_MSG_ID_DISTANCE_SENSOR_CRC);
 #endif
 }
@@ -362,7 +362,7 @@ static inline void mavlink_msg_distance_sensor_send_struct(mavlink_channel_t cha
 
 #if MAVLINK_MSG_ID_DISTANCE_SENSOR_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -398,7 +398,7 @@ static inline void mavlink_msg_distance_sensor_send_buf(mavlink_message_t *msgbu
     packet->horizontal_fov = horizontal_fov;
     packet->vertical_fov = vertical_fov;
     packet->signal_quality = signal_quality;
-    mav_array_memcpy(packet->quaternion, quaternion, sizeof(float)*4);
+    mav_array_assign_float(packet->quaternion, quaternion, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_DISTANCE_SENSOR, (const char *)packet, MAVLINK_MSG_ID_DISTANCE_SENSOR_MIN_LEN, MAVLINK_MSG_ID_DISTANCE_SENSOR_LEN, MAVLINK_MSG_ID_DISTANCE_SENSOR_CRC);
 #endif
 }

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

@@ -475,7 +475,7 @@ static inline void mavlink_msg_efi_status_send_struct(mavlink_channel_t chan, co
 
 #if MAVLINK_MSG_ID_EFI_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 5 - 5
v2.0/common/mavlink_msg_encapsulated_data.h

@@ -59,7 +59,7 @@ static inline uint16_t mavlink_msg_encapsulated_data_pack(uint8_t system_id, uin
 #else
     mavlink_encapsulated_data_t packet;
     packet.seqnr = seqnr;
-    mav_array_memcpy(packet.data, data, sizeof(uint8_t)*253);
+    mav_array_assign_uint8_t(packet.data, data, 253);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN);
 #endif
 
@@ -123,7 +123,7 @@ static inline uint16_t mavlink_msg_encapsulated_data_pack_chan(uint8_t system_id
 #else
     mavlink_encapsulated_data_t packet;
     packet.seqnr = seqnr;
-    mav_array_memcpy(packet.data, data, sizeof(uint8_t)*253);
+    mav_array_assign_uint8_t(packet.data, data, 253);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN);
 #endif
 
@@ -191,7 +191,7 @@ static inline void mavlink_msg_encapsulated_data_send(mavlink_channel_t chan, ui
 #else
     mavlink_encapsulated_data_t packet;
     packet.seqnr = seqnr;
-    mav_array_memcpy(packet.data, data, sizeof(uint8_t)*253);
+    mav_array_assign_uint8_t(packet.data, data, 253);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ENCAPSULATED_DATA, (const char *)&packet, MAVLINK_MSG_ID_ENCAPSULATED_DATA_MIN_LEN, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN, MAVLINK_MSG_ID_ENCAPSULATED_DATA_CRC);
 #endif
 }
@@ -212,7 +212,7 @@ static inline void mavlink_msg_encapsulated_data_send_struct(mavlink_channel_t c
 
 #if MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -228,7 +228,7 @@ static inline void mavlink_msg_encapsulated_data_send_buf(mavlink_message_t *msg
 #else
     mavlink_encapsulated_data_t *packet = (mavlink_encapsulated_data_t *)msgbuf;
     packet->seqnr = seqnr;
-    mav_array_memcpy(packet->data, data, sizeof(uint8_t)*253);
+    mav_array_assign_uint8_t(packet->data, data, 253);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ENCAPSULATED_DATA, (const char *)packet, MAVLINK_MSG_ID_ENCAPSULATED_DATA_MIN_LEN, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN, MAVLINK_MSG_ID_ENCAPSULATED_DATA_CRC);
 #endif
 }

+ 13 - 13
v2.0/common/mavlink_msg_esc_info.h

@@ -101,9 +101,9 @@ static inline uint16_t mavlink_msg_esc_info_pack(uint8_t system_id, uint8_t comp
     packet.count = count;
     packet.connection_type = connection_type;
     packet.info = info;
-    mav_array_memcpy(packet.error_count, error_count, sizeof(uint32_t)*4);
-    mav_array_memcpy(packet.failure_flags, failure_flags, sizeof(uint16_t)*4);
-    mav_array_memcpy(packet.temperature, temperature, sizeof(int16_t)*4);
+    mav_array_assign_uint32_t(packet.error_count, error_count, 4);
+    mav_array_assign_uint16_t(packet.failure_flags, failure_flags, 4);
+    mav_array_assign_int16_t(packet.temperature, temperature, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ESC_INFO_LEN);
 #endif
 
@@ -207,9 +207,9 @@ static inline uint16_t mavlink_msg_esc_info_pack_chan(uint8_t system_id, uint8_t
     packet.count = count;
     packet.connection_type = connection_type;
     packet.info = info;
-    mav_array_memcpy(packet.error_count, error_count, sizeof(uint32_t)*4);
-    mav_array_memcpy(packet.failure_flags, failure_flags, sizeof(uint16_t)*4);
-    mav_array_memcpy(packet.temperature, temperature, sizeof(int16_t)*4);
+    mav_array_assign_uint32_t(packet.error_count, error_count, 4);
+    mav_array_assign_uint16_t(packet.failure_flags, failure_flags, 4);
+    mav_array_assign_int16_t(packet.temperature, temperature, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ESC_INFO_LEN);
 #endif
 
@@ -296,9 +296,9 @@ static inline void mavlink_msg_esc_info_send(mavlink_channel_t chan, uint8_t ind
     packet.count = count;
     packet.connection_type = connection_type;
     packet.info = info;
-    mav_array_memcpy(packet.error_count, error_count, sizeof(uint32_t)*4);
-    mav_array_memcpy(packet.failure_flags, failure_flags, sizeof(uint16_t)*4);
-    mav_array_memcpy(packet.temperature, temperature, sizeof(int16_t)*4);
+    mav_array_assign_uint32_t(packet.error_count, error_count, 4);
+    mav_array_assign_uint16_t(packet.failure_flags, failure_flags, 4);
+    mav_array_assign_int16_t(packet.temperature, temperature, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ESC_INFO, (const char *)&packet, MAVLINK_MSG_ID_ESC_INFO_MIN_LEN, MAVLINK_MSG_ID_ESC_INFO_LEN, MAVLINK_MSG_ID_ESC_INFO_CRC);
 #endif
 }
@@ -319,7 +319,7 @@ static inline void mavlink_msg_esc_info_send_struct(mavlink_channel_t chan, cons
 
 #if MAVLINK_MSG_ID_ESC_INFO_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -347,9 +347,9 @@ static inline void mavlink_msg_esc_info_send_buf(mavlink_message_t *msgbuf, mavl
     packet->count = count;
     packet->connection_type = connection_type;
     packet->info = info;
-    mav_array_memcpy(packet->error_count, error_count, sizeof(uint32_t)*4);
-    mav_array_memcpy(packet->failure_flags, failure_flags, sizeof(uint16_t)*4);
-    mav_array_memcpy(packet->temperature, temperature, sizeof(int16_t)*4);
+    mav_array_assign_uint32_t(packet->error_count, error_count, 4);
+    mav_array_assign_uint16_t(packet->failure_flags, failure_flags, 4);
+    mav_array_assign_int16_t(packet->temperature, temperature, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ESC_INFO, (const char *)packet, MAVLINK_MSG_ID_ESC_INFO_MIN_LEN, MAVLINK_MSG_ID_ESC_INFO_LEN, MAVLINK_MSG_ID_ESC_INFO_CRC);
 #endif
 }

+ 13 - 13
v2.0/common/mavlink_msg_esc_status.h

@@ -77,9 +77,9 @@ static inline uint16_t mavlink_msg_esc_status_pack(uint8_t system_id, uint8_t co
     mavlink_esc_status_t packet;
     packet.time_usec = time_usec;
     packet.index = index;
-    mav_array_memcpy(packet.rpm, rpm, sizeof(int32_t)*4);
-    mav_array_memcpy(packet.voltage, voltage, sizeof(float)*4);
-    mav_array_memcpy(packet.current, current, sizeof(float)*4);
+    mav_array_assign_int32_t(packet.rpm, rpm, 4);
+    mav_array_assign_float(packet.voltage, voltage, 4);
+    mav_array_assign_float(packet.current, current, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ESC_STATUS_LEN);
 #endif
 
@@ -159,9 +159,9 @@ static inline uint16_t mavlink_msg_esc_status_pack_chan(uint8_t system_id, uint8
     mavlink_esc_status_t packet;
     packet.time_usec = time_usec;
     packet.index = index;
-    mav_array_memcpy(packet.rpm, rpm, sizeof(int32_t)*4);
-    mav_array_memcpy(packet.voltage, voltage, sizeof(float)*4);
-    mav_array_memcpy(packet.current, current, sizeof(float)*4);
+    mav_array_assign_int32_t(packet.rpm, rpm, 4);
+    mav_array_assign_float(packet.voltage, voltage, 4);
+    mav_array_assign_float(packet.current, current, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ESC_STATUS_LEN);
 #endif
 
@@ -236,9 +236,9 @@ static inline void mavlink_msg_esc_status_send(mavlink_channel_t chan, uint8_t i
     mavlink_esc_status_t packet;
     packet.time_usec = time_usec;
     packet.index = index;
-    mav_array_memcpy(packet.rpm, rpm, sizeof(int32_t)*4);
-    mav_array_memcpy(packet.voltage, voltage, sizeof(float)*4);
-    mav_array_memcpy(packet.current, current, sizeof(float)*4);
+    mav_array_assign_int32_t(packet.rpm, rpm, 4);
+    mav_array_assign_float(packet.voltage, voltage, 4);
+    mav_array_assign_float(packet.current, current, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ESC_STATUS, (const char *)&packet, MAVLINK_MSG_ID_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_ESC_STATUS_LEN, MAVLINK_MSG_ID_ESC_STATUS_CRC);
 #endif
 }
@@ -259,7 +259,7 @@ static inline void mavlink_msg_esc_status_send_struct(mavlink_channel_t chan, co
 
 #if MAVLINK_MSG_ID_ESC_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -279,9 +279,9 @@ static inline void mavlink_msg_esc_status_send_buf(mavlink_message_t *msgbuf, ma
     mavlink_esc_status_t *packet = (mavlink_esc_status_t *)msgbuf;
     packet->time_usec = time_usec;
     packet->index = index;
-    mav_array_memcpy(packet->rpm, rpm, sizeof(int32_t)*4);
-    mav_array_memcpy(packet->voltage, voltage, sizeof(float)*4);
-    mav_array_memcpy(packet->current, current, sizeof(float)*4);
+    mav_array_assign_int32_t(packet->rpm, rpm, 4);
+    mav_array_assign_float(packet->voltage, voltage, 4);
+    mav_array_assign_float(packet->current, current, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ESC_STATUS, (const char *)packet, MAVLINK_MSG_ID_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_ESC_STATUS_LEN, MAVLINK_MSG_ID_ESC_STATUS_CRC);
 #endif
 }

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

@@ -340,7 +340,7 @@ static inline void mavlink_msg_estimator_status_send_struct(mavlink_channel_t ch
 
 #if MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 5 - 5
v2.0/common/mavlink_msg_event.h

@@ -89,7 +89,7 @@ static inline uint16_t mavlink_msg_event_pack(uint8_t system_id, uint8_t compone
     packet.destination_component = destination_component;
     packet.destination_system = destination_system;
     packet.log_levels = log_levels;
-    mav_array_memcpy(packet.arguments, arguments, sizeof(uint8_t)*40);
+    mav_array_assign_uint8_t(packet.arguments, arguments, 40);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_EVENT_LEN);
 #endif
 
@@ -183,7 +183,7 @@ static inline uint16_t mavlink_msg_event_pack_chan(uint8_t system_id, uint8_t co
     packet.destination_component = destination_component;
     packet.destination_system = destination_system;
     packet.log_levels = log_levels;
-    mav_array_memcpy(packet.arguments, arguments, sizeof(uint8_t)*40);
+    mav_array_assign_uint8_t(packet.arguments, arguments, 40);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_EVENT_LEN);
 #endif
 
@@ -266,7 +266,7 @@ static inline void mavlink_msg_event_send(mavlink_channel_t chan, uint8_t destin
     packet.destination_component = destination_component;
     packet.destination_system = destination_system;
     packet.log_levels = log_levels;
-    mav_array_memcpy(packet.arguments, arguments, sizeof(uint8_t)*40);
+    mav_array_assign_uint8_t(packet.arguments, arguments, 40);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_EVENT, (const char *)&packet, MAVLINK_MSG_ID_EVENT_MIN_LEN, MAVLINK_MSG_ID_EVENT_LEN, MAVLINK_MSG_ID_EVENT_CRC);
 #endif
 }
@@ -287,7 +287,7 @@ static inline void mavlink_msg_event_send_struct(mavlink_channel_t chan, const m
 
 #if MAVLINK_MSG_ID_EVENT_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -313,7 +313,7 @@ static inline void mavlink_msg_event_send_buf(mavlink_message_t *msgbuf, mavlink
     packet->destination_component = destination_component;
     packet->destination_system = destination_system;
     packet->log_levels = log_levels;
-    mav_array_memcpy(packet->arguments, arguments, sizeof(uint8_t)*40);
+    mav_array_assign_uint8_t(packet->arguments, arguments, 40);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_EVENT, (const char *)packet, MAVLINK_MSG_ID_EVENT_MIN_LEN, MAVLINK_MSG_ID_EVENT_LEN, MAVLINK_MSG_ID_EVENT_CRC);
 #endif
 }

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

@@ -220,7 +220,7 @@ static inline void mavlink_msg_extended_sys_state_send_struct(mavlink_channel_t
 
 #if MAVLINK_MSG_ID_EXTENDED_SYS_STATE_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -265,7 +265,7 @@ static inline void mavlink_msg_fence_status_send_struct(mavlink_channel_t chan,
 
 #if MAVLINK_MSG_ID_FENCE_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 5 - 5
v2.0/common/mavlink_msg_file_transfer_protocol.h

@@ -71,7 +71,7 @@ static inline uint16_t mavlink_msg_file_transfer_protocol_pack(uint8_t system_id
     packet.target_network = target_network;
     packet.target_system = target_system;
     packet.target_component = target_component;
-    mav_array_memcpy(packet.payload, payload, sizeof(uint8_t)*251);
+    mav_array_assign_uint8_t(packet.payload, payload, 251);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_FILE_TRANSFER_PROTOCOL_LEN);
 #endif
 
@@ -147,7 +147,7 @@ static inline uint16_t mavlink_msg_file_transfer_protocol_pack_chan(uint8_t syst
     packet.target_network = target_network;
     packet.target_system = target_system;
     packet.target_component = target_component;
-    mav_array_memcpy(packet.payload, payload, sizeof(uint8_t)*251);
+    mav_array_assign_uint8_t(packet.payload, payload, 251);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_FILE_TRANSFER_PROTOCOL_LEN);
 #endif
 
@@ -221,7 +221,7 @@ static inline void mavlink_msg_file_transfer_protocol_send(mavlink_channel_t cha
     packet.target_network = target_network;
     packet.target_system = target_system;
     packet.target_component = target_component;
-    mav_array_memcpy(packet.payload, payload, sizeof(uint8_t)*251);
+    mav_array_assign_uint8_t(packet.payload, payload, 251);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_FILE_TRANSFER_PROTOCOL, (const char *)&packet, MAVLINK_MSG_ID_FILE_TRANSFER_PROTOCOL_MIN_LEN, MAVLINK_MSG_ID_FILE_TRANSFER_PROTOCOL_LEN, MAVLINK_MSG_ID_FILE_TRANSFER_PROTOCOL_CRC);
 #endif
 }
@@ -242,7 +242,7 @@ static inline void mavlink_msg_file_transfer_protocol_send_struct(mavlink_channe
 
 #if MAVLINK_MSG_ID_FILE_TRANSFER_PROTOCOL_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -262,7 +262,7 @@ static inline void mavlink_msg_file_transfer_protocol_send_buf(mavlink_message_t
     packet->target_network = target_network;
     packet->target_system = target_system;
     packet->target_component = target_component;
-    mav_array_memcpy(packet->payload, payload, sizeof(uint8_t)*251);
+    mav_array_assign_uint8_t(packet->payload, payload, 251);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_FILE_TRANSFER_PROTOCOL, (const char *)packet, MAVLINK_MSG_ID_FILE_TRANSFER_PROTOCOL_MIN_LEN, MAVLINK_MSG_ID_FILE_TRANSFER_PROTOCOL_LEN, MAVLINK_MSG_ID_FILE_TRANSFER_PROTOCOL_CRC);
 #endif
 }

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

@@ -265,7 +265,7 @@ static inline void mavlink_msg_flight_information_send_struct(mavlink_channel_t
 
 #if MAVLINK_MSG_ID_FLIGHT_INFORMATION_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 21 - 21
v2.0/common/mavlink_msg_follow_target.h

@@ -113,11 +113,11 @@ static inline uint16_t mavlink_msg_follow_target_pack(uint8_t system_id, uint8_t
     packet.lon = lon;
     packet.alt = alt;
     packet.est_capabilities = est_capabilities;
-    mav_array_memcpy(packet.vel, vel, sizeof(float)*3);
-    mav_array_memcpy(packet.acc, acc, sizeof(float)*3);
-    mav_array_memcpy(packet.attitude_q, attitude_q, sizeof(float)*4);
-    mav_array_memcpy(packet.rates, rates, sizeof(float)*3);
-    mav_array_memcpy(packet.position_cov, position_cov, sizeof(float)*3);
+    mav_array_assign_float(packet.vel, vel, 3);
+    mav_array_assign_float(packet.acc, acc, 3);
+    mav_array_assign_float(packet.attitude_q, attitude_q, 4);
+    mav_array_assign_float(packet.rates, rates, 3);
+    mav_array_assign_float(packet.position_cov, position_cov, 3);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_FOLLOW_TARGET_LEN);
 #endif
 
@@ -231,11 +231,11 @@ static inline uint16_t mavlink_msg_follow_target_pack_chan(uint8_t system_id, ui
     packet.lon = lon;
     packet.alt = alt;
     packet.est_capabilities = est_capabilities;
-    mav_array_memcpy(packet.vel, vel, sizeof(float)*3);
-    mav_array_memcpy(packet.acc, acc, sizeof(float)*3);
-    mav_array_memcpy(packet.attitude_q, attitude_q, sizeof(float)*4);
-    mav_array_memcpy(packet.rates, rates, sizeof(float)*3);
-    mav_array_memcpy(packet.position_cov, position_cov, sizeof(float)*3);
+    mav_array_assign_float(packet.vel, vel, 3);
+    mav_array_assign_float(packet.acc, acc, 3);
+    mav_array_assign_float(packet.attitude_q, attitude_q, 4);
+    mav_array_assign_float(packet.rates, rates, 3);
+    mav_array_assign_float(packet.position_cov, position_cov, 3);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_FOLLOW_TARGET_LEN);
 #endif
 
@@ -326,11 +326,11 @@ static inline void mavlink_msg_follow_target_send(mavlink_channel_t chan, uint64
     packet.lon = lon;
     packet.alt = alt;
     packet.est_capabilities = est_capabilities;
-    mav_array_memcpy(packet.vel, vel, sizeof(float)*3);
-    mav_array_memcpy(packet.acc, acc, sizeof(float)*3);
-    mav_array_memcpy(packet.attitude_q, attitude_q, sizeof(float)*4);
-    mav_array_memcpy(packet.rates, rates, sizeof(float)*3);
-    mav_array_memcpy(packet.position_cov, position_cov, sizeof(float)*3);
+    mav_array_assign_float(packet.vel, vel, 3);
+    mav_array_assign_float(packet.acc, acc, 3);
+    mav_array_assign_float(packet.attitude_q, attitude_q, 4);
+    mav_array_assign_float(packet.rates, rates, 3);
+    mav_array_assign_float(packet.position_cov, position_cov, 3);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_FOLLOW_TARGET, (const char *)&packet, MAVLINK_MSG_ID_FOLLOW_TARGET_MIN_LEN, MAVLINK_MSG_ID_FOLLOW_TARGET_LEN, MAVLINK_MSG_ID_FOLLOW_TARGET_CRC);
 #endif
 }
@@ -351,7 +351,7 @@ static inline void mavlink_msg_follow_target_send_struct(mavlink_channel_t chan,
 
 #if MAVLINK_MSG_ID_FOLLOW_TARGET_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -381,11 +381,11 @@ static inline void mavlink_msg_follow_target_send_buf(mavlink_message_t *msgbuf,
     packet->lon = lon;
     packet->alt = alt;
     packet->est_capabilities = est_capabilities;
-    mav_array_memcpy(packet->vel, vel, sizeof(float)*3);
-    mav_array_memcpy(packet->acc, acc, sizeof(float)*3);
-    mav_array_memcpy(packet->attitude_q, attitude_q, sizeof(float)*4);
-    mav_array_memcpy(packet->rates, rates, sizeof(float)*3);
-    mav_array_memcpy(packet->position_cov, position_cov, sizeof(float)*3);
+    mav_array_assign_float(packet->vel, vel, 3);
+    mav_array_assign_float(packet->acc, acc, 3);
+    mav_array_assign_float(packet->attitude_q, attitude_q, 4);
+    mav_array_assign_float(packet->rates, rates, 3);
+    mav_array_assign_float(packet->position_cov, position_cov, 3);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_FOLLOW_TARGET, (const char *)packet, MAVLINK_MSG_ID_FOLLOW_TARGET_MIN_LEN, MAVLINK_MSG_ID_FOLLOW_TARGET_LEN, MAVLINK_MSG_ID_FOLLOW_TARGET_CRC);
 #endif
 }

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

@@ -355,7 +355,7 @@ static inline void mavlink_msg_generator_status_send_struct(mavlink_channel_t ch
 
 #if MAVLINK_MSG_ID_GENERATOR_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 5 - 5
v2.0/common/mavlink_msg_gimbal_device_attitude_status.h

@@ -119,7 +119,7 @@ static inline uint16_t mavlink_msg_gimbal_device_attitude_status_pack(uint8_t sy
     packet.delta_yaw = delta_yaw;
     packet.delta_yaw_velocity = delta_yaw_velocity;
     packet.gimbal_device_id = gimbal_device_id;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_GIMBAL_DEVICE_ATTITUDE_STATUS_LEN);
 #endif
 
@@ -243,7 +243,7 @@ static inline uint16_t mavlink_msg_gimbal_device_attitude_status_pack_chan(uint8
     packet.delta_yaw = delta_yaw;
     packet.delta_yaw_velocity = delta_yaw_velocity;
     packet.gimbal_device_id = gimbal_device_id;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_GIMBAL_DEVICE_ATTITUDE_STATUS_LEN);
 #endif
 
@@ -341,7 +341,7 @@ static inline void mavlink_msg_gimbal_device_attitude_status_send(mavlink_channe
     packet.delta_yaw = delta_yaw;
     packet.delta_yaw_velocity = delta_yaw_velocity;
     packet.gimbal_device_id = gimbal_device_id;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GIMBAL_DEVICE_ATTITUDE_STATUS, (const char *)&packet, MAVLINK_MSG_ID_GIMBAL_DEVICE_ATTITUDE_STATUS_MIN_LEN, MAVLINK_MSG_ID_GIMBAL_DEVICE_ATTITUDE_STATUS_LEN, MAVLINK_MSG_ID_GIMBAL_DEVICE_ATTITUDE_STATUS_CRC);
 #endif
 }
@@ -362,7 +362,7 @@ static inline void mavlink_msg_gimbal_device_attitude_status_send_struct(mavlink
 
 #if MAVLINK_MSG_ID_GIMBAL_DEVICE_ATTITUDE_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -398,7 +398,7 @@ static inline void mavlink_msg_gimbal_device_attitude_status_send_buf(mavlink_me
     packet->delta_yaw = delta_yaw;
     packet->delta_yaw_velocity = delta_yaw_velocity;
     packet->gimbal_device_id = gimbal_device_id;
-    mav_array_memcpy(packet->q, q, sizeof(float)*4);
+    mav_array_assign_float(packet->q, q, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GIMBAL_DEVICE_ATTITUDE_STATUS, (const char *)packet, MAVLINK_MSG_ID_GIMBAL_DEVICE_ATTITUDE_STATUS_MIN_LEN, MAVLINK_MSG_ID_GIMBAL_DEVICE_ATTITUDE_STATUS_LEN, MAVLINK_MSG_ID_GIMBAL_DEVICE_ATTITUDE_STATUS_CRC);
 #endif
 }

+ 13 - 13
v2.0/common/mavlink_msg_gimbal_device_information.h

@@ -143,9 +143,9 @@ static inline uint16_t mavlink_msg_gimbal_device_information_pack(uint8_t system
     packet.cap_flags = cap_flags;
     packet.custom_cap_flags = custom_cap_flags;
     packet.gimbal_device_id = gimbal_device_id;
-    mav_array_memcpy(packet.vendor_name, vendor_name, sizeof(char)*32);
-    mav_array_memcpy(packet.model_name, model_name, sizeof(char)*32);
-    mav_array_memcpy(packet.custom_name, custom_name, sizeof(char)*32);
+    mav_array_assign_char(packet.vendor_name, vendor_name, 32);
+    mav_array_assign_char(packet.model_name, model_name, 32);
+    mav_array_assign_char(packet.custom_name, custom_name, 32);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_GIMBAL_DEVICE_INFORMATION_LEN);
 #endif
 
@@ -291,9 +291,9 @@ static inline uint16_t mavlink_msg_gimbal_device_information_pack_chan(uint8_t s
     packet.cap_flags = cap_flags;
     packet.custom_cap_flags = custom_cap_flags;
     packet.gimbal_device_id = gimbal_device_id;
-    mav_array_memcpy(packet.vendor_name, vendor_name, sizeof(char)*32);
-    mav_array_memcpy(packet.model_name, model_name, sizeof(char)*32);
-    mav_array_memcpy(packet.custom_name, custom_name, sizeof(char)*32);
+    mav_array_assign_char(packet.vendor_name, vendor_name, 32);
+    mav_array_assign_char(packet.model_name, model_name, 32);
+    mav_array_assign_char(packet.custom_name, custom_name, 32);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_GIMBAL_DEVICE_INFORMATION_LEN);
 #endif
 
@@ -401,9 +401,9 @@ static inline void mavlink_msg_gimbal_device_information_send(mavlink_channel_t
     packet.cap_flags = cap_flags;
     packet.custom_cap_flags = custom_cap_flags;
     packet.gimbal_device_id = gimbal_device_id;
-    mav_array_memcpy(packet.vendor_name, vendor_name, sizeof(char)*32);
-    mav_array_memcpy(packet.model_name, model_name, sizeof(char)*32);
-    mav_array_memcpy(packet.custom_name, custom_name, sizeof(char)*32);
+    mav_array_assign_char(packet.vendor_name, vendor_name, 32);
+    mav_array_assign_char(packet.model_name, model_name, 32);
+    mav_array_assign_char(packet.custom_name, custom_name, 32);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GIMBAL_DEVICE_INFORMATION, (const char *)&packet, MAVLINK_MSG_ID_GIMBAL_DEVICE_INFORMATION_MIN_LEN, MAVLINK_MSG_ID_GIMBAL_DEVICE_INFORMATION_LEN, MAVLINK_MSG_ID_GIMBAL_DEVICE_INFORMATION_CRC);
 #endif
 }
@@ -424,7 +424,7 @@ static inline void mavlink_msg_gimbal_device_information_send_struct(mavlink_cha
 
 #if MAVLINK_MSG_ID_GIMBAL_DEVICE_INFORMATION_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -466,9 +466,9 @@ static inline void mavlink_msg_gimbal_device_information_send_buf(mavlink_messag
     packet->cap_flags = cap_flags;
     packet->custom_cap_flags = custom_cap_flags;
     packet->gimbal_device_id = gimbal_device_id;
-    mav_array_memcpy(packet->vendor_name, vendor_name, sizeof(char)*32);
-    mav_array_memcpy(packet->model_name, model_name, sizeof(char)*32);
-    mav_array_memcpy(packet->custom_name, custom_name, sizeof(char)*32);
+    mav_array_assign_char(packet->vendor_name, vendor_name, 32);
+    mav_array_assign_char(packet->model_name, model_name, 32);
+    mav_array_assign_char(packet->custom_name, custom_name, 32);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GIMBAL_DEVICE_INFORMATION, (const char *)packet, MAVLINK_MSG_ID_GIMBAL_DEVICE_INFORMATION_MIN_LEN, MAVLINK_MSG_ID_GIMBAL_DEVICE_INFORMATION_LEN, MAVLINK_MSG_ID_GIMBAL_DEVICE_INFORMATION_CRC);
 #endif
 }

+ 5 - 5
v2.0/common/mavlink_msg_gimbal_device_set_attitude.h

@@ -89,7 +89,7 @@ static inline uint16_t mavlink_msg_gimbal_device_set_attitude_pack(uint8_t syste
     packet.flags = flags;
     packet.target_system = target_system;
     packet.target_component = target_component;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_GIMBAL_DEVICE_SET_ATTITUDE_LEN);
 #endif
 
@@ -183,7 +183,7 @@ static inline uint16_t mavlink_msg_gimbal_device_set_attitude_pack_chan(uint8_t
     packet.flags = flags;
     packet.target_system = target_system;
     packet.target_component = target_component;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_GIMBAL_DEVICE_SET_ATTITUDE_LEN);
 #endif
 
@@ -266,7 +266,7 @@ static inline void mavlink_msg_gimbal_device_set_attitude_send(mavlink_channel_t
     packet.flags = flags;
     packet.target_system = target_system;
     packet.target_component = target_component;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GIMBAL_DEVICE_SET_ATTITUDE, (const char *)&packet, MAVLINK_MSG_ID_GIMBAL_DEVICE_SET_ATTITUDE_MIN_LEN, MAVLINK_MSG_ID_GIMBAL_DEVICE_SET_ATTITUDE_LEN, MAVLINK_MSG_ID_GIMBAL_DEVICE_SET_ATTITUDE_CRC);
 #endif
 }
@@ -287,7 +287,7 @@ static inline void mavlink_msg_gimbal_device_set_attitude_send_struct(mavlink_ch
 
 #if MAVLINK_MSG_ID_GIMBAL_DEVICE_SET_ATTITUDE_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -313,7 +313,7 @@ static inline void mavlink_msg_gimbal_device_set_attitude_send_buf(mavlink_messa
     packet->flags = flags;
     packet->target_system = target_system;
     packet->target_component = target_component;
-    mav_array_memcpy(packet->q, q, sizeof(float)*4);
+    mav_array_assign_float(packet->q, q, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GIMBAL_DEVICE_SET_ATTITUDE, (const char *)packet, MAVLINK_MSG_ID_GIMBAL_DEVICE_SET_ATTITUDE_MIN_LEN, MAVLINK_MSG_ID_GIMBAL_DEVICE_SET_ATTITUDE_LEN, MAVLINK_MSG_ID_GIMBAL_DEVICE_SET_ATTITUDE_CRC);
 #endif
 }

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

@@ -325,7 +325,7 @@ static inline void mavlink_msg_gimbal_manager_information_send_struct(mavlink_ch
 
 #if MAVLINK_MSG_ID_GIMBAL_MANAGER_INFORMATION_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 5 - 5
v2.0/common/mavlink_msg_gimbal_manager_set_attitude.h

@@ -95,7 +95,7 @@ static inline uint16_t mavlink_msg_gimbal_manager_set_attitude_pack(uint8_t syst
     packet.target_system = target_system;
     packet.target_component = target_component;
     packet.gimbal_device_id = gimbal_device_id;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_GIMBAL_MANAGER_SET_ATTITUDE_LEN);
 #endif
 
@@ -195,7 +195,7 @@ static inline uint16_t mavlink_msg_gimbal_manager_set_attitude_pack_chan(uint8_t
     packet.target_system = target_system;
     packet.target_component = target_component;
     packet.gimbal_device_id = gimbal_device_id;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_GIMBAL_MANAGER_SET_ATTITUDE_LEN);
 #endif
 
@@ -281,7 +281,7 @@ static inline void mavlink_msg_gimbal_manager_set_attitude_send(mavlink_channel_
     packet.target_system = target_system;
     packet.target_component = target_component;
     packet.gimbal_device_id = gimbal_device_id;
-    mav_array_memcpy(packet.q, q, sizeof(float)*4);
+    mav_array_assign_float(packet.q, q, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GIMBAL_MANAGER_SET_ATTITUDE, (const char *)&packet, MAVLINK_MSG_ID_GIMBAL_MANAGER_SET_ATTITUDE_MIN_LEN, MAVLINK_MSG_ID_GIMBAL_MANAGER_SET_ATTITUDE_LEN, MAVLINK_MSG_ID_GIMBAL_MANAGER_SET_ATTITUDE_CRC);
 #endif
 }
@@ -302,7 +302,7 @@ static inline void mavlink_msg_gimbal_manager_set_attitude_send_struct(mavlink_c
 
 #if MAVLINK_MSG_ID_GIMBAL_MANAGER_SET_ATTITUDE_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -330,7 +330,7 @@ static inline void mavlink_msg_gimbal_manager_set_attitude_send_buf(mavlink_mess
     packet->target_system = target_system;
     packet->target_component = target_component;
     packet->gimbal_device_id = gimbal_device_id;
-    mav_array_memcpy(packet->q, q, sizeof(float)*4);
+    mav_array_assign_float(packet->q, q, 4);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GIMBAL_MANAGER_SET_ATTITUDE, (const char *)packet, MAVLINK_MSG_ID_GIMBAL_MANAGER_SET_ATTITUDE_MIN_LEN, MAVLINK_MSG_ID_GIMBAL_MANAGER_SET_ATTITUDE_LEN, MAVLINK_MSG_ID_GIMBAL_MANAGER_SET_ATTITUDE_CRC);
 #endif
 }

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

@@ -310,7 +310,7 @@ static inline void mavlink_msg_gimbal_manager_set_manual_control_send_struct(mav
 
 #if MAVLINK_MSG_ID_GIMBAL_MANAGER_SET_MANUAL_CONTROL_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -310,7 +310,7 @@ static inline void mavlink_msg_gimbal_manager_set_pitchyaw_send_struct(mavlink_c
 
 #if MAVLINK_MSG_ID_GIMBAL_MANAGER_SET_PITCHYAW_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -295,7 +295,7 @@ static inline void mavlink_msg_gimbal_manager_status_send_struct(mavlink_channel
 
 #if MAVLINK_MSG_ID_GIMBAL_MANAGER_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

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

@@ -325,7 +325,7 @@ static inline void mavlink_msg_global_position_int_send_struct(mavlink_channel_t
 
 #if MAVLINK_MSG_ID_GLOBAL_POSITION_INT_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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

+ 5 - 5
v2.0/common/mavlink_msg_global_position_int_cov.h

@@ -107,7 +107,7 @@ static inline uint16_t mavlink_msg_global_position_int_cov_pack(uint8_t system_i
     packet.vy = vy;
     packet.vz = vz;
     packet.estimator_type = estimator_type;
-    mav_array_memcpy(packet.covariance, covariance, sizeof(float)*36);
+    mav_array_assign_float(packet.covariance, covariance, 36);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_GLOBAL_POSITION_INT_COV_LEN);
 #endif
 
@@ -219,7 +219,7 @@ static inline uint16_t mavlink_msg_global_position_int_cov_pack_chan(uint8_t sys
     packet.vy = vy;
     packet.vz = vz;
     packet.estimator_type = estimator_type;
-    mav_array_memcpy(packet.covariance, covariance, sizeof(float)*36);
+    mav_array_assign_float(packet.covariance, covariance, 36);
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_GLOBAL_POSITION_INT_COV_LEN);
 #endif
 
@@ -311,7 +311,7 @@ static inline void mavlink_msg_global_position_int_cov_send(mavlink_channel_t ch
     packet.vy = vy;
     packet.vz = vz;
     packet.estimator_type = estimator_type;
-    mav_array_memcpy(packet.covariance, covariance, sizeof(float)*36);
+    mav_array_assign_float(packet.covariance, covariance, 36);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GLOBAL_POSITION_INT_COV, (const char *)&packet, MAVLINK_MSG_ID_GLOBAL_POSITION_INT_COV_MIN_LEN, MAVLINK_MSG_ID_GLOBAL_POSITION_INT_COV_LEN, MAVLINK_MSG_ID_GLOBAL_POSITION_INT_COV_CRC);
 #endif
 }
@@ -332,7 +332,7 @@ static inline void mavlink_msg_global_position_int_cov_send_struct(mavlink_chann
 
 #if MAVLINK_MSG_ID_GLOBAL_POSITION_INT_COV_LEN <= MAVLINK_MAX_PAYLOAD_LEN
 /*
-  This variant of _send() can be used to save stack space by re-using
+  This variant of _send() can be used to save stack space by reusing
   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
@@ -364,7 +364,7 @@ static inline void mavlink_msg_global_position_int_cov_send_buf(mavlink_message_
     packet->vy = vy;
     packet->vz = vz;
     packet->estimator_type = estimator_type;
-    mav_array_memcpy(packet->covariance, covariance, sizeof(float)*36);
+    mav_array_assign_float(packet->covariance, covariance, 36);
     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GLOBAL_POSITION_INT_COV, (const char *)packet, MAVLINK_MSG_ID_GLOBAL_POSITION_INT_COV_MIN_LEN, MAVLINK_MSG_ID_GLOBAL_POSITION_INT_COV_LEN, MAVLINK_MSG_ID_GLOBAL_POSITION_INT_COV_CRC);
 #endif
 }

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