forked from mavlink/mavlink
-
Notifications
You must be signed in to change notification settings - Fork 295
/
Copy pathcommon.xml
6702 lines (6693 loc) · 530 KB
/
common.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0"?>
<mavlink>
<include>minimal.xml</include>
<version>3</version>
<dialect>0</dialect>
<enums>
<enum name="FIRMWARE_VERSION_TYPE">
<description>These values define the type of firmware release. These values indicate the first version or release of this type. For example the first alpha release would be 64, the second would be 65.</description>
<entry value="0" name="FIRMWARE_VERSION_TYPE_DEV">
<description>development release</description>
</entry>
<entry value="64" name="FIRMWARE_VERSION_TYPE_ALPHA">
<description>alpha release</description>
</entry>
<entry value="128" name="FIRMWARE_VERSION_TYPE_BETA">
<description>beta release</description>
</entry>
<entry value="192" name="FIRMWARE_VERSION_TYPE_RC">
<description>release candidate</description>
</entry>
<entry value="255" name="FIRMWARE_VERSION_TYPE_OFFICIAL">
<description>official stable release</description>
</entry>
</enum>
<enum name="HL_FAILURE_FLAG" bitmask="true">
<description>Flags to report failure cases over the high latency telemetry.</description>
<entry value="1" name="HL_FAILURE_FLAG_GPS">
<description>GPS failure.</description>
</entry>
<entry value="2" name="HL_FAILURE_FLAG_DIFFERENTIAL_PRESSURE">
<description>Differential pressure sensor failure.</description>
</entry>
<entry value="4" name="HL_FAILURE_FLAG_ABSOLUTE_PRESSURE">
<description>Absolute pressure sensor failure.</description>
</entry>
<entry value="8" name="HL_FAILURE_FLAG_3D_ACCEL">
<description>Accelerometer sensor failure.</description>
</entry>
<entry value="16" name="HL_FAILURE_FLAG_3D_GYRO">
<description>Gyroscope sensor failure.</description>
</entry>
<entry value="32" name="HL_FAILURE_FLAG_3D_MAG">
<description>Magnetometer sensor failure.</description>
</entry>
<entry value="64" name="HL_FAILURE_FLAG_TERRAIN">
<description>Terrain subsystem failure.</description>
</entry>
<entry value="128" name="HL_FAILURE_FLAG_BATTERY">
<description>Battery failure/critical low battery.</description>
</entry>
<entry value="256" name="HL_FAILURE_FLAG_RC_RECEIVER">
<description>RC receiver failure/no RC connection.</description>
</entry>
<entry value="512" name="HL_FAILURE_FLAG_OFFBOARD_LINK">
<description>Offboard link failure.</description>
</entry>
<entry value="1024" name="HL_FAILURE_FLAG_ENGINE">
<description>Engine failure.</description>
</entry>
<entry value="2048" name="HL_FAILURE_FLAG_GEOFENCE">
<description>Geofence violation.</description>
</entry>
<entry value="4096" name="HL_FAILURE_FLAG_ESTIMATOR">
<description>Estimator failure, for example measurement rejection or large variances.</description>
</entry>
<entry value="8192" name="HL_FAILURE_FLAG_MISSION">
<description>Mission failure.</description>
</entry>
</enum>
<enum name="MAV_GOTO">
<description>Actions that may be specified in MAV_CMD_OVERRIDE_GOTO to override mission execution.</description>
<entry value="0" name="MAV_GOTO_DO_HOLD">
<description>Hold at the current position.</description>
</entry>
<entry value="1" name="MAV_GOTO_DO_CONTINUE">
<description>Continue with the next item in mission execution.</description>
</entry>
<entry value="2" name="MAV_GOTO_HOLD_AT_CURRENT_POSITION">
<description>Hold at the current position of the system</description>
</entry>
<entry value="3" name="MAV_GOTO_HOLD_AT_SPECIFIED_POSITION">
<description>Hold at the position specified in the parameters of the DO_HOLD action</description>
</entry>
</enum>
<enum name="MAV_MODE">
<description>These defines are predefined OR-combined mode flags. There is no need to use values from this enum, but it
simplifies the use of the mode flags. Note that manual input is enabled in all modes as a safety override.</description>
<entry value="0" name="MAV_MODE_PREFLIGHT">
<description>System is not ready to fly, booting, calibrating, etc. No flag is set.</description>
</entry>
<entry value="80" name="MAV_MODE_STABILIZE_DISARMED">
<description>System is allowed to be active, under assisted RC control.</description>
</entry>
<entry value="208" name="MAV_MODE_STABILIZE_ARMED">
<description>System is allowed to be active, under assisted RC control.</description>
</entry>
<entry value="64" name="MAV_MODE_MANUAL_DISARMED">
<description>System is allowed to be active, under manual (RC) control, no stabilization</description>
</entry>
<entry value="192" name="MAV_MODE_MANUAL_ARMED">
<description>System is allowed to be active, under manual (RC) control, no stabilization</description>
</entry>
<entry value="88" name="MAV_MODE_GUIDED_DISARMED">
<description>System is allowed to be active, under autonomous control, manual setpoint</description>
</entry>
<entry value="216" name="MAV_MODE_GUIDED_ARMED">
<description>System is allowed to be active, under autonomous control, manual setpoint</description>
</entry>
<entry value="92" name="MAV_MODE_AUTO_DISARMED">
<description>System is allowed to be active, under autonomous control and navigation (the trajectory is decided onboard and not pre-programmed by waypoints)</description>
</entry>
<entry value="220" name="MAV_MODE_AUTO_ARMED">
<description>System is allowed to be active, under autonomous control and navigation (the trajectory is decided onboard and not pre-programmed by waypoints)</description>
</entry>
<entry value="66" name="MAV_MODE_TEST_DISARMED">
<description>UNDEFINED mode. This solely depends on the autopilot - use with caution, intended for developers only.</description>
</entry>
<entry value="194" name="MAV_MODE_TEST_ARMED">
<description>UNDEFINED mode. This solely depends on the autopilot - use with caution, intended for developers only.</description>
</entry>
</enum>
<enum name="MAV_SYS_STATUS_SENSOR" bitmask="true">
<description>These encode the sensors whose status is sent as part of the SYS_STATUS message.</description>
<entry value="1" name="MAV_SYS_STATUS_SENSOR_3D_GYRO">
<description>0x01 3D gyro</description>
</entry>
<entry value="2" name="MAV_SYS_STATUS_SENSOR_3D_ACCEL">
<description>0x02 3D accelerometer</description>
</entry>
<entry value="4" name="MAV_SYS_STATUS_SENSOR_3D_MAG">
<description>0x04 3D magnetometer</description>
</entry>
<entry value="8" name="MAV_SYS_STATUS_SENSOR_ABSOLUTE_PRESSURE">
<description>0x08 absolute pressure</description>
</entry>
<entry value="16" name="MAV_SYS_STATUS_SENSOR_DIFFERENTIAL_PRESSURE">
<description>0x10 differential pressure</description>
</entry>
<entry value="32" name="MAV_SYS_STATUS_SENSOR_GPS">
<description>0x20 GPS</description>
</entry>
<entry value="64" name="MAV_SYS_STATUS_SENSOR_OPTICAL_FLOW">
<description>0x40 optical flow</description>
</entry>
<entry value="128" name="MAV_SYS_STATUS_SENSOR_VISION_POSITION">
<description>0x80 computer vision position</description>
</entry>
<entry value="256" name="MAV_SYS_STATUS_SENSOR_LASER_POSITION">
<description>0x100 laser based position</description>
</entry>
<entry value="512" name="MAV_SYS_STATUS_SENSOR_EXTERNAL_GROUND_TRUTH">
<description>0x200 external ground truth (Vicon or Leica)</description>
</entry>
<entry value="1024" name="MAV_SYS_STATUS_SENSOR_ANGULAR_RATE_CONTROL">
<description>0x400 3D angular rate control</description>
</entry>
<entry value="2048" name="MAV_SYS_STATUS_SENSOR_ATTITUDE_STABILIZATION">
<description>0x800 attitude stabilization</description>
</entry>
<entry value="4096" name="MAV_SYS_STATUS_SENSOR_YAW_POSITION">
<description>0x1000 yaw position</description>
</entry>
<entry value="8192" name="MAV_SYS_STATUS_SENSOR_Z_ALTITUDE_CONTROL">
<description>0x2000 z/altitude control</description>
</entry>
<entry value="16384" name="MAV_SYS_STATUS_SENSOR_XY_POSITION_CONTROL">
<description>0x4000 x/y position control</description>
</entry>
<entry value="32768" name="MAV_SYS_STATUS_SENSOR_MOTOR_OUTPUTS">
<description>0x8000 motor outputs / control</description>
</entry>
<entry value="65536" name="MAV_SYS_STATUS_SENSOR_RC_RECEIVER">
<description>0x10000 RC receiver</description>
</entry>
<entry value="131072" name="MAV_SYS_STATUS_SENSOR_3D_GYRO2">
<description>0x20000 2nd 3D gyro</description>
</entry>
<entry value="262144" name="MAV_SYS_STATUS_SENSOR_3D_ACCEL2">
<description>0x40000 2nd 3D accelerometer</description>
</entry>
<entry value="524288" name="MAV_SYS_STATUS_SENSOR_3D_MAG2">
<description>0x80000 2nd 3D magnetometer</description>
</entry>
<entry value="1048576" name="MAV_SYS_STATUS_GEOFENCE">
<description>0x100000 geofence</description>
</entry>
<entry value="2097152" name="MAV_SYS_STATUS_AHRS">
<description>0x200000 AHRS subsystem health</description>
</entry>
<entry value="4194304" name="MAV_SYS_STATUS_TERRAIN">
<description>0x400000 Terrain subsystem health</description>
</entry>
<entry value="8388608" name="MAV_SYS_STATUS_REVERSE_MOTOR">
<description>0x800000 Motors are reversed</description>
</entry>
<entry value="16777216" name="MAV_SYS_STATUS_LOGGING">
<description>0x1000000 Logging</description>
</entry>
<entry value="33554432" name="MAV_SYS_STATUS_SENSOR_BATTERY">
<description>0x2000000 Battery</description>
</entry>
<entry value="67108864" name="MAV_SYS_STATUS_SENSOR_PROXIMITY">
<description>0x4000000 Proximity</description>
</entry>
<entry value="134217728" name="MAV_SYS_STATUS_SENSOR_SATCOM">
<description>0x8000000 Satellite Communication </description>
</entry>
<entry value="268435456" name="MAV_SYS_STATUS_PREARM_CHECK">
<description>0x10000000 pre-arm check status. Always healthy when armed</description>
</entry>
<entry value="536870912" name="MAV_SYS_STATUS_OBSTACLE_AVOIDANCE">
<description>0x20000000 Avoidance/collision prevention</description>
</entry>
<entry value="1073741824" name="MAV_SYS_STATUS_SENSOR_PROPULSION">
<description>0x40000000 propulsion (actuator, esc, motor or propellor)</description>
</entry>
</enum>
<enum name="MAV_FRAME">
<description>Coordinate frames used by MAVLink. Not all frames are supported by all commands, messages, or vehicles.
Global frames use the following naming conventions:
- "GLOBAL": Global coordinate frame with WGS84 latitude/longitude and altitude positive over mean sea level (MSL) by default.
The following modifiers may be used with "GLOBAL":
- "RELATIVE_ALT": Altitude is relative to the vehicle home position rather than MSL.
- "TERRAIN_ALT": Altitude is relative to ground level rather than MSL.
- "INT": Latitude/longitude (in degrees) are scaled by multiplying by 1E7.
Local frames use the following naming conventions:
- "LOCAL": Origin of local frame is fixed relative to earth. Unless otherwise specified this origin is the origin of the vehicle position-estimator ("EKF").
- "BODY": Origin of local frame travels with the vehicle. NOTE, "BODY" does NOT indicate alignment of frame axis with vehicle attitude.
- "OFFSET": Deprecated synonym for "BODY" (origin travels with the vehicle). Not to be used for new frames.
Some deprecated frames do not follow these conventions (e.g. MAV_FRAME_BODY_NED and MAV_FRAME_BODY_OFFSET_NED).
</description>
<entry value="0" name="MAV_FRAME_GLOBAL">
<description>Global (WGS84) coordinate frame + altitude relative to mean sea level (MSL).</description>
</entry>
<entry value="1" name="MAV_FRAME_LOCAL_NED">
<description>NED local tangent frame (x: North, y: East, z: Down) with origin fixed relative to earth.</description>
</entry>
<entry value="2" name="MAV_FRAME_MISSION">
<description>NOT a coordinate frame, indicates a mission command.</description>
</entry>
<entry value="3" name="MAV_FRAME_GLOBAL_RELATIVE_ALT">
<description>
Global (WGS84) coordinate frame + altitude relative to the home position.
</description>
</entry>
<entry value="4" name="MAV_FRAME_LOCAL_ENU">
<description>ENU local tangent frame (x: East, y: North, z: Up) with origin fixed relative to earth.</description>
</entry>
<entry value="5" name="MAV_FRAME_GLOBAL_INT">
<deprecated since="2024-03" replaced_by="MAV_FRAME_GLOBAL">Use MAV_FRAME_GLOBAL in COMMAND_INT (and elsewhere) as a synonymous replacement.</deprecated>
<description>Global (WGS84) coordinate frame (scaled) + altitude relative to mean sea level (MSL).</description>
</entry>
<entry value="6" name="MAV_FRAME_GLOBAL_RELATIVE_ALT_INT">
<deprecated since="2024-03" replaced_by="MAV_FRAME_GLOBAL_RELATIVE_ALT">Use MAV_FRAME_GLOBAL_RELATIVE_ALT in COMMAND_INT (and elsewhere) as a synonymous replacement.</deprecated>
<description>Global (WGS84) coordinate frame (scaled) + altitude relative to the home position. </description>
</entry>
<entry value="7" name="MAV_FRAME_LOCAL_OFFSET_NED">
<description>NED local tangent frame (x: North, y: East, z: Down) with origin that travels with the vehicle.</description>
</entry>
<entry value="8" name="MAV_FRAME_BODY_NED">
<deprecated since="2019-08" replaced_by="MAV_FRAME_BODY_FRD"/>
<description>Same as MAV_FRAME_LOCAL_NED when used to represent position values. Same as MAV_FRAME_BODY_FRD when used with velocity/acceleration values.</description>
</entry>
<entry value="9" name="MAV_FRAME_BODY_OFFSET_NED">
<deprecated since="2019-08" replaced_by="MAV_FRAME_BODY_FRD"/>
<description>This is the same as MAV_FRAME_BODY_FRD.</description>
</entry>
<entry value="10" name="MAV_FRAME_GLOBAL_TERRAIN_ALT">
<description>Global (WGS84) coordinate frame with AGL altitude (altitude at ground level).</description>
</entry>
<entry value="11" name="MAV_FRAME_GLOBAL_TERRAIN_ALT_INT">
<deprecated since="2024-03" replaced_by="MAV_FRAME_GLOBAL_TERRAIN_ALT">Use MAV_FRAME_GLOBAL_TERRAIN_ALT in COMMAND_INT (and elsewhere) as a synonymous replacement.</deprecated>
<description>Global (WGS84) coordinate frame (scaled) with AGL altitude (altitude at ground level).</description>
</entry>
<entry value="12" name="MAV_FRAME_BODY_FRD">
<description>FRD local frame aligned to the vehicle's attitude (x: Forward, y: Right, z: Down) with an origin that travels with vehicle.</description>
</entry>
<entry value="13" name="MAV_FRAME_RESERVED_13">
<deprecated since="2019-04" replaced_by=""/>
<description>MAV_FRAME_BODY_FLU - Body fixed frame of reference, Z-up (x: Forward, y: Left, z: Up).</description>
</entry>
<entry value="14" name="MAV_FRAME_RESERVED_14">
<deprecated since="2019-04" replaced_by="MAV_FRAME_LOCAL_FRD"/>
<description>MAV_FRAME_MOCAP_NED - Odometry local coordinate frame of data given by a motion capture system, Z-down (x: North, y: East, z: Down).</description>
</entry>
<entry value="15" name="MAV_FRAME_RESERVED_15">
<deprecated since="2019-04" replaced_by="MAV_FRAME_LOCAL_FLU"/>
<description>MAV_FRAME_MOCAP_ENU - Odometry local coordinate frame of data given by a motion capture system, Z-up (x: East, y: North, z: Up).</description>
</entry>
<entry value="16" name="MAV_FRAME_RESERVED_16">
<deprecated since="2019-04" replaced_by="MAV_FRAME_LOCAL_FRD"/>
<description>MAV_FRAME_VISION_NED - Odometry local coordinate frame of data given by a vision estimation system, Z-down (x: North, y: East, z: Down).</description>
</entry>
<entry value="17" name="MAV_FRAME_RESERVED_17">
<deprecated since="2019-04" replaced_by="MAV_FRAME_LOCAL_FLU"/>
<description>MAV_FRAME_VISION_ENU - Odometry local coordinate frame of data given by a vision estimation system, Z-up (x: East, y: North, z: Up).</description>
</entry>
<entry value="18" name="MAV_FRAME_RESERVED_18">
<deprecated since="2019-04" replaced_by="MAV_FRAME_LOCAL_FRD"/>
<description>MAV_FRAME_ESTIM_NED - Odometry local coordinate frame of data given by an estimator running onboard the vehicle, Z-down (x: North, y: East, z: Down).</description>
</entry>
<entry value="19" name="MAV_FRAME_RESERVED_19">
<deprecated since="2019-04" replaced_by="MAV_FRAME_LOCAL_FLU"/>
<description>MAV_FRAME_ESTIM_ENU - Odometry local coordinate frame of data given by an estimator running onboard the vehicle, Z-up (x: East, y: North, z: Up).</description>
</entry>
<entry value="20" name="MAV_FRAME_LOCAL_FRD">
<description>FRD local tangent frame (x: Forward, y: Right, z: Down) with origin fixed relative to earth. The forward axis is aligned to the front of the vehicle in the horizontal plane.</description>
</entry>
<entry value="21" name="MAV_FRAME_LOCAL_FLU">
<description>FLU local tangent frame (x: Forward, y: Left, z: Up) with origin fixed relative to earth. The forward axis is aligned to the front of the vehicle in the horizontal plane.</description>
</entry>
</enum>
<enum name="MAVLINK_DATA_STREAM_TYPE">
<entry value="0" name="MAVLINK_DATA_STREAM_IMG_JPEG">
<description/>
</entry>
<entry value="1" name="MAVLINK_DATA_STREAM_IMG_BMP">
<description/>
</entry>
<entry value="2" name="MAVLINK_DATA_STREAM_IMG_RAW8U">
<description/>
</entry>
<entry value="3" name="MAVLINK_DATA_STREAM_IMG_RAW32U">
<description/>
</entry>
<entry value="4" name="MAVLINK_DATA_STREAM_IMG_PGM">
<description/>
</entry>
<entry value="5" name="MAVLINK_DATA_STREAM_IMG_PNG">
<description/>
</entry>
</enum>
<!-- fenced mode enums -->
<enum name="FENCE_ACTION">
<entry value="0" name="FENCE_ACTION_NONE">
<description>Disable fenced mode</description>
</entry>
<entry value="1" name="FENCE_ACTION_GUIDED">
<description>Switched to guided mode to return point (fence point 0)</description>
</entry>
<entry value="2" name="FENCE_ACTION_REPORT">
<description>Report fence breach, but don't take action</description>
</entry>
<entry value="3" name="FENCE_ACTION_GUIDED_THR_PASS">
<description>Switched to guided mode to return point (fence point 0) with manual throttle control</description>
</entry>
<entry value="4" name="FENCE_ACTION_RTL">
<description>Switch to RTL (return to launch) mode and head for the return point.</description>
</entry>
</enum>
<enum name="FENCE_BREACH">
<entry value="0" name="FENCE_BREACH_NONE">
<description>No last fence breach</description>
</entry>
<entry value="1" name="FENCE_BREACH_MINALT">
<description>Breached minimum altitude</description>
</entry>
<entry value="2" name="FENCE_BREACH_MAXALT">
<description>Breached maximum altitude</description>
</entry>
<entry value="3" name="FENCE_BREACH_BOUNDARY">
<description>Breached fence boundary</description>
</entry>
</enum>
<enum name="FENCE_MITIGATE">
<!-- This enum is work-in-progress and it can therefore change. It should NOT be used in stable production environments. -->
<description>Actions being taken to mitigate/prevent fence breach</description>
<entry value="0" name="FENCE_MITIGATE_UNKNOWN">
<description>Unknown</description>
</entry>
<entry value="1" name="FENCE_MITIGATE_NONE">
<description>No actions being taken</description>
</entry>
<entry value="2" name="FENCE_MITIGATE_VEL_LIMIT">
<description>Velocity limiting active to prevent breach</description>
</entry>
</enum>
<!-- enum of fence types to enable or disable as a bitmask -->
<enum name="FENCE_TYPE" bitmask="true">
<entry value="0" name="FENCE_TYPE_ALL">
<description>All fence types</description>
</entry>
<entry value="1" name="FENCE_TYPE_ALT_MAX">
<description>Maximum altitude fence</description>
</entry>
<entry value="2" name="FENCE_TYPE_CIRCLE">
<description>Circle fence</description>
</entry>
<entry value="4" name="FENCE_TYPE_POLYGON">
<description>Polygon fence</description>
</entry>
<entry value="8" name="FENCE_TYPE_ALT_MIN">
<description>Minimum altitude fence</description>
</entry>
</enum>
<!-- Camera Mount mode Enumeration -->
<enum name="MAV_MOUNT_MODE">
<deprecated since="2020-01" replaced_by="GIMBAL_MANAGER_FLAGS"/>
<description>Enumeration of possible mount operation modes. This message is used by obsolete/deprecated gimbal messages.</description>
<entry value="0" name="MAV_MOUNT_MODE_RETRACT">
<description>Load and keep safe position (Roll,Pitch,Yaw) from permanent memory and stop stabilization</description>
</entry>
<entry value="1" name="MAV_MOUNT_MODE_NEUTRAL">
<description>Load and keep neutral position (Roll,Pitch,Yaw) from permanent memory.</description>
</entry>
<entry value="2" name="MAV_MOUNT_MODE_MAVLINK_TARGETING">
<description>Load neutral position and start MAVLink Roll,Pitch,Yaw control with stabilization</description>
</entry>
<entry value="3" name="MAV_MOUNT_MODE_RC_TARGETING">
<description>Load neutral position and start RC Roll,Pitch,Yaw control with stabilization</description>
</entry>
<entry value="4" name="MAV_MOUNT_MODE_GPS_POINT">
<description>Load neutral position and start to point to Lat,Lon,Alt</description>
</entry>
<entry value="5" name="MAV_MOUNT_MODE_SYSID_TARGET">
<description>Gimbal tracks system with specified system ID</description>
</entry>
<entry value="6" name="MAV_MOUNT_MODE_HOME_LOCATION">
<description>Gimbal tracks home position</description>
</entry>
</enum>
<enum name="GIMBAL_DEVICE_CAP_FLAGS" bitmask="true">
<description>Gimbal device (low level) capability flags (bitmap).</description>
<entry value="1" name="GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT">
<description>Gimbal device supports a retracted position.</description>
</entry>
<entry value="2" name="GIMBAL_DEVICE_CAP_FLAGS_HAS_NEUTRAL">
<description>Gimbal device supports a horizontal, forward looking position, stabilized.</description>
</entry>
<entry value="4" name="GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_AXIS">
<description>Gimbal device supports rotating around roll axis.</description>
</entry>
<entry value="8" name="GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_FOLLOW">
<description>Gimbal device supports to follow a roll angle relative to the vehicle.</description>
</entry>
<entry value="16" name="GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_LOCK">
<description>Gimbal device supports locking to a roll angle (generally that's the default with roll stabilized).</description>
</entry>
<entry value="32" name="GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_AXIS">
<description>Gimbal device supports rotating around pitch axis.</description>
</entry>
<entry value="64" name="GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_FOLLOW">
<description>Gimbal device supports to follow a pitch angle relative to the vehicle.</description>
</entry>
<entry value="128" name="GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_LOCK">
<description>Gimbal device supports locking to a pitch angle (generally that's the default with pitch stabilized).</description>
</entry>
<entry value="256" name="GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_AXIS">
<description>Gimbal device supports rotating around yaw axis.</description>
</entry>
<entry value="512" name="GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_FOLLOW">
<description>Gimbal device supports to follow a yaw angle relative to the vehicle (generally that's the default).</description>
</entry>
<entry value="1024" name="GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_LOCK">
<description>Gimbal device supports locking to an absolute heading, i.e., yaw angle relative to North (earth frame, often this is an option available).</description>
</entry>
<entry value="2048" name="GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_INFINITE_YAW">
<description>Gimbal device supports yawing/panning infinitely (e.g. using slip disk).</description>
</entry>
<entry value="4096" name="GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME">
<description>Gimbal device supports yaw angles and angular velocities relative to North (earth frame). This usually requires support by an autopilot via AUTOPILOT_STATE_FOR_GIMBAL_DEVICE. Support can go on and off during runtime, which is reported by the flag GIMBAL_DEVICE_FLAGS_CAN_ACCEPT_YAW_IN_EARTH_FRAME.</description>
</entry>
<entry value="8192" name="GIMBAL_DEVICE_CAP_FLAGS_HAS_RC_INPUTS">
<description>Gimbal device supports radio control inputs as an alternative input for controlling the gimbal orientation.</description>
</entry>
</enum>
<enum name="GIMBAL_MANAGER_CAP_FLAGS" bitmask="true">
<description>Gimbal manager high level capability flags (bitmap). The first 16 bits are identical to the GIMBAL_DEVICE_CAP_FLAGS. However, the gimbal manager does not need to copy the flags from the gimbal but can also enhance the capabilities and thus add flags.</description>
<entry value="1" name="GIMBAL_MANAGER_CAP_FLAGS_HAS_RETRACT">
<description>Based on GIMBAL_DEVICE_CAP_FLAGS_HAS_RETRACT.</description>
</entry>
<entry value="2" name="GIMBAL_MANAGER_CAP_FLAGS_HAS_NEUTRAL">
<description>Based on GIMBAL_DEVICE_CAP_FLAGS_HAS_NEUTRAL.</description>
</entry>
<entry value="4" name="GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_AXIS">
<description>Based on GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_AXIS.</description>
</entry>
<entry value="8" name="GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_FOLLOW">
<description>Based on GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_FOLLOW.</description>
</entry>
<entry value="16" name="GIMBAL_MANAGER_CAP_FLAGS_HAS_ROLL_LOCK">
<description>Based on GIMBAL_DEVICE_CAP_FLAGS_HAS_ROLL_LOCK.</description>
</entry>
<entry value="32" name="GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_AXIS">
<description>Based on GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_AXIS.</description>
</entry>
<entry value="64" name="GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_FOLLOW">
<description>Based on GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_FOLLOW.</description>
</entry>
<entry value="128" name="GIMBAL_MANAGER_CAP_FLAGS_HAS_PITCH_LOCK">
<description>Based on GIMBAL_DEVICE_CAP_FLAGS_HAS_PITCH_LOCK.</description>
</entry>
<entry value="256" name="GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_AXIS">
<description>Based on GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_AXIS.</description>
</entry>
<entry value="512" name="GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_FOLLOW">
<description>Based on GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_FOLLOW.</description>
</entry>
<entry value="1024" name="GIMBAL_MANAGER_CAP_FLAGS_HAS_YAW_LOCK">
<description>Based on GIMBAL_DEVICE_CAP_FLAGS_HAS_YAW_LOCK.</description>
</entry>
<entry value="2048" name="GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_INFINITE_YAW">
<description>Based on GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_INFINITE_YAW.</description>
</entry>
<entry value="4096" name="GIMBAL_MANAGER_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME">
<description>Based on GIMBAL_DEVICE_CAP_FLAGS_SUPPORTS_YAW_IN_EARTH_FRAME.</description>
</entry>
<entry value="8192" name="GIMBAL_MANAGER_CAP_FLAGS_HAS_RC_INPUTS">
<description>Based on GIMBAL_DEVICE_CAP_FLAGS_HAS_RC_INPUTS.</description>
</entry>
<entry value="65536" name="GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_LOCAL">
<description>Gimbal manager supports to point to a local position.</description>
</entry>
<entry value="131072" name="GIMBAL_MANAGER_CAP_FLAGS_CAN_POINT_LOCATION_GLOBAL">
<description>Gimbal manager supports to point to a global latitude, longitude, altitude position.</description>
</entry>
</enum>
<enum name="GIMBAL_DEVICE_FLAGS" bitmask="true">
<description>Flags for gimbal device (lower level) operation.</description>
<entry value="1" name="GIMBAL_DEVICE_FLAGS_RETRACT">
<description>Set to retracted safe position (no stabilization), takes precedence over all other flags.</description>
</entry>
<entry value="2" name="GIMBAL_DEVICE_FLAGS_NEUTRAL">
<description>Set to neutral/default position, taking precedence over all other flags except RETRACT. Neutral is commonly forward-facing and horizontal (roll=pitch=yaw=0) but may be any orientation.</description>
</entry>
<entry value="4" name="GIMBAL_DEVICE_FLAGS_ROLL_LOCK">
<description>Lock roll angle to absolute angle relative to horizon (not relative to vehicle). This is generally the default with a stabilizing gimbal.</description>
</entry>
<entry value="8" name="GIMBAL_DEVICE_FLAGS_PITCH_LOCK">
<description>Lock pitch angle to absolute angle relative to horizon (not relative to vehicle). This is generally the default with a stabilizing gimbal.</description>
</entry>
<entry value="16" name="GIMBAL_DEVICE_FLAGS_YAW_LOCK">
<description>Lock yaw angle to absolute angle relative to North (not relative to vehicle). If this flag is set, the yaw angle and z component of angular velocity are relative to North (earth frame, x-axis pointing North), else they are relative to the vehicle heading (vehicle frame, earth frame rotated so that the x-axis is pointing forward).</description>
</entry>
<entry value="32" name="GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME">
<description>Yaw angle and z component of angular velocity are relative to the vehicle heading (vehicle frame, earth frame rotated such that the x-axis is pointing forward).</description>
</entry>
<entry value="64" name="GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME">
<description>Yaw angle and z component of angular velocity are relative to North (earth frame, x-axis is pointing North).</description>
</entry>
<entry value="128" name="GIMBAL_DEVICE_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME">
<description>Gimbal device can accept yaw angle inputs relative to North (earth frame). This flag is only for reporting (attempts to set this flag are ignored).</description>
</entry>
<entry value="256" name="GIMBAL_DEVICE_FLAGS_RC_EXCLUSIVE">
<description>The gimbal orientation is set exclusively by the RC signals feed to the gimbal's radio control inputs. MAVLink messages for setting the gimbal orientation (GIMBAL_DEVICE_SET_ATTITUDE) are ignored.</description>
</entry>
<entry value="512" name="GIMBAL_DEVICE_FLAGS_RC_MIXED">
<description>The gimbal orientation is determined by combining/mixing the RC signals feed to the gimbal's radio control inputs and the MAVLink messages for setting the gimbal orientation (GIMBAL_DEVICE_SET_ATTITUDE). How these two controls are combined or mixed is not defined by the protocol but is up to the implementation.</description>
</entry>
</enum>
<enum name="GIMBAL_MANAGER_FLAGS" bitmask="true">
<description>Flags for high level gimbal manager operation The first 16 bits are identical to the GIMBAL_DEVICE_FLAGS.</description>
<entry value="1" name="GIMBAL_MANAGER_FLAGS_RETRACT">
<description>Based on GIMBAL_DEVICE_FLAGS_RETRACT.</description>
</entry>
<entry value="2" name="GIMBAL_MANAGER_FLAGS_NEUTRAL">
<description>Based on GIMBAL_DEVICE_FLAGS_NEUTRAL.</description>
</entry>
<entry value="4" name="GIMBAL_MANAGER_FLAGS_ROLL_LOCK">
<description>Based on GIMBAL_DEVICE_FLAGS_ROLL_LOCK.</description>
</entry>
<entry value="8" name="GIMBAL_MANAGER_FLAGS_PITCH_LOCK">
<description>Based on GIMBAL_DEVICE_FLAGS_PITCH_LOCK.</description>
</entry>
<entry value="16" name="GIMBAL_MANAGER_FLAGS_YAW_LOCK">
<description>Based on GIMBAL_DEVICE_FLAGS_YAW_LOCK.</description>
</entry>
<entry value="32" name="GIMBAL_MANAGER_FLAGS_YAW_IN_VEHICLE_FRAME">
<description>Based on GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME.</description>
</entry>
<entry value="64" name="GIMBAL_MANAGER_FLAGS_YAW_IN_EARTH_FRAME">
<description>Based on GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME.</description>
</entry>
<entry value="128" name="GIMBAL_MANAGER_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME">
<description>Based on GIMBAL_DEVICE_FLAGS_ACCEPTS_YAW_IN_EARTH_FRAME.</description>
</entry>
<entry value="256" name="GIMBAL_MANAGER_FLAGS_RC_EXCLUSIVE">
<description>Based on GIMBAL_DEVICE_FLAGS_RC_EXCLUSIVE.</description>
</entry>
<entry value="512" name="GIMBAL_MANAGER_FLAGS_RC_MIXED">
<description>Based on GIMBAL_DEVICE_FLAGS_RC_MIXED.</description>
</entry>
</enum>
<enum name="GIMBAL_DEVICE_ERROR_FLAGS" bitmask="true">
<description>Gimbal device (low level) error flags (bitmap, 0 means no error)</description>
<entry value="1" name="GIMBAL_DEVICE_ERROR_FLAGS_AT_ROLL_LIMIT">
<description>Gimbal device is limited by hardware roll limit.</description>
</entry>
<entry value="2" name="GIMBAL_DEVICE_ERROR_FLAGS_AT_PITCH_LIMIT">
<description>Gimbal device is limited by hardware pitch limit.</description>
</entry>
<entry value="4" name="GIMBAL_DEVICE_ERROR_FLAGS_AT_YAW_LIMIT">
<description>Gimbal device is limited by hardware yaw limit.</description>
</entry>
<entry value="8" name="GIMBAL_DEVICE_ERROR_FLAGS_ENCODER_ERROR">
<description>There is an error with the gimbal encoders.</description>
</entry>
<entry value="16" name="GIMBAL_DEVICE_ERROR_FLAGS_POWER_ERROR">
<description>There is an error with the gimbal power source.</description>
</entry>
<entry value="32" name="GIMBAL_DEVICE_ERROR_FLAGS_MOTOR_ERROR">
<description>There is an error with the gimbal motors.</description>
</entry>
<entry value="64" name="GIMBAL_DEVICE_ERROR_FLAGS_SOFTWARE_ERROR">
<description>There is an error with the gimbal's software.</description>
</entry>
<entry value="128" name="GIMBAL_DEVICE_ERROR_FLAGS_COMMS_ERROR">
<description>There is an error with the gimbal's communication.</description>
</entry>
<entry value="256" name="GIMBAL_DEVICE_ERROR_FLAGS_CALIBRATION_RUNNING">
<description>Gimbal device is currently calibrating.</description>
</entry>
<entry value="512" name="GIMBAL_DEVICE_ERROR_FLAGS_NO_MANAGER">
<description>Gimbal device is not assigned to a gimbal manager.</description>
</entry>
</enum>
<!-- gripper action enum -->
<enum name="GRIPPER_ACTIONS">
<description>Gripper actions.</description>
<entry value="0" name="GRIPPER_ACTION_RELEASE">
<description>Gripper release cargo.</description>
</entry>
<entry value="1" name="GRIPPER_ACTION_GRAB">
<description>Gripper grab onto cargo.</description>
</entry>
</enum>
<!-- winch action enum -->
<enum name="WINCH_ACTIONS">
<description>Winch actions.</description>
<entry value="0" name="WINCH_RELAXED">
<description>Allow motor to freewheel.</description>
</entry>
<entry value="1" name="WINCH_RELATIVE_LENGTH_CONTROL">
<description>Wind or unwind specified length of line, optionally using specified rate.</description>
</entry>
<entry value="2" name="WINCH_RATE_CONTROL">
<description>Wind or unwind line at specified rate.</description>
</entry>
<entry value="3" name="WINCH_LOCK">
<description>Perform the locking sequence to relieve motor while in the fully retracted position. Only action and instance command parameters are used, others are ignored.</description>
</entry>
<entry value="4" name="WINCH_DELIVER">
<description>Sequence of drop, slow down, touch down, reel up, lock. Only action and instance command parameters are used, others are ignored.</description>
</entry>
<entry value="5" name="WINCH_HOLD">
<description>Engage motor and hold current position. Only action and instance command parameters are used, others are ignored.</description>
</entry>
<entry value="6" name="WINCH_RETRACT">
<description>Return the reel to the fully retracted position. Only action and instance command parameters are used, others are ignored.</description>
</entry>
<entry value="7" name="WINCH_LOAD_LINE">
<description>Load the reel with line. The winch will calculate the total loaded length and stop when the tension exceeds a threshold. Only action and instance command parameters are used, others are ignored.</description>
</entry>
<entry value="8" name="WINCH_ABANDON_LINE">
<description>Spool out the entire length of the line. Only action and instance command parameters are used, others are ignored.</description>
</entry>
</enum>
<!-- UAVCAN node health enumeration -->
<enum name="UAVCAN_NODE_HEALTH">
<description>Generalized UAVCAN node health</description>
<entry value="0" name="UAVCAN_NODE_HEALTH_OK">
<description>The node is functioning properly.</description>
</entry>
<entry value="1" name="UAVCAN_NODE_HEALTH_WARNING">
<description>A critical parameter went out of range or the node has encountered a minor failure.</description>
</entry>
<entry value="2" name="UAVCAN_NODE_HEALTH_ERROR">
<description>The node has encountered a major failure.</description>
</entry>
<entry value="3" name="UAVCAN_NODE_HEALTH_CRITICAL">
<description>The node has suffered a fatal malfunction.</description>
</entry>
</enum>
<!-- UAVCAN node mode enumeration -->
<enum name="UAVCAN_NODE_MODE">
<description>Generalized UAVCAN node mode</description>
<entry value="0" name="UAVCAN_NODE_MODE_OPERATIONAL">
<description>The node is performing its primary functions.</description>
</entry>
<entry value="1" name="UAVCAN_NODE_MODE_INITIALIZATION">
<description>The node is initializing; this mode is entered immediately after startup.</description>
</entry>
<entry value="2" name="UAVCAN_NODE_MODE_MAINTENANCE">
<description>The node is under maintenance.</description>
</entry>
<entry value="3" name="UAVCAN_NODE_MODE_SOFTWARE_UPDATE">
<description>The node is in the process of updating its software.</description>
</entry>
<entry value="7" name="UAVCAN_NODE_MODE_OFFLINE">
<description>The node is no longer available online.</description>
</entry>
</enum>
<enum name="STORAGE_STATUS">
<description>Flags to indicate the status of camera storage.</description>
<entry value="0" name="STORAGE_STATUS_EMPTY">
<description>Storage is missing (no microSD card loaded for example.)</description>
</entry>
<entry value="1" name="STORAGE_STATUS_UNFORMATTED">
<description>Storage present but unformatted.</description>
</entry>
<entry value="2" name="STORAGE_STATUS_READY">
<description>Storage present and ready.</description>
</entry>
<entry value="3" name="STORAGE_STATUS_NOT_SUPPORTED">
<description>Camera does not supply storage status information. Capacity information in STORAGE_INFORMATION fields will be ignored.</description>
</entry>
</enum>
<enum name="STORAGE_TYPE">
<description>Flags to indicate the type of storage.</description>
<entry value="0" name="STORAGE_TYPE_UNKNOWN">
<description>Storage type is not known.</description>
</entry>
<entry value="1" name="STORAGE_TYPE_USB_STICK">
<description>Storage type is USB device.</description>
</entry>
<entry value="2" name="STORAGE_TYPE_SD">
<description>Storage type is SD card.</description>
</entry>
<entry value="3" name="STORAGE_TYPE_MICROSD">
<description>Storage type is microSD card.</description>
</entry>
<entry value="4" name="STORAGE_TYPE_CF">
<description>Storage type is CFast.</description>
</entry>
<entry value="5" name="STORAGE_TYPE_CFE">
<description>Storage type is CFexpress.</description>
</entry>
<entry value="6" name="STORAGE_TYPE_XQD">
<description>Storage type is XQD.</description>
</entry>
<entry value="7" name="STORAGE_TYPE_HD">
<description>Storage type is HD mass storage type.</description>
</entry>
<entry value="254" name="STORAGE_TYPE_OTHER">
<description>Storage type is other, not listed type.</description>
</entry>
</enum>
<enum name="STORAGE_USAGE_FLAG">
<description>Flags to indicate usage for a particular storage (see STORAGE_INFORMATION.storage_usage and MAV_CMD_SET_STORAGE_USAGE).</description>
<entry value="1" name="STORAGE_USAGE_FLAG_SET">
<description>Always set to 1 (indicates STORAGE_INFORMATION.storage_usage is supported).</description>
</entry>
<entry value="2" name="STORAGE_USAGE_FLAG_PHOTO">
<description>Storage for saving photos.</description>
</entry>
<entry value="4" name="STORAGE_USAGE_FLAG_VIDEO">
<description>Storage for saving videos.</description>
</entry>
<entry value="8" name="STORAGE_USAGE_FLAG_LOGS">
<description>Storage for saving logs.</description>
</entry>
</enum>
<enum name="AUTOTUNE_AXIS" bitmask="true">
<description>Enable axes that will be tuned via autotuning. Used in MAV_CMD_DO_AUTOTUNE_ENABLE.</description>
<entry value="0" name="AUTOTUNE_AXIS_DEFAULT">
<description>Flight stack tunes axis according to its default settings.</description>
</entry>
<entry value="1" name="AUTOTUNE_AXIS_ROLL">
<description>Autotune roll axis.</description>
</entry>
<entry value="2" name="AUTOTUNE_AXIS_PITCH">
<description>Autotune pitch axis.</description>
</entry>
<entry value="4" name="AUTOTUNE_AXIS_YAW">
<description>Autotune yaw axis.</description>
</entry>
</enum>
<!-- The MAV_CMD enum entries describe either: -->
<!-- * the data payload of mission items (as used in the MISSION_ITEM_INT message) -->
<!-- * the data payload of mavlink commands (as used in the COMMAND_INT and COMMAND_LONG messages) -->
<!-- ALL the entries in the MAV_CMD enum have a maximum of 7 parameters -->
<enum name="MAV_CMD">
<description>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</description>
<entry value="16" name="MAV_CMD_NAV_WAYPOINT" hasLocation="true" isDestination="true">
<description>Navigate to waypoint. This is intended for use in missions (for guided commands outside of missions use MAV_CMD_DO_REPOSITION).</description>
<param index="1" label="Hold" units="s" minValue="0">Hold time. (ignored by fixed wing, time to stay at waypoint for rotary wing)</param>
<param index="2" label="Accept Radius" units="m" minValue="0">Acceptance radius (if the sphere with this radius is hit, the waypoint counts as reached)</param>
<param index="3" label="Pass Radius" units="m">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.</param>
<param index="4" label="Yaw" units="deg">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.).</param>
<param index="5" label="Latitude">Latitude</param>
<param index="6" label="Longitude">Longitude</param>
<param index="7" label="Altitude" units="m">Altitude</param>
</entry>
<entry value="17" name="MAV_CMD_NAV_LOITER_UNLIM" hasLocation="true" isDestination="true">
<description>Loiter around this waypoint an unlimited amount of time</description>
<param index="1">Empty</param>
<param index="2">Empty</param>
<param index="3" label="Radius" units="m">Loiter radius around waypoint for forward-only moving vehicles (not multicopters). If positive loiter clockwise, else counter-clockwise</param>
<param index="4" label="Yaw" units="deg">Desired yaw angle. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).</param>
<param index="5" label="Latitude">Latitude</param>
<param index="6" label="Longitude">Longitude</param>
<param index="7" label="Altitude" units="m">Altitude</param>
</entry>
<entry value="18" name="MAV_CMD_NAV_LOITER_TURNS" hasLocation="true" isDestination="true">
<description>Loiter around this waypoint for X turns</description>
<param index="1" label="Turns" minValue="0">Number of turns.</param>
<param index="2">Empty</param>
<param index="3" label="Radius" units="m">Radius around waypoint. If positive loiter clockwise, else counter-clockwise</param>
<param index="4">Forward moving aircraft this sets exit xtrack location: 0 for center of loiter wp, 1 for exit location. Else, this is desired yaw angle. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).</param>
<param index="5" label="Latitude">Latitude</param>
<param index="6" label="Longitude">Longitude</param>
<param index="7" label="Altitude" units="m">Altitude</param>
</entry>
<entry value="19" name="MAV_CMD_NAV_LOITER_TIME" hasLocation="true" isDestination="true">
<description>Loiter around this waypoint for X seconds</description>
<param index="1" label="Time" units="s" minValue="0">Loiter time.</param>
<param index="2">Empty</param>
<param index="3" label="Radius" units="m">Radius around waypoint. If positive loiter clockwise, else counter-clockwise.</param>
<param index="4">Forward moving aircraft this sets exit xtrack location: 0 for center of loiter wp, 1 for exit location. Else, this is desired yaw angle. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).</param>
<param index="5" label="Latitude">Latitude</param>
<param index="6" label="Longitude">Longitude</param>
<param index="7" label="Altitude" units="m">Altitude</param>
</entry>
<entry value="20" name="MAV_CMD_NAV_RETURN_TO_LAUNCH" hasLocation="false" isDestination="false">
<description>Return to launch location</description>
<param index="1">Empty</param>
<param index="2">Empty</param>
<param index="3">Empty</param>
<param index="4">Empty</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
<entry value="21" name="MAV_CMD_NAV_LAND" hasLocation="true" isDestination="true">
<description>Land at location.</description>
<param index="1" label="Abort Alt" units="m">Minimum target altitude if landing is aborted (0 = undefined/use system default).</param>
<param index="2" label="Land Mode" enum="PRECISION_LAND_MODE">Precision land mode.</param>
<param index="3">Empty.</param>
<param index="4" label="Yaw Angle" units="deg">Desired yaw angle. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).</param>
<param index="5" label="Latitude">Latitude.</param>
<param index="6" label="Longitude">Longitude.</param>
<param index="7" label="Altitude" units="m">Landing altitude (ground level in current frame).</param>
</entry>
<entry value="22" name="MAV_CMD_NAV_TAKEOFF" hasLocation="true" isDestination="true">
<description>Takeoff from ground / hand. Vehicles that support multiple takeoff modes (e.g. VTOL quadplane) should take off using the currently configured mode.</description>
<param index="1" label="Pitch" units="deg">Minimum pitch (if airspeed sensor present), desired pitch without sensor</param>
<param index="2">Empty</param>
<param index="3">Empty</param>
<param index="4" label="Yaw" units="deg">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.).</param>
<param index="5" label="Latitude">Latitude</param>
<param index="6" label="Longitude">Longitude</param>
<param index="7" label="Altitude" units="m">Altitude</param>
</entry>
<entry value="23" name="MAV_CMD_NAV_LAND_LOCAL" hasLocation="true" isDestination="true">
<description>Land at local position (local frame only)</description>
<param index="1" label="Target" minValue="0" increment="1">Landing target number (if available)</param>
<param index="2" label="Offset" units="m" minValue="0">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</param>
<param index="3" label="Descend Rate" units="m/s">Landing descend rate</param>
<param index="4" label="Yaw" units="rad">Desired yaw angle</param>
<param index="5" label="Y Position" units="m">Y-axis position</param>
<param index="6" label="X Position" units="m">X-axis position</param>
<param index="7" label="Z Position" units="m">Z-axis / ground level position</param>
</entry>
<entry value="24" name="MAV_CMD_NAV_TAKEOFF_LOCAL" hasLocation="true" isDestination="true">
<description>Takeoff from local position (local frame only)</description>
<param index="1" label="Pitch" units="rad">Minimum pitch (if airspeed sensor present), desired pitch without sensor</param>
<param index="2">Empty</param>
<param index="3" label="Ascend Rate" units="m/s">Takeoff ascend rate</param>
<param index="4" label="Yaw" units="rad">Yaw angle (if magnetometer or another yaw estimation source present), ignored without one of these</param>
<param index="5" label="Y Position" units="m">Y-axis position</param>
<param index="6" label="X Position" units="m">X-axis position</param>
<param index="7" label="Z Position" units="m">Z-axis position</param>
</entry>
<entry value="25" name="MAV_CMD_NAV_FOLLOW" hasLocation="true" isDestination="false">
<description>Vehicle following, i.e. this waypoint represents the position of a moving vehicle</description>
<param index="1" label="Following" increment="1">Following logic to use (e.g. loitering or sinusoidal following) - depends on specific autopilot implementation</param>
<param index="2" label="Ground Speed" units="m/s">Ground speed of vehicle to be followed</param>
<param index="3" label="Radius" units="m">Radius around waypoint. If positive loiter clockwise, else counter-clockwise</param>
<param index="4" label="Yaw" units="deg">Desired yaw angle.</param>
<param index="5" label="Latitude">Latitude</param>
<param index="6" label="Longitude">Longitude</param>
<param index="7" label="Altitude" units="m">Altitude</param>
</entry>
<entry value="30" name="MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT" hasLocation="false" isDestination="true">
<description>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.</description>
<param index="1" label="Action" minValue="0" maxValue="2" increment="1">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.</param>
<param index="2">Empty</param>
<param index="3">Empty</param>
<param index="4">Empty</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7" label="Altitude" units="m">Desired altitude</param>
</entry>
<entry value="31" name="MAV_CMD_NAV_LOITER_TO_ALT" hasLocation="true" isDestination="true">
<description>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.</description>
<param index="1" label="Heading Required" minValue="0" maxValue="1" increment="1">Heading Required (0 = False)</param>
<param index="2" label="Radius" units="m">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.</param>
<param index="3">Empty</param>
<param index="4" label="Xtrack Location" minValue="0" maxValue="1" increment="1">Forward moving aircraft this sets exit xtrack location: 0 for center of loiter wp, 1 for exit location</param>
<param index="5" label="Latitude">Latitude</param>
<param index="6" label="Longitude">Longitude</param>
<param index="7" label="Altitude" units="m">Altitude</param>
</entry>
<entry value="32" name="MAV_CMD_DO_FOLLOW" hasLocation="false" isDestination="false">
<description>Begin following a target</description>
<param index="1" label="System ID" minValue="0" maxValue="255" increment="1">System ID (of the FOLLOW_TARGET beacon). Send 0 to disable follow-me and return to the default position hold mode.</param>
<param index="2">Reserved</param>
<param index="3">Reserved</param>
<param index="4" label="Altitude Mode" minValue="0" maxValue="2" increment="1">Altitude mode: 0: Keep current altitude, 1: keep altitude difference to target, 2: go to a fixed altitude above home.</param>
<param index="5" label="Altitude" units="m">Altitude above home. (used if mode=2)</param>
<param index="6">Reserved</param>
<param index="7" label="Time to Land" units="s" minValue="0">Time to land in which the MAV should go to the default position hold mode after a message RX timeout.</param>
</entry>
<entry value="33" name="MAV_CMD_DO_FOLLOW_REPOSITION" hasLocation="false" isDestination="false">
<description>Reposition the MAV after a follow target command has been sent</description>
<param index="1" label="Camera Q1">Camera q1 (where 0 is on the ray from the camera to the tracking device)</param>
<param index="2" label="Camera Q2">Camera q2</param>
<param index="3" label="Camera Q3">Camera q3</param>
<param index="4" label="Camera Q4">Camera q4</param>
<param index="5" label="Altitude Offset" units="m">altitude offset from target</param>
<param index="6" label="X Offset" units="m">X offset from target</param>
<param index="7" label="Y Offset" units="m">Y offset from target</param>
</entry>
<entry value="80" name="MAV_CMD_NAV_ROI" hasLocation="true" isDestination="false">
<deprecated since="2018-01" replaced_by="MAV_CMD_DO_SET_ROI_*"/>
<description>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.</description>
<param index="1" label="ROI Mode" enum="MAV_ROI">Region of interest mode.</param>
<param index="2" label="WP Index" minValue="0" increment="1">Waypoint index/ target ID. (see MAV_ROI enum)</param>
<param index="3" label="ROI Index" minValue="0" increment="1">ROI index (allows a vehicle to manage multiple ROI's)</param>
<param index="4">Empty</param>
<param index="5" label="X">x the location of the fixed ROI (see MAV_FRAME)</param>
<param index="6" label="Y">y</param>
<param index="7" label="Z">z</param>
</entry>
<entry value="81" name="MAV_CMD_NAV_PATHPLANNING" hasLocation="true" isDestination="true">
<description>Control autonomous path planning on the MAV.</description>
<param index="1" label="Local Ctrl" minValue="0" maxValue="2" increment="1">0: Disable local obstacle avoidance / local path planning (without resetting map), 1: Enable local path planning, 2: Enable and reset local path planning</param>
<param index="2" label="Global Ctrl" minValue="0" maxValue="3" increment="1">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</param>
<param index="3">Empty</param>
<param index="4" label="Yaw" units="deg">Yaw angle at goal</param>
<param index="5" label="Latitude/X">Latitude/X of goal</param>
<param index="6" label="Longitude/Y">Longitude/Y of goal</param>
<param index="7" label="Altitude/Z">Altitude/Z of goal</param>
</entry>
<entry value="82" name="MAV_CMD_NAV_SPLINE_WAYPOINT" hasLocation="true" isDestination="true">
<description>Navigate to waypoint using a spline path.</description>
<param index="1" label="Hold" units="s" minValue="0">Hold time. (ignored by fixed wing, time to stay at waypoint for rotary wing)</param>
<param index="2">Empty</param>
<param index="3">Empty</param>
<param index="4">Empty</param>
<param index="5" label="Latitude/X">Latitude/X of goal</param>
<param index="6" label="Longitude/Y">Longitude/Y of goal</param>
<param index="7" label="Altitude/Z">Altitude/Z of goal</param>
</entry>
<entry value="84" name="MAV_CMD_NAV_VTOL_TAKEOFF" hasLocation="true" isDestination="true">
<description>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.).</description>
<param index="1">Empty</param>
<param index="2" label="Transition Heading" enum="VTOL_TRANSITION_HEADING">Front transition heading.</param>
<param index="3">Empty</param>
<param index="4" label="Yaw Angle" units="deg">Yaw angle. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).</param>
<param index="5" label="Latitude">Latitude</param>
<param index="6" label="Longitude">Longitude</param>
<param index="7" label="Altitude" units="m">Altitude</param>
</entry>
<entry value="85" name="MAV_CMD_NAV_VTOL_LAND" hasLocation="true" isDestination="true">
<description>Land using VTOL mode</description>
<param index="1">See NAV_VTOL_LAND_OPTIONS enum</param>
<param index="2">Empty</param>
<param index="3" label="Approach Altitude" units="m">Approach altitude (with the same reference as the Altitude field). NaN if unspecified.</param>
<param index="4" label="Yaw" units="deg">Yaw angle. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).</param>
<param index="5" label="Latitude">Latitude</param>
<param index="6" label="Longitude">Longitude</param>
<param index="7" label="Ground Altitude" units="m">Altitude (ground level)</param>
</entry>
<!-- IDs 90 and 91 are reserved until the end of 2014,
as they were used in some conflicting proposals
between PX4 and ArduPilot and need to be kept
unused to prevent errors -->
<entry value="92" name="MAV_CMD_NAV_GUIDED_ENABLE" hasLocation="false" isDestination="false">
<description>hand control over to an external controller</description>
<param index="1" label="Enable" minValue="0" maxValue="1" increment="1">On / Off (> 0.5f on)</param>
<param index="2">Empty</param>
<param index="3">Empty</param>
<param index="4">Empty</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
<entry value="93" name="MAV_CMD_NAV_DELAY" hasLocation="false" isDestination="false">
<description>Delay the next navigation command a number of seconds or until a specified time</description>
<param index="1" label="Delay" units="s" minValue="-1" increment="1">Delay (-1 to enable time-of-day fields)</param>
<param index="2" label="Hour" minValue="-1" maxValue="23" increment="1">hour (24h format, UTC, -1 to ignore)</param>
<param index="3" label="Minute" minValue="-1" maxValue="59" increment="1">minute (24h format, UTC, -1 to ignore)</param>
<param index="4" label="Second" minValue="-1" maxValue="59" increment="1">second (24h format, UTC, -1 to ignore)</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
<entry value="94" name="MAV_CMD_NAV_PAYLOAD_PLACE" hasLocation="true" isDestination="true">
<description>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.</description>
<param index="1" label="Max Descent" units="m" minValue="0">Maximum distance to descend.</param>
<param index="2">Empty</param>
<param index="3">Empty</param>
<param index="4">Empty</param>
<param index="5" label="Latitude">Latitude</param>
<param index="6" label="Longitude">Longitude</param>
<param index="7" label="Altitude" units="m">Altitude</param>