2 * @brief MAVLink comm protocol generated from common.xml
3 * @see http://qgroundcontrol.org/mavlink/
12 // MESSAGE LENGTHS AND CRCS
14 #ifndef MAVLINK_MESSAGE_LENGTHS
15 #define MAVLINK_MESSAGE_LENGTHS { 9, 31, 12, 0, 14, 28, 3, 32, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 20, 2, 25, 23, 30, 101, 22, 26, 16, 14, 28, 32, 28, 28, 22, 22, 21, 6, 6, 37, 4, 4, 2, 2, 4, 2, 2, 3, 13, 12, 19, 17, 15, 15, 27, 25, 18, 18, 20, 20, 9, 34, 26, 46, 36, 0, 6, 4, 0, 21, 18, 0, 0, 0, 20, 0, 33, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 56, 42, 33, 0, 0, 0, 0, 0, 0, 0, 26, 32, 32, 20, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 30, 18, 18, 51, 9, 0 }
18 #ifndef MAVLINK_MESSAGE_CRCS
19 #define MAVLINK_MESSAGE_CRCS { 50, 124, 137, 0, 237, 217, 104, 119, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 214, 159, 220, 168, 24, 23, 170, 144, 67, 115, 39, 246, 185, 104, 237, 244, 222, 212, 9, 254, 230, 28, 28, 132, 221, 232, 11, 153, 41, 39, 214, 223, 141, 33, 15, 3, 100, 24, 239, 238, 30, 240, 183, 130, 130, 0, 148, 21, 0, 52, 124, 0, 0, 0, 20, 0, 152, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 183, 63, 54, 0, 0, 0, 0, 0, 0, 0, 175, 102, 158, 208, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 49, 170, 44, 83, 46, 0 }
22 #ifndef MAVLINK_MESSAGE_INFO
23 #define MAVLINK_MESSAGE_INFO \
24 { MAVLINK_MESSAGE_INFO_HEARTBEAT, MAVLINK_MESSAGE_INFO_SYS_STATUS, MAVLINK_MESSAGE_INFO_SYSTEM_TIME, { "EMPTY", 0, { \
25 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
27 }, MAVLINK_MESSAGE_INFO_PING, MAVLINK_MESSAGE_INFO_CHANGE_OPERATOR_CONTROL, MAVLINK_MESSAGE_INFO_CHANGE_OPERATOR_CONTROL_ACK, MAVLINK_MESSAGE_INFO_AUTH_KEY, { "EMPTY", 0, { \
28 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
31 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
34 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
36 }, MAVLINK_MESSAGE_INFO_SET_MODE, { "EMPTY", 0, { \
37 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
40 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
43 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
46 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
49 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
52 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
55 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
58 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
60 }, MAVLINK_MESSAGE_INFO_PARAM_REQUEST_READ, MAVLINK_MESSAGE_INFO_PARAM_REQUEST_LIST, MAVLINK_MESSAGE_INFO_PARAM_VALUE, MAVLINK_MESSAGE_INFO_PARAM_SET, MAVLINK_MESSAGE_INFO_GPS_RAW_INT, MAVLINK_MESSAGE_INFO_GPS_STATUS, MAVLINK_MESSAGE_INFO_SCALED_IMU, MAVLINK_MESSAGE_INFO_RAW_IMU, MAVLINK_MESSAGE_INFO_RAW_PRESSURE, MAVLINK_MESSAGE_INFO_SCALED_PRESSURE, MAVLINK_MESSAGE_INFO_ATTITUDE, MAVLINK_MESSAGE_INFO_ATTITUDE_QUATERNION, MAVLINK_MESSAGE_INFO_LOCAL_POSITION_NED, MAVLINK_MESSAGE_INFO_GLOBAL_POSITION_INT, MAVLINK_MESSAGE_INFO_RC_CHANNELS_SCALED, MAVLINK_MESSAGE_INFO_RC_CHANNELS_RAW, MAVLINK_MESSAGE_INFO_SERVO_OUTPUT_RAW, MAVLINK_MESSAGE_INFO_MISSION_REQUEST_PARTIAL_LIST, MAVLINK_MESSAGE_INFO_MISSION_WRITE_PARTIAL_LIST, MAVLINK_MESSAGE_INFO_MISSION_ITEM, MAVLINK_MESSAGE_INFO_MISSION_REQUEST, MAVLINK_MESSAGE_INFO_MISSION_SET_CURRENT, MAVLINK_MESSAGE_INFO_MISSION_CURRENT, MAVLINK_MESSAGE_INFO_MISSION_REQUEST_LIST, MAVLINK_MESSAGE_INFO_MISSION_COUNT, MAVLINK_MESSAGE_INFO_MISSION_CLEAR_ALL, MAVLINK_MESSAGE_INFO_MISSION_ITEM_REACHED, MAVLINK_MESSAGE_INFO_MISSION_ACK, MAVLINK_MESSAGE_INFO_SET_GPS_GLOBAL_ORIGIN, MAVLINK_MESSAGE_INFO_GPS_GLOBAL_ORIGIN, MAVLINK_MESSAGE_INFO_SET_LOCAL_POSITION_SETPOINT, MAVLINK_MESSAGE_INFO_LOCAL_POSITION_SETPOINT, MAVLINK_MESSAGE_INFO_GLOBAL_POSITION_SETPOINT_INT, MAVLINK_MESSAGE_INFO_SET_GLOBAL_POSITION_SETPOINT_INT, MAVLINK_MESSAGE_INFO_SAFETY_SET_ALLOWED_AREA, MAVLINK_MESSAGE_INFO_SAFETY_ALLOWED_AREA, MAVLINK_MESSAGE_INFO_SET_ROLL_PITCH_YAW_THRUST, MAVLINK_MESSAGE_INFO_SET_ROLL_PITCH_YAW_SPEED_THRUST, MAVLINK_MESSAGE_INFO_ROLL_PITCH_YAW_THRUST_SETPOINT, MAVLINK_MESSAGE_INFO_ROLL_PITCH_YAW_SPEED_THRUST_SETPOINT, MAVLINK_MESSAGE_INFO_SET_QUAD_MOTORS_SETPOINT, MAVLINK_MESSAGE_INFO_SET_QUAD_SWARM_ROLL_PITCH_YAW_THRUST, MAVLINK_MESSAGE_INFO_NAV_CONTROLLER_OUTPUT, MAVLINK_MESSAGE_INFO_SET_QUAD_SWARM_LED_ROLL_PITCH_YAW_THRUST, MAVLINK_MESSAGE_INFO_STATE_CORRECTION, { "EMPTY", 0, { \
61 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
63 }, MAVLINK_MESSAGE_INFO_REQUEST_DATA_STREAM, MAVLINK_MESSAGE_INFO_DATA_STREAM, { "EMPTY", 0, { \
64 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
66 }, MAVLINK_MESSAGE_INFO_MANUAL_CONTROL, MAVLINK_MESSAGE_INFO_RC_CHANNELS_OVERRIDE, { "EMPTY", 0, { \
67 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
70 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
73 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
75 }, MAVLINK_MESSAGE_INFO_VFR_HUD, { "EMPTY", 0, { \
76 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
78 }, MAVLINK_MESSAGE_INFO_COMMAND_LONG, MAVLINK_MESSAGE_INFO_COMMAND_ACK, { "EMPTY", 0, { \
79 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
82 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
85 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
88 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
91 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
94 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
97 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
100 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
103 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
106 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
109 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
111 }, MAVLINK_MESSAGE_INFO_LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET, MAVLINK_MESSAGE_INFO_HIL_STATE, MAVLINK_MESSAGE_INFO_HIL_CONTROLS, MAVLINK_MESSAGE_INFO_HIL_RC_INPUTS_RAW, { "EMPTY", 0, { \
112 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
115 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
118 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
121 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
124 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
127 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
130 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
132 }, MAVLINK_MESSAGE_INFO_OPTICAL_FLOW, MAVLINK_MESSAGE_INFO_GLOBAL_VISION_POSITION_ESTIMATE, MAVLINK_MESSAGE_INFO_VISION_POSITION_ESTIMATE, MAVLINK_MESSAGE_INFO_VISION_SPEED_ESTIMATE, MAVLINK_MESSAGE_INFO_VICON_POSITION_ESTIMATE, { "EMPTY", 0, { \
133 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
136 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
139 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
142 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
145 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
148 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
151 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
154 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
157 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
160 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
163 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
166 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
169 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
172 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
175 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
178 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
181 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
184 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
187 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
190 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
193 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
196 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
199 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
202 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
205 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
208 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
211 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
214 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
217 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
220 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
223 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
226 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
229 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
232 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
235 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
238 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
241 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
244 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
247 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
250 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
253 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
256 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
259 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
262 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
265 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
268 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
271 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
274 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
277 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
280 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
283 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
286 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
289 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
292 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
295 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
298 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
301 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
304 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
307 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
310 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
313 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
316 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
319 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
322 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
325 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
328 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
331 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
334 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
337 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
340 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
343 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
346 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
349 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
352 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
355 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
358 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
361 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
364 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
367 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
370 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
373 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
376 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
379 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
382 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
385 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
388 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
391 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
394 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
397 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
400 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
403 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
406 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
409 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
412 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
415 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
418 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
421 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
424 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
427 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
430 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
433 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
436 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
439 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
442 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
445 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
448 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
451 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
454 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
457 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
460 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
463 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
466 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
469 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
472 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
475 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
478 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
481 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
484 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
487 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
490 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
493 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
496 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
499 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
502 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
505 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
508 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
511 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
514 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
517 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
520 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
523 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
526 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
529 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
532 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
535 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
538 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
541 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
544 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
547 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
550 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
553 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
556 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
559 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
562 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
564 }, MAVLINK_MESSAGE_INFO_MEMORY_VECT, MAVLINK_MESSAGE_INFO_DEBUG_VECT, MAVLINK_MESSAGE_INFO_NAMED_VALUE_FLOAT, MAVLINK_MESSAGE_INFO_NAMED_VALUE_INT, MAVLINK_MESSAGE_INFO_STATUSTEXT, MAVLINK_MESSAGE_INFO_DEBUG, { "EMPTY", 0, { \
565 { "", "", MAVLINK_TYPE_CHAR, 0, 0, 0 } \
569 #endif // ifndef MAVLINK_MESSAGE_INFO
571 #include "../protocol.h"
573 #define MAVLINK_ENABLED_COMMON
578 /** @brief Micro air vehicle / autopilot classes. This identifies the individual model. */
579 #ifndef HAVE_ENUM_MAV_AUTOPILOT
580 #define HAVE_ENUM_MAV_AUTOPILOT
582 MAV_AUTOPILOT_GENERIC
= 0, /* Generic autopilot, full support for everything | */
583 MAV_AUTOPILOT_PIXHAWK
= 1, /* PIXHAWK autopilot, http://pixhawk.ethz.ch | */
584 MAV_AUTOPILOT_SLUGS
= 2, /* SLUGS autopilot, http://slugsuav.soe.ucsc.edu | */
585 MAV_AUTOPILOT_ARDUPILOTMEGA
= 3, /* ArduPilotMega / ArduCopter, http://diydrones.com | */
586 MAV_AUTOPILOT_OPENPILOT
= 4, /* OpenPilot, http://openpilot.org | */
587 MAV_AUTOPILOT_GENERIC_WAYPOINTS_ONLY
= 5, /* Generic autopilot only supporting simple waypoints | */
588 MAV_AUTOPILOT_GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY
= 6, /* Generic autopilot supporting waypoints and other simple navigation commands | */
589 MAV_AUTOPILOT_GENERIC_MISSION_FULL
= 7, /* Generic autopilot supporting the full mission command set | */
590 MAV_AUTOPILOT_INVALID
= 8, /* No valid autopilot, e.g. a GCS or other MAVLink component | */
591 MAV_AUTOPILOT_PPZ
= 9, /* PPZ UAV - http://nongnu.org/paparazzi | */
592 MAV_AUTOPILOT_UDB
= 10, /* UAV Dev Board | */
593 MAV_AUTOPILOT_FP
= 11, /* FlexiPilot | */
594 MAV_AUTOPILOT_PX4
= 12, /* PX4 Autopilot - http://pixhawk.ethz.ch/px4/ | */
595 MAV_AUTOPILOT_ENUM_END
= 13, /* | */
600 #ifndef HAVE_ENUM_MAV_TYPE
601 #define HAVE_ENUM_MAV_TYPE
603 MAV_TYPE_GENERIC
= 0, /* Generic micro air vehicle. | */
604 MAV_TYPE_FIXED_WING
= 1, /* Fixed wing aircraft. | */
605 MAV_TYPE_QUADROTOR
= 2, /* Quadrotor | */
606 MAV_TYPE_COAXIAL
= 3, /* Coaxial helicopter | */
607 MAV_TYPE_HELICOPTER
= 4, /* Normal helicopter with tail rotor. | */
608 MAV_TYPE_ANTENNA_TRACKER
= 5, /* Ground installation | */
609 MAV_TYPE_GCS
= 6, /* Operator control unit / ground control station | */
610 MAV_TYPE_AIRSHIP
= 7, /* Airship, controlled | */
611 MAV_TYPE_FREE_BALLOON
= 8, /* Free balloon, uncontrolled | */
612 MAV_TYPE_ROCKET
= 9, /* Rocket | */
613 MAV_TYPE_GROUND_ROVER
= 10, /* Ground rover | */
614 MAV_TYPE_SURFACE_BOAT
= 11, /* Surface vessel, boat, ship | */
615 MAV_TYPE_SUBMARINE
= 12, /* Submarine | */
616 MAV_TYPE_HEXAROTOR
= 13, /* Hexarotor | */
617 MAV_TYPE_OCTOROTOR
= 14, /* Octorotor | */
618 MAV_TYPE_TRICOPTER
= 15, /* Octorotor | */
619 MAV_TYPE_FLAPPING_WING
= 16, /* Flapping wing | */
620 MAV_TYPE_KITE
= 17, /* Flapping wing | */
621 MAV_TYPE_ENUM_END
= 18, /* | */
623 #endif // ifndef HAVE_ENUM_MAV_TYPE
625 /** @brief These flags encode the MAV mode. */
626 #ifndef HAVE_ENUM_MAV_MODE_FLAG
627 #define HAVE_ENUM_MAV_MODE_FLAG
629 MAV_MODE_FLAG_CUSTOM_MODE_ENABLED
= 1, /* 0b00000001 Reserved for future use. | */
630 MAV_MODE_FLAG_TEST_ENABLED
= 2, /* 0b00000010 system has a test mode enabled. This flag is intended for temporary system tests and should not be used for stable implementations. | */
631 MAV_MODE_FLAG_AUTO_ENABLED
= 4, /* 0b00000100 autonomous mode enabled, system finds its own goal positions. Guided flag can be set or not, depends on the actual implementation. | */
632 MAV_MODE_FLAG_GUIDED_ENABLED
= 8, /* 0b00001000 guided mode enabled, system flies MISSIONs / mission items. | */
633 MAV_MODE_FLAG_STABILIZE_ENABLED
= 16, /* 0b00010000 system stabilizes electronically its attitude (and optionally position). It needs however further control inputs to move around. | */
634 MAV_MODE_FLAG_HIL_ENABLED
= 32, /* 0b00100000 hardware in the loop simulation. All motors / actuators are blocked, but internal software is full operational. | */
635 MAV_MODE_FLAG_MANUAL_INPUT_ENABLED
= 64, /* 0b01000000 remote control input is enabled. | */
636 MAV_MODE_FLAG_SAFETY_ARMED
= 128, /* 0b10000000 MAV safety set to armed. Motors are enabled / running / can start. Ready to fly. | */
637 MAV_MODE_FLAG_ENUM_END
= 129, /* | */
641 /** @brief These values encode the bit positions of the decode position. These values can be used to read the value of a flag bit by combining the base_mode variable with AND with the flag position value. The result will be either 0 or 1, depending on if the flag is set or not. */
642 #ifndef HAVE_ENUM_MAV_MODE_FLAG_DECODE_POSITION
643 #define HAVE_ENUM_MAV_MODE_FLAG_DECODE_POSITION
644 enum MAV_MODE_FLAG_DECODE_POSITION
{
645 MAV_MODE_FLAG_DECODE_POSITION_CUSTOM_MODE
= 1, /* Eighth bit: 00000001 | */
646 MAV_MODE_FLAG_DECODE_POSITION_TEST
= 2, /* Seventh bit: 00000010 | */
647 MAV_MODE_FLAG_DECODE_POSITION_AUTO
= 4, /* Sixt bit: 00000100 | */
648 MAV_MODE_FLAG_DECODE_POSITION_GUIDED
= 8, /* Fifth bit: 00001000 | */
649 MAV_MODE_FLAG_DECODE_POSITION_STABILIZE
= 16, /* Fourth bit: 00010000 | */
650 MAV_MODE_FLAG_DECODE_POSITION_HIL
= 32, /* Third bit: 00100000 | */
651 MAV_MODE_FLAG_DECODE_POSITION_MANUAL
= 64, /* Second bit: 01000000 | */
652 MAV_MODE_FLAG_DECODE_POSITION_SAFETY
= 128, /* First bit: 10000000 | */
653 MAV_MODE_FLAG_DECODE_POSITION_ENUM_END
= 129, /* | */
657 /** @brief Override command, pauses current mission execution and moves immediately to a position */
658 #ifndef HAVE_ENUM_MAV_GOTO
659 #define HAVE_ENUM_MAV_GOTO
661 MAV_GOTO_DO_HOLD
= 0, /* Hold at the current position. | */
662 MAV_GOTO_DO_CONTINUE
= 1, /* Continue with the next item in mission execution. | */
663 MAV_GOTO_HOLD_AT_CURRENT_POSITION
= 2, /* Hold at the current position of the system | */
664 MAV_GOTO_HOLD_AT_SPECIFIED_POSITION
= 3, /* Hold at the position specified in the parameters of the DO_HOLD action | */
665 MAV_GOTO_ENUM_END
= 4, /* | */
669 /** @brief These defines are predefined OR-combined mode flags. There is no need to use values from this enum, but it
670 simplifies the use of the mode flags. Note that manual input is enabled in all modes as a safety override. */
671 #ifndef HAVE_ENUM_MAV_MODE
672 #define HAVE_ENUM_MAV_MODE
674 MAV_MODE_PREFLIGHT
= 0, /* System is not ready to fly, booting, calibrating, etc. No flag is set. | */
675 MAV_MODE_MANUAL_DISARMED
= 64, /* System is allowed to be active, under manual (RC) control, no stabilization | */
676 MAV_MODE_TEST_DISARMED
= 66, /* UNDEFINED mode. This solely depends on the autopilot - use with caution, intended for developers only. | */
677 MAV_MODE_STABILIZE_DISARMED
= 80, /* System is allowed to be active, under assisted RC control. | */
678 MAV_MODE_GUIDED_DISARMED
= 88, /* System is allowed to be active, under autonomous control, manual setpoint | */
679 MAV_MODE_AUTO_DISARMED
= 92, /* System is allowed to be active, under autonomous control and navigation (the trajectory is decided onboard and not pre-programmed by MISSIONs) | */
680 MAV_MODE_MANUAL_ARMED
= 192, /* System is allowed to be active, under manual (RC) control, no stabilization | */
681 MAV_MODE_TEST_ARMED
= 194, /* UNDEFINED mode. This solely depends on the autopilot - use with caution, intended for developers only. | */
682 MAV_MODE_STABILIZE_ARMED
= 208, /* System is allowed to be active, under assisted RC control. | */
683 MAV_MODE_GUIDED_ARMED
= 216, /* System is allowed to be active, under autonomous control, manual setpoint | */
684 MAV_MODE_AUTO_ARMED
= 220, /* System is allowed to be active, under autonomous control and navigation (the trajectory is decided onboard and not pre-programmed by MISSIONs) | */
685 MAV_MODE_ENUM_END
= 221, /* | */
690 #ifndef HAVE_ENUM_MAV_STATE
691 #define HAVE_ENUM_MAV_STATE
693 MAV_STATE_UNINIT
= 0, /* Uninitialized system, state is unknown. | */
694 MAV_STATE_BOOT
= 1, /* System is booting up. | */
695 MAV_STATE_CALIBRATING
= 2, /* System is calibrating and not flight-ready. | */
696 MAV_STATE_STANDBY
= 3, /* System is grounded and on standby. It can be launched any time. | */
697 MAV_STATE_ACTIVE
= 4, /* System is active and might be already airborne. Motors are engaged. | */
698 MAV_STATE_CRITICAL
= 5, /* System is in a non-normal flight mode. It can however still navigate. | */
699 MAV_STATE_EMERGENCY
= 6, /* System is in a non-normal flight mode. It lost control over parts or over the whole airframe. It is in mayday and going down. | */
700 MAV_STATE_POWEROFF
= 7, /* System just initialized its power-down sequence, will shut down now. | */
701 MAV_STATE_ENUM_END
= 8, /* | */
706 #ifndef HAVE_ENUM_MAV_COMPONENT
707 #define HAVE_ENUM_MAV_COMPONENT
709 MAV_COMP_ID_ALL
= 0, /* | */
710 MAV_COMP_ID_CAMERA
= 100, /* | */
711 MAV_COMP_ID_SERVO1
= 140, /* | */
712 MAV_COMP_ID_SERVO2
= 141, /* | */
713 MAV_COMP_ID_SERVO3
= 142, /* | */
714 MAV_COMP_ID_SERVO4
= 143, /* | */
715 MAV_COMP_ID_SERVO5
= 144, /* | */
716 MAV_COMP_ID_SERVO6
= 145, /* | */
717 MAV_COMP_ID_SERVO7
= 146, /* | */
718 MAV_COMP_ID_SERVO8
= 147, /* | */
719 MAV_COMP_ID_SERVO9
= 148, /* | */
720 MAV_COMP_ID_SERVO10
= 149, /* | */
721 MAV_COMP_ID_SERVO11
= 150, /* | */
722 MAV_COMP_ID_SERVO12
= 151, /* | */
723 MAV_COMP_ID_SERVO13
= 152, /* | */
724 MAV_COMP_ID_SERVO14
= 153, /* | */
725 MAV_COMP_ID_MAPPER
= 180, /* | */
726 MAV_COMP_ID_MISSIONPLANNER
= 190, /* | */
727 MAV_COMP_ID_PATHPLANNER
= 195, /* | */
728 MAV_COMP_ID_IMU
= 200, /* | */
729 MAV_COMP_ID_IMU_2
= 201, /* | */
730 MAV_COMP_ID_IMU_3
= 202, /* | */
731 MAV_COMP_ID_GPS
= 220, /* | */
732 MAV_COMP_ID_UDP_BRIDGE
= 240, /* | */
733 MAV_COMP_ID_UART_BRIDGE
= 241, /* | */
734 MAV_COMP_ID_SYSTEM_CONTROL
= 250, /* | */
735 MAV_COMPONENT_ENUM_END
= 251, /* | */
737 #endif // ifndef HAVE_ENUM_MAV_COMPONENT
740 #ifndef HAVE_ENUM_MAV_FRAME
741 #define HAVE_ENUM_MAV_FRAME
743 MAV_FRAME_GLOBAL
= 0, /* Global coordinate frame, WGS84 coordinate system. First value / x: latitude, second value / y: longitude, third value / z: positive altitude over mean sea level (MSL) | */
744 MAV_FRAME_LOCAL_NED
= 1, /* Local coordinate frame, Z-up (x: north, y: east, z: down). | */
745 MAV_FRAME_MISSION
= 2, /* NOT a coordinate frame, indicates a mission command. | */
746 MAV_FRAME_GLOBAL_RELATIVE_ALT
= 3, /* Global coordinate frame, WGS84 coordinate system, relative altitude over ground with respect to the home position. First value / x: latitude, second value / y: longitude, third value / z: positive altitude with 0 being at the altitude of the home location. | */
747 MAV_FRAME_LOCAL_ENU
= 4, /* Local coordinate frame, Z-down (x: east, y: north, z: up) | */
748 MAV_FRAME_ENUM_END
= 5, /* | */
753 #ifndef HAVE_ENUM_MAVLINK_DATA_STREAM_TYPE
754 #define HAVE_ENUM_MAVLINK_DATA_STREAM_TYPE
755 enum MAVLINK_DATA_STREAM_TYPE
{
756 MAVLINK_DATA_STREAM_IMG_JPEG
= 1, /* | */
757 MAVLINK_DATA_STREAM_IMG_BMP
= 2, /* | */
758 MAVLINK_DATA_STREAM_IMG_RAW8U
= 3, /* | */
759 MAVLINK_DATA_STREAM_IMG_RAW32U
= 4, /* | */
760 MAVLINK_DATA_STREAM_IMG_PGM
= 5, /* | */
761 MAVLINK_DATA_STREAM_IMG_PNG
= 6, /* | */
762 MAVLINK_DATA_STREAM_TYPE_ENUM_END
= 7, /* | */
766 /** @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. */
767 #ifndef HAVE_ENUM_MAV_CMD
768 #define HAVE_ENUM_MAV_CMD
770 MAV_CMD_NAV_WAYPOINT
= 16, /* Navigate to MISSION. |Hold time in decimal seconds. (ignored by fixed wing, time to stay at MISSION for rotary wing)| Acceptance radius in meters (if the sphere with this radius is hit, the MISSION counts as reached)| 0 to pass through the WP, if > 0 radius in meters to pass by WP. Positive value for clockwise orbit, negative value for counter-clockwise orbit. Allows trajectory control.| Desired yaw angle at MISSION (rotary wing)| Latitude| Longitude| Altitude| */
771 MAV_CMD_NAV_LOITER_UNLIM
= 17, /* Loiter around this MISSION an unlimited amount of time |Empty| Empty| Radius around MISSION, in meters. If positive loiter clockwise, else counter-clockwise| Desired yaw angle.| Latitude| Longitude| Altitude| */
772 MAV_CMD_NAV_LOITER_TURNS
= 18, /* Loiter around this MISSION for X turns |Turns| Empty| Radius around MISSION, in meters. If positive loiter clockwise, else counter-clockwise| Desired yaw angle.| Latitude| Longitude| Altitude| */
773 MAV_CMD_NAV_LOITER_TIME
= 19, /* Loiter around this MISSION for X seconds |Seconds (decimal)| Empty| Radius around MISSION, in meters. If positive loiter clockwise, else counter-clockwise| Desired yaw angle.| Latitude| Longitude| Altitude| */
774 MAV_CMD_NAV_RETURN_TO_LAUNCH
= 20, /* Return to launch location |Empty| Empty| Empty| Empty| Empty| Empty| Empty| */
775 MAV_CMD_NAV_LAND
= 21, /* Land at location |Empty| Empty| Empty| Desired yaw angle.| Latitude| Longitude| Altitude| */
776 MAV_CMD_NAV_TAKEOFF
= 22, /* Takeoff from ground / hand |Minimum pitch (if airspeed sensor present), desired pitch without sensor| Empty| Empty| Yaw angle (if magnetometer present), ignored without magnetometer| Latitude| Longitude| Altitude| */
777 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 vehicles control system to control the vehicle attitude and the attitude of various sensors such as cameras. |Region of intereset mode. (see MAV_ROI enum)| MISSION 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| */
778 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, in compass degrees, [0..360]| Latitude/X of goal| Longitude/Y of goal| Altitude/Z of goal| */
779 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| */
780 MAV_CMD_CONDITION_DELAY
= 112, /* Delay mission state machine. |Delay in seconds (decimal)| Empty| Empty| Empty| Empty| Empty| Empty| */
781 MAV_CMD_CONDITION_CHANGE_ALT
= 113, /* Ascend/descend at rate. Delay mission state machine until desired altitude reached. |Descent / Ascend rate (m/s)| Empty| Empty| Empty| Empty| Empty| Finish Altitude| */
782 MAV_CMD_CONDITION_DISTANCE
= 114, /* Delay mission state machine until within desired distance of next NAV point. |Distance (meters)| Empty| Empty| Empty| Empty| Empty| Empty| */
783 MAV_CMD_CONDITION_YAW
= 115, /* Reach a certain target angle. |target angle: [0-360], 0 is north| speed during yaw change:[deg per second]| direction: negative: counter clockwise, positive: clockwise [-1,1]| relative offset or absolute angle: [ 1,0]| Empty| Empty| Empty| */
784 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| */
785 MAV_CMD_DO_SET_MODE
= 176, /* Set system mode. |Mode, as defined by ENUM MAV_MODE| Empty| Empty| Empty| Empty| Empty| Empty| */
786 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| */
787 MAV_CMD_DO_CHANGE_SPEED
= 178, /* Change speed and/or throttle set points. |Speed type (0=Airspeed, 1=Ground Speed)| Speed (m/s, -1 indicates no change)| Throttle ( Percent, -1 indicates no change)| Empty| Empty| Empty| Empty| */
788 MAV_CMD_DO_SET_HOME
= 179, /* Changes the home location either to the current location or a specified location. |Use current (1=use current location, 0=use specified location)| Empty| Empty| Empty| Latitude| Longitude| Altitude| */
789 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| */
790 MAV_CMD_DO_SET_RELAY
= 181, /* Set a relay to a condition. |Relay number| Setting (1=on, 0=off, others possible depending on system hardware)| Empty| Empty| Empty| Empty| Empty| */
791 MAV_CMD_DO_REPEAT_RELAY
= 182, /* Cycle a relay on and off for a desired number of cyles with a desired period. |Relay number| Cycle count| Cycle time (seconds, decimal)| Empty| Empty| Empty| Empty| */
792 MAV_CMD_DO_SET_SERVO
= 183, /* Set a servo to a desired PWM value. |Servo number| PWM (microseconds, 1000 to 2000 typical)| Empty| Empty| Empty| Empty| Empty| */
793 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 number| PWM (microseconds, 1000 to 2000 typical)| Cycle count| Cycle time (seconds)| Empty| Empty| Empty| */
794 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 (decimal)| Recording: 0: disabled, 1: enabled compressed, 2: enabled raw| Empty| Empty| Empty| */
795 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| */
796 MAV_CMD_PREFLIGHT_CALIBRATION
= 241, /* Trigger calibration. This command will be only accepted if in pre-flight mode. |Gyro calibration: 0: no, 1: yes| Magnetometer calibration: 0: no, 1: yes| Ground pressure: 0: no, 1: yes| Radio calibration: 0: no, 1: yes| Empty| Empty| Empty| */
797 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| 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| */
798 MAV_CMD_PREFLIGHT_STORAGE
= 245, /* Request storage of different parameter values and logs. This command will be only accepted if in pre-flight mode. |Parameter storage: 0: READ FROM FLASH/EEPROM, 1: WRITE CURRENT TO FLASH/EEPROM| Mission storage: 0: READ FROM FLASH/EEPROM, 1: WRITE CURRENT TO FLASH/EEPROM| Reserved| Reserved| Empty| Empty| Empty| */
799 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.| 0: Do nothing for onboard computer, 1: Reboot onboard computer, 2: Shutdown onboard computer.| Reserved| Reserved| Empty| Empty| Empty| */
800 MAV_CMD_OVERRIDE_GOTO
= 252, /* Hold / continue the current action |MAV_GOTO_DO_HOLD: hold MAV_GOTO_DO_CONTINUE: continue with next item in mission plan| MAV_GOTO_HOLD_AT_CURRENT_POSITION: Hold at current position MAV_GOTO_HOLD_AT_SPECIFIED_POSITION: hold at specified position| MAV_FRAME coordinate frame of hold point| Desired yaw angle in degrees| Latitude / X position| Longitude / Y position| Altitude / Z position| */
801 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)| */
802 MAV_CMD_COMPONENT_ARM_DISARM
= 400, /* Arms / Disarms a component |1 to arm, 0 to disarm| */
803 MAV_CMD_ENUM_END
= 401, /* | */
805 #endif // ifndef HAVE_ENUM_MAV_CMD
807 /** @brief Data stream IDs. A data stream is not a fixed set of messages, but rather a
808 recommendation to the autopilot software. Individual autopilots may or may not obey
809 the recommended messages. */
810 #ifndef HAVE_ENUM_MAV_DATA_STREAM
811 #define HAVE_ENUM_MAV_DATA_STREAM
812 enum MAV_DATA_STREAM
{
813 MAV_DATA_STREAM_ALL
= 0, /* Enable all data streams | */
814 MAV_DATA_STREAM_RAW_SENSORS
= 1, /* Enable IMU_RAW, GPS_RAW, GPS_STATUS packets. | */
815 MAV_DATA_STREAM_EXTENDED_STATUS
= 2, /* Enable GPS_STATUS, CONTROL_STATUS, AUX_STATUS | */
816 MAV_DATA_STREAM_RC_CHANNELS
= 3, /* Enable RC_CHANNELS_SCALED, RC_CHANNELS_RAW, SERVO_OUTPUT_RAW | */
817 MAV_DATA_STREAM_RAW_CONTROLLER
= 4, /* Enable ATTITUDE_CONTROLLER_OUTPUT, POSITION_CONTROLLER_OUTPUT, NAV_CONTROLLER_OUTPUT. | */
818 MAV_DATA_STREAM_POSITION
= 6, /* Enable LOCAL_POSITION, GLOBAL_POSITION/GLOBAL_POSITION_INT messages. | */
819 MAV_DATA_STREAM_EXTRA1
= 10, /* Dependent on the autopilot | */
820 MAV_DATA_STREAM_EXTRA2
= 11, /* Dependent on the autopilot | */
821 MAV_DATA_STREAM_EXTRA3
= 12, /* Dependent on the autopilot | */
822 MAV_DATA_STREAM_ENUM_END
= 13, /* | */
826 /** @brief The ROI (region of interest) for the vehicle. This can be
827 be used by the vehicle for camera/vehicle attitude alignment (see
829 #ifndef HAVE_ENUM_MAV_ROI
830 #define HAVE_ENUM_MAV_ROI
832 MAV_ROI_NONE
= 0, /* No region of interest. | */
833 MAV_ROI_WPNEXT
= 1, /* Point toward next MISSION. | */
834 MAV_ROI_WPINDEX
= 2, /* Point toward given MISSION. | */
835 MAV_ROI_LOCATION
= 3, /* Point toward fixed location. | */
836 MAV_ROI_TARGET
= 4, /* Point toward of given id. | */
837 MAV_ROI_ENUM_END
= 5, /* | */
841 /** @brief ACK / NACK / ERROR values as a result of MAV_CMDs and for mission item transmission. */
842 #ifndef HAVE_ENUM_MAV_CMD_ACK
843 #define HAVE_ENUM_MAV_CMD_ACK
845 MAV_CMD_ACK_OK
= 1, /* Command / mission item is ok. | */
846 MAV_CMD_ACK_ERR_FAIL
= 2, /* Generic error message if none of the other reasons fails or if no detailed error reporting is implemented. | */
847 MAV_CMD_ACK_ERR_ACCESS_DENIED
= 3, /* The system is refusing to accept this command from this source / communication partner. | */
848 MAV_CMD_ACK_ERR_NOT_SUPPORTED
= 4, /* Command or mission item is not supported, other commands would be accepted. | */
849 MAV_CMD_ACK_ERR_COORDINATE_FRAME_NOT_SUPPORTED
= 5, /* The coordinate frame of this command / mission item is not supported. | */
850 MAV_CMD_ACK_ERR_COORDINATES_OUT_OF_RANGE
= 6, /* The coordinate frame of this command is ok, but he coordinate values exceed the safety limits of this system. This is a generic error, please use the more specific error messages below if possible. | */
851 MAV_CMD_ACK_ERR_X_LAT_OUT_OF_RANGE
= 7, /* The X or latitude value is out of range. | */
852 MAV_CMD_ACK_ERR_Y_LON_OUT_OF_RANGE
= 8, /* The Y or longitude value is out of range. | */
853 MAV_CMD_ACK_ERR_Z_ALT_OUT_OF_RANGE
= 9, /* The Z or altitude value is out of range. | */
854 MAV_CMD_ACK_ENUM_END
= 10, /* | */
858 /** @brief Specifies the datatype of a MAVLink parameter. */
859 #ifndef HAVE_ENUM_MAV_PARAM_TYPE
860 #define HAVE_ENUM_MAV_PARAM_TYPE
861 enum MAV_PARAM_TYPE
{
862 MAV_PARAM_TYPE_UINT8
= 1, /* 8-bit unsigned integer | */
863 MAV_PARAM_TYPE_INT8
= 2, /* 8-bit signed integer | */
864 MAV_PARAM_TYPE_UINT16
= 3, /* 16-bit unsigned integer | */
865 MAV_PARAM_TYPE_INT16
= 4, /* 16-bit signed integer | */
866 MAV_PARAM_TYPE_UINT32
= 5, /* 32-bit unsigned integer | */
867 MAV_PARAM_TYPE_INT32
= 6, /* 32-bit signed integer | */
868 MAV_PARAM_TYPE_UINT64
= 7, /* 64-bit unsigned integer | */
869 MAV_PARAM_TYPE_INT64
= 8, /* 64-bit signed integer | */
870 MAV_PARAM_TYPE_REAL32
= 9, /* 32-bit floating-point | */
871 MAV_PARAM_TYPE_REAL64
= 10, /* 64-bit floating-point | */
872 MAV_PARAM_TYPE_ENUM_END
= 11, /* | */
876 /** @brief result from a mavlink command */
877 #ifndef HAVE_ENUM_MAV_RESULT
878 #define HAVE_ENUM_MAV_RESULT
880 MAV_RESULT_ACCEPTED
= 0, /* Command ACCEPTED and EXECUTED | */
881 MAV_RESULT_TEMPORARILY_REJECTED
= 1, /* Command TEMPORARY REJECTED/DENIED | */
882 MAV_RESULT_DENIED
= 2, /* Command PERMANENTLY DENIED | */
883 MAV_RESULT_UNSUPPORTED
= 3, /* Command UNKNOWN/UNSUPPORTED | */
884 MAV_RESULT_FAILED
= 4, /* Command executed, but failed | */
885 MAV_RESULT_ENUM_END
= 5, /* | */
889 /** @brief result in a mavlink mission ack */
890 #ifndef HAVE_ENUM_MAV_MISSION_RESULT
891 #define HAVE_ENUM_MAV_MISSION_RESULT
892 enum MAV_MISSION_RESULT
{
893 MAV_MISSION_ACCEPTED
= 0, /* mission accepted OK | */
894 MAV_MISSION_ERROR
= 1, /* generic error / not accepting mission commands at all right now | */
895 MAV_MISSION_UNSUPPORTED_FRAME
= 2, /* coordinate frame is not supported | */
896 MAV_MISSION_UNSUPPORTED
= 3, /* command is not supported | */
897 MAV_MISSION_NO_SPACE
= 4, /* mission item exceeds storage space | */
898 MAV_MISSION_INVALID
= 5, /* one of the parameters has an invalid value | */
899 MAV_MISSION_INVALID_PARAM1
= 6, /* param1 has an invalid value | */
900 MAV_MISSION_INVALID_PARAM2
= 7, /* param2 has an invalid value | */
901 MAV_MISSION_INVALID_PARAM3
= 8, /* param3 has an invalid value | */
902 MAV_MISSION_INVALID_PARAM4
= 9, /* param4 has an invalid value | */
903 MAV_MISSION_INVALID_PARAM5_X
= 10, /* x/param5 has an invalid value | */
904 MAV_MISSION_INVALID_PARAM6_Y
= 11, /* y/param6 has an invalid value | */
905 MAV_MISSION_INVALID_PARAM7
= 12, /* param7 has an invalid value | */
906 MAV_MISSION_INVALID_SEQUENCE
= 13, /* received waypoint out of sequence | */
907 MAV_MISSION_DENIED
= 14, /* not accepting any mission commands from this communication partner | */
908 MAV_MISSION_RESULT_ENUM_END
= 15, /* | */
912 /** @brief Indicates the severity level, generally used for status messages to indicate their relative urgency. Based on RFC-5424 using expanded definitions at: http://www.kiwisyslog.com/kb/info:-syslog-message-levels/. */
913 #ifndef HAVE_ENUM_MAV_SEVERITY
914 #define HAVE_ENUM_MAV_SEVERITY
916 MAV_SEVERITY_EMERGENCY
= 0, /* System is unusable. This is a "panic" condition. | */
917 MAV_SEVERITY_ALERT
= 1, /* Action should be taken immediately. Indicates error in non-critical systems. | */
918 MAV_SEVERITY_CRITICAL
= 2, /* Action must be taken immediately. Indicates failure in a primary system. | */
919 MAV_SEVERITY_ERROR
= 3, /* Indicates an error in secondary/redundant systems. | */
920 MAV_SEVERITY_WARNING
= 4, /* Indicates about a possible future error if this is not resolved within a given timeframe. Example would be a low battery warning. | */
921 MAV_SEVERITY_NOTICE
= 5, /* An unusual event has occured, though not an error condition. This should be investigated for the root cause. | */
922 MAV_SEVERITY_INFO
= 6, /* Normal operational messages. Useful for logging. No action is required for these messages. | */
923 MAV_SEVERITY_DEBUG
= 7, /* Useful non-operational messages that can assist in debugging. These should not occur during normal operation. | */
924 MAV_SEVERITY_ENUM_END
= 8, /* | */
931 #ifndef MAVLINK_VERSION
932 #define MAVLINK_VERSION 3
935 #if (MAVLINK_VERSION == 0)
936 #undef MAVLINK_VERSION
937 #define MAVLINK_VERSION 3
940 // MESSAGE DEFINITIONS
941 #include "./mavlink_msg_heartbeat.h"
942 #include "./mavlink_msg_sys_status.h"
943 #include "./mavlink_msg_system_time.h"
944 #include "./mavlink_msg_ping.h"
945 #include "./mavlink_msg_change_operator_control.h"
946 #include "./mavlink_msg_change_operator_control_ack.h"
947 #include "./mavlink_msg_auth_key.h"
948 #include "./mavlink_msg_set_mode.h"
949 #include "./mavlink_msg_param_request_read.h"
950 #include "./mavlink_msg_param_request_list.h"
951 #include "./mavlink_msg_param_value.h"
952 #include "./mavlink_msg_param_set.h"
953 #include "./mavlink_msg_gps_raw_int.h"
954 #include "./mavlink_msg_gps_status.h"
955 #include "./mavlink_msg_scaled_imu.h"
956 #include "./mavlink_msg_raw_imu.h"
957 #include "./mavlink_msg_raw_pressure.h"
958 #include "./mavlink_msg_scaled_pressure.h"
959 #include "./mavlink_msg_attitude.h"
960 #include "./mavlink_msg_attitude_quaternion.h"
961 #include "./mavlink_msg_local_position_ned.h"
962 #include "./mavlink_msg_global_position_int.h"
963 #include "./mavlink_msg_rc_channels_scaled.h"
964 #include "./mavlink_msg_rc_channels_raw.h"
965 #include "./mavlink_msg_servo_output_raw.h"
966 #include "./mavlink_msg_mission_request_partial_list.h"
967 #include "./mavlink_msg_mission_write_partial_list.h"
968 #include "./mavlink_msg_mission_item.h"
969 #include "./mavlink_msg_mission_request.h"
970 #include "./mavlink_msg_mission_set_current.h"
971 #include "./mavlink_msg_mission_current.h"
972 #include "./mavlink_msg_mission_request_list.h"
973 #include "./mavlink_msg_mission_count.h"
974 #include "./mavlink_msg_mission_clear_all.h"
975 #include "./mavlink_msg_mission_item_reached.h"
976 #include "./mavlink_msg_mission_ack.h"
977 #include "./mavlink_msg_set_gps_global_origin.h"
978 #include "./mavlink_msg_gps_global_origin.h"
979 #include "./mavlink_msg_set_local_position_setpoint.h"
980 #include "./mavlink_msg_local_position_setpoint.h"
981 #include "./mavlink_msg_global_position_setpoint_int.h"
982 #include "./mavlink_msg_set_global_position_setpoint_int.h"
983 #include "./mavlink_msg_safety_set_allowed_area.h"
984 #include "./mavlink_msg_safety_allowed_area.h"
985 #include "./mavlink_msg_set_roll_pitch_yaw_thrust.h"
986 #include "./mavlink_msg_set_roll_pitch_yaw_speed_thrust.h"
987 #include "./mavlink_msg_roll_pitch_yaw_thrust_setpoint.h"
988 #include "./mavlink_msg_roll_pitch_yaw_speed_thrust_setpoint.h"
989 #include "./mavlink_msg_set_quad_motors_setpoint.h"
990 #include "./mavlink_msg_set_quad_swarm_roll_pitch_yaw_thrust.h"
991 #include "./mavlink_msg_nav_controller_output.h"
992 #include "./mavlink_msg_set_quad_swarm_led_roll_pitch_yaw_thrust.h"
993 #include "./mavlink_msg_state_correction.h"
994 #include "./mavlink_msg_request_data_stream.h"
995 #include "./mavlink_msg_data_stream.h"
996 #include "./mavlink_msg_manual_control.h"
997 #include "./mavlink_msg_rc_channels_override.h"
998 #include "./mavlink_msg_vfr_hud.h"
999 #include "./mavlink_msg_command_long.h"
1000 #include "./mavlink_msg_command_ack.h"
1001 #include "./mavlink_msg_local_position_ned_system_global_offset.h"
1002 #include "./mavlink_msg_hil_state.h"
1003 #include "./mavlink_msg_hil_controls.h"
1004 #include "./mavlink_msg_hil_rc_inputs_raw.h"
1005 #include "./mavlink_msg_optical_flow.h"
1006 #include "./mavlink_msg_global_vision_position_estimate.h"
1007 #include "./mavlink_msg_vision_position_estimate.h"
1008 #include "./mavlink_msg_vision_speed_estimate.h"
1009 #include "./mavlink_msg_vicon_position_estimate.h"
1010 #include "./mavlink_msg_memory_vect.h"
1011 #include "./mavlink_msg_debug_vect.h"
1012 #include "./mavlink_msg_named_value_float.h"
1013 #include "./mavlink_msg_named_value_int.h"
1014 #include "./mavlink_msg_statustext.h"
1015 #include "./mavlink_msg_debug.h"
1019 #endif // __cplusplus