Newer
Older
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" encoding="utf-8"?>
<!-- Dynamically generated list of documented parameters (generated by param_parse.py) -->
<paramfile>
<vehicles>
<parameters name="APMrover2">
<param humanName="Eeprom format version number" name="APMrover2:FORMAT_VERSION" documentation="This value is incremented when changes are made to the eeprom format" user="Advanced">
</param>
<param humanName="Log bitmask" name="APMrover2:LOG_BITMASK" documentation='Bitmap of what log types to enable in dataflash. This values is made up of the sum of each of the log types you want to be saved on dataflash. On boards supporting microSD cards or other large block-storage devices it is usually best just to enable all log types by setting this to 65535. On boards with on-board "DataFlash storage" you need to be more selective in your logging or you may run out of log space while flying (in which case it will wrap and overwrite the start of the log). The individual bits are ATTITUDE_FAST=1, ATTITUDE_MEDIUM=2, GPS=4, PerformanceMonitoring=8, ControlTuning=16, NavigationTuning=32, Mode=64, IMU=128, Commands=256, Battery=512, Compass=1024, TECS=2048, Camera=4096, RCandServo=8192, Rangefinder=16384, Arming=32768, FullLogs=65535' user="Advanced">
<field name="Bitmask">0:ATTITUDE_FAST,1:ATTITUDE_MED,2:GPS,3:PM,4:THR,5:NTUN,7:IMU,8:CMD,9:CURRENT,10:RANGEFINDER,11:COMPASS,12:CAMERA,13:STEERING,14:RC,15:ARM/DISARM,19:IMU_RAW</field>
<values>
<value code="0">Disabled</value>
<value code="65535">Default</value>
</values>
</param>
<param humanName="Reset Switch Channel" name="APMrover2:RST_SWITCH_CH" documentation="RC channel to use to reset to last flight mode after geofence takeover." user="Advanced">
</param>
<param humanName="Initial driving mode" name="APMrover2:INITIAL_MODE" documentation="This selects the mode to start in on boot. This is useful for when you want to start in AUTO mode on boot without a receiver. Usually used in combination with when AUTO_TRIGGER_PIN or AUTO_KICKSTART." user="Advanced">
<values>
<value code="0">Manual</value>
<value code="1">Acro</value>
<value code="3">Steering</value>
<value code="4">Hold</value>
<value code="5">Loiter</value>
<value code="6">Follow</value>
<value code="7">Simple</value>
<value code="10">Auto</value>
<value code="11">RTL</value>
<value code="12">SmartRTL</value>
<value code="15">Guided</value>
</values>
</param>
<param humanName="MAVLink system ID of this vehicle" name="APMrover2:SYSID_THIS_MAV" documentation="Allows setting an individual MAVLink system id for this vehicle to distinguish it from others on the same network" user="Advanced">
<field name="Range">1 255</field>
</param>
<param humanName="MAVLink ground station ID" name="APMrover2:SYSID_MYGCS" documentation="The identifier of the ground station in the MAVLink protocol. Don't change this unless you also modify the ground station to match." user="Advanced">
<field name="Range">1 255</field>
</param>
<param humanName="Telemetry startup delay" name="APMrover2:TELEM_DELAY" documentation="The amount of time (in seconds) to delay radio telemetry to prevent an Xbee bricking on power up" user="Standard">
<field name="Range">0 30</field>
<field name="Increment">1</field>
<field name="Units">s</field>
<field name="UnitText">seconds</field>
</param>
<param humanName="GCS PID tuning mask" name="APMrover2:GCS_PID_MASK" documentation="bitmask of PIDs to send MAVLink PID_TUNING messages for" user="Advanced">
<field name="Bitmask">0:Steering,1:Throttle,2:Pitch,3:Left Wheel,4:Right Wheel,5:Sailboat Heel</field>
<values>
<value code="0">None</value>
<value code="1">Steering</value>
<value code="2">Throttle</value>
<value code="4">Pitch</value>
<value code="8">Left Wheel</value>
<value code="16">Right Wheel</value>
<value code="32">Sailboat Heel</value>
</values>
</param>
<param humanName="Enable Compass" name="APMrover2:MAG_ENABLE" documentation="Setting this to Enabled(1) will enable the compass. Setting this to Disabled(0) will disable the compass. Note that this is separate from COMPASS_USE. This will enable the low level senor, and will enable logging of magnetometer data. To use the compass for navigation you must also set COMPASS_USE to 1." user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Auto mode trigger pin" name="APMrover2:AUTO_TRIGGER_PIN" documentation="pin number to use to enable the throttle in auto mode. If set to -1 then don't use a trigger, otherwise this is a pin number which if held low in auto mode will enable the motor to run. If the switch is released while in AUTO then the motor will stop again. This can be used in combination with INITIAL_MODE to give a 'press button to start' rover with no receiver." user="standard">
<values>
<value code="-1">Disabled</value>
<value code="0">APM TriggerPin0</value>
<value code="1">APM TriggerPin1</value>
<value code="2">APM TriggerPin2</value>
<value code="3">APM TriggerPin3</value>
<value code="4">APM TriggerPin4</value>
<value code="5">APM TriggerPin5</value>
<value code="6">APM TriggerPin6</value>
<value code="7">APM TriggerPin7</value>
<value code="8">APM TriggerPin8</value>
<value code="50">Pixhawk TriggerPin50</value>
<value code="51">Pixhawk TriggerPin51</value>
<value code="52">Pixhawk TriggerPin52</value>
<value code="53">Pixhawk TriggerPin53</value>
<value code="54">Pixhawk TriggerPin54</value>
<value code="55">Pixhawk TriggerPin55</value>
</values>
</param>
<param humanName="Auto mode trigger kickstart acceleration" name="APMrover2:AUTO_KICKSTART" documentation="X acceleration in meters/second/second to use to trigger the motor start in auto mode. If set to zero then auto throttle starts immediately when the mode switch happens, otherwise the rover waits for the X acceleration to go above this value before it will start the motor" user="standard">
<field name="Range">0 20</field>
<field name="Increment">0.1</field>
<field name="Units">m/s/s</field>
<field name="UnitText">meters per square second</field>
</param>
<param humanName="Target cruise speed in auto modes" name="APMrover2:CRUISE_SPEED" documentation="The target speed in auto missions." user="Standard">
<field name="Range">0 100</field>
<field name="Increment">0.1</field>
<field name="Units">m/s</field>
<field name="UnitText">meters per second</field>
</param>
<param humanName="Pivot turn angle" name="APMrover2:PIVOT_TURN_ANGLE" documentation="Navigation angle threshold in degrees to switch to pivot steering when SKID_STEER_OUT is 1. This allows you to setup a skid steering rover to turn on the spot in auto mode when the angle it needs to turn it greater than this angle. An angle of zero means to disable pivot turning. Note that you will probably also want to set a low value for WP_RADIUS to get neat turns." user="Standard">
<field name="Range">0 360</field>
<field name="Increment">1</field>
<field name="Units">deg</field>
<field name="UnitText">degrees</field>
</param>
<param humanName="Base throttle percentage in auto" name="APMrover2:CRUISE_THROTTLE" documentation="The base throttle percentage to use in auto mode. The CRUISE_SPEED parameter controls the target speed, but the rover starts with the CRUISE_THROTTLE setting as the initial estimate for how much throttle is needed to achieve that speed. It then adjusts the throttle based on how fast the rover is actually going." user="Standard">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">%</field>
<field name="UnitText">percent</field>
</param>
<param humanName="Pilot input steering type" name="APMrover2:PILOT_STEER_TYPE" documentation="Set this to 1 for skid steering input rovers (tank track style in RC controller). When enabled, servo1 is used for the left track control, servo3 is used for right track control" user="Standard">
<values>
<value code="0">Default</value>
<value code="1">Two Paddles Input</value>
<value code="2">Direction reversed when backing up</value>
<value code="3">Direction unchanged when backing up</value>
</values>
</param>
<param humanName="Failsafe Action" name="APMrover2:FS_ACTION" documentation="What to do on a failsafe event" user="Standard">
<values>
<value code="0">Nothing</value>
<value code="1">RTL</value>
<value code="2">Hold</value>
<value code="3">SmartRTL or RTL</value>
<value code="4">SmartRTL or Hold</value>
</values>
</param>
<param humanName="Failsafe timeout" name="APMrover2:FS_TIMEOUT" documentation="The time in seconds that a failsafe condition must persist before the failsafe action is triggered" user="Standard">
<field name="Range">1 100</field>
<field name="Increment">0.5</field>
<field name="Units">s</field>
<field name="UnitText">seconds</field>
</param>
<param humanName="Throttle Failsafe Enable" name="APMrover2:FS_THR_ENABLE" documentation="The throttle failsafe allows you to configure a software failsafe activated by a setting on the throttle input channel to a low value. This can be used to detect the RC transmitter going out of range. Failsafe will be triggered when the throttle channel goes below the FS_THR_VALUE for FS_TIMEOUT seconds." user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
<value code="2">Enabled Continue with Mission in Auto</value>
</values>
</param>
<param humanName="Throttle Failsafe Value" name="APMrover2:FS_THR_VALUE" documentation="The PWM level on the throttle channel below which throttle failsafe triggers." user="Standard">
<field name="Range">910 1100</field>
<field name="Increment">1</field>
</param>
<param humanName="GCS failsafe enable" name="APMrover2:FS_GCS_ENABLE" documentation="Enable ground control station telemetry failsafe. When enabled the Rover will execute the FS_ACTION when it fails to receive MAVLink heartbeat packets for FS_TIMEOUT seconds." user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
<value code="2">Enabled Continue with Mission in Auto</value>
</values>
</param>
<param humanName="Crash check action" name="APMrover2:FS_CRASH_CHECK" documentation="What to do on a crash event. When enabled the rover will go to hold if a crash is detected." user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Hold</value>
<value code="2">HoldAndDisarm</value>
</values>
</param>
<param humanName="EKF Failsafe Action" name="APMrover2:FS_EKF_ACTION" documentation="Controls the action that will be taken when an EKF failsafe is invoked" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Hold</value>
</values>
</param>
<param humanName="EKF failsafe variance threshold" name="APMrover2:FS_EKF_THRESH" documentation="Allows setting the maximum acceptable compass and velocity variance" user="Advanced">
<field name="Values">0.6:Strict, 0.8:Default, 1.0:Relaxed</field>
</param>
<param humanName="Object avoidance trigger distance" name="APMrover2:RNGFND_TRIGGR_CM" documentation="The distance from an obstacle in centimeters at which the rangefinder triggers a turn to avoid the obstacle" user="Standard">
<field name="Range">0 1000</field>
<field name="Increment">1</field>
<field name="Units">cm</field>
<field name="UnitText">centimeters</field>
</param>
<param humanName="Object avoidance turn aggressiveness and direction" name="APMrover2:RNGFND_TURN_ANGL" documentation="The aggressiveness and direction of turn to avoid an obstacle. Large positive or negative values (i.e. -450 or 450) cause turns up to the vehicle's maximum lateral acceleration (TURN_MAX_G) while values near zero cause gentle turns. Positive means to turn right, negative means turn left." user="Standard">
<field name="Range">-450 450</field>
<field name="Increment">1</field>
<field name="Units">deg</field>
<field name="UnitText">degrees</field>
</param>
<param humanName="Object avoidance turn time" name="APMrover2:RNGFND_TURN_TIME" documentation="The amount of time in seconds to apply the RNGFND_TURN_ANGL after detecting an obstacle." user="Standard">
<field name="Range">0 100</field>
<field name="Increment">0.1</field>
<field name="Units">s</field>
<field name="UnitText">seconds</field>
</param>
<param humanName="Object avoidance rangefinder debounce count" name="APMrover2:RNGFND_DEBOUNCE" documentation="The number of 50Hz rangefinder hits needed to trigger an obstacle avoidance event. If you get a lot of false rangefinder events then raise this number, but if you make it too large then it will cause lag in detecting obstacles, which could cause you go hit the obstacle." user="Standard">
<field name="Range">1 100</field>
<field name="Increment">1</field>
</param>
<param humanName="Mode channel" name="APMrover2:MODE_CH" documentation="RC Channel to use for driving mode control" user="Advanced">
</param>
<param humanName="Mode1" name="APMrover2:MODE1" documentation="Driving mode for switch position 1 (910 to 1230 and above 2049)" user="Standard">
<values>
<value code="0">Manual</value>
<value code="1">Acro</value>
<value code="3">Steering</value>
<value code="4">Hold</value>
<value code="5">Loiter</value>
<value code="6">Follow</value>
<value code="7">Simple</value>
<value code="10">Auto</value>
<value code="11">RTL</value>
<value code="12">SmartRTL</value>
<value code="15">Guided</value>
</values>
</param>
<param humanName="Mode2" name="APMrover2:MODE2" documentation="Driving mode for switch position 2 (1231 to 1360)" user="Standard">
<values>
<value code="0">Manual</value>
<value code="1">Acro</value>
<value code="3">Steering</value>
<value code="4">Hold</value>
<value code="5">Loiter</value>
<value code="6">Follow</value>
<value code="7">Simple</value>
<value code="10">Auto</value>
<value code="11">RTL</value>
<value code="12">SmartRTL</value>
<value code="15">Guided</value>
</values>
</param>
<param humanName="Mode3" name="APMrover2:MODE3" documentation="Driving mode for switch position 3 (1361 to 1490)" user="Standard">
<values>
<value code="0">Manual</value>
<value code="1">Acro</value>
<value code="3">Steering</value>
<value code="4">Hold</value>
<value code="5">Loiter</value>
<value code="6">Follow</value>
<value code="7">Simple</value>
<value code="10">Auto</value>
<value code="11">RTL</value>
<value code="12">SmartRTL</value>
<value code="15">Guided</value>
</values>
</param>
<param humanName="Mode4" name="APMrover2:MODE4" documentation="Driving mode for switch position 4 (1491 to 1620)" user="Standard">
<values>
<value code="0">Manual</value>
<value code="1">Acro</value>
<value code="3">Steering</value>
<value code="4">Hold</value>
<value code="5">Loiter</value>
<value code="6">Follow</value>
<value code="7">Simple</value>
<value code="10">Auto</value>
<value code="11">RTL</value>
<value code="12">SmartRTL</value>
<value code="15">Guided</value>
</values>
</param>
<param humanName="Mode5" name="APMrover2:MODE5" documentation="Driving mode for switch position 5 (1621 to 1749)" user="Standard">
<values>
<value code="0">Manual</value>
<value code="1">Acro</value>
<value code="3">Steering</value>
<value code="4">Hold</value>
<value code="5">Loiter</value>
<value code="6">Follow</value>
<value code="7">Simple</value>
<value code="10">Auto</value>
<value code="11">RTL</value>
<value code="12">SmartRTL</value>
<value code="15">Guided</value>
</values>
</param>
<param humanName="Mode6" name="APMrover2:MODE6" documentation="Driving mode for switch position 6 (1750 to 2049)" user="Standard">
<values>
<value code="0">Manual</value>
<value code="1">Acro</value>
<value code="3">Steering</value>
<value code="4">Hold</value>
<value code="5">Loiter</value>
<value code="6">Follow</value>
<value code="7">Simple</value>
<value code="10">Auto</value>
<value code="11">RTL</value>
<value code="12">SmartRTL</value>
<value code="15">Guided</value>
</values>
</param>
<param humanName="Waypoint radius" name="APMrover2:WP_RADIUS" documentation="The distance in meters from a waypoint when we consider the waypoint has been reached. This determines when the rover will turn along the next waypoint path." user="Standard">
<field name="Range">0 1000</field>
<field name="Increment">0.1</field>
<field name="Units">m</field>
<field name="UnitText">meters</field>
</param>
<param humanName="Waypoint overshoot maximum" name="APMrover2:WP_OVERSHOOT" documentation="Waypoint overshoot maximum in meters. The vehicle will attempt to stay within this many meters of the track as it completes one waypoint and moves to the next." user="Standard">
<field name="Range">0 10</field>
<field name="Increment">0.1</field>
<field name="Units">m</field>
<field name="UnitText">meters</field>
</param>
<param humanName="Turning maximum G force" name="APMrover2:TURN_MAX_G" documentation="The maximum turning acceleration (in units of gravities) that the rover can handle while remaining stable. The navigation code will keep the lateral acceleration below this level to avoid rolling over or slipping the wheels in turns" user="Standard">
<field name="Range">0.1 10</field>
<field name="Increment">0.01</field>
<field name="Units">gravities</field>
<field name="UnitText">standard acceleration due to gravity</field>
</param>
<param humanName="GCS sysid enforcement" name="APMrover2:SYSID_ENFORCE" documentation="This controls whether packets from other than the expected GCS system ID will be accepted" user="Advanced">
<values>
<value code="0">NotEnforced</value>
<value code="1">Enforced</value>
</values>
</param>
<param humanName="Turn radius of vehicle" name="APMrover2:TURN_RADIUS" documentation="Turn radius of vehicle in meters while at low speeds. Lower values produce tighter turns in steering mode" user="Standard">
<field name="Range">0 10</field>
<field name="Increment">0.1</field>
<field name="Units">m</field>
<field name="UnitText">meters</field>
</param>
<param humanName="Acro mode turn rate maximum" name="APMrover2:ACRO_TURN_RATE" documentation="Acro mode turn rate maximum" user="Standard">
<field name="Range">0 360</field>
<field name="Increment">1</field>
<field name="Units">deg/s</field>
<field name="UnitText">degrees per second</field>
</param>
<param humanName="Waypoint speed default" name="APMrover2:WP_SPEED" documentation="Waypoint speed default. If zero use CRUISE_SPEED." user="Standard">
<field name="Range">0 100</field>
<field name="Increment">0.1</field>
<field name="Units">m/s</field>
<field name="UnitText">meters per second</field>
</param>
<param humanName="Return-to-Launch speed default" name="APMrover2:RTL_SPEED" documentation="Return-to-Launch speed default. If zero use WP_SPEED or CRUISE_SPEED." user="Standard">
<field name="Range">0 100</field>
<field name="Increment">0.1</field>
<field name="Units">m/s</field>
<field name="UnitText">meters per second</field>
</param>
<param humanName="Frame Class" name="APMrover2:FRAME_CLASS" documentation="Frame Class" user="Standard">
<values>
<value code="0">Undefined</value>
<value code="1">Rover</value>
<value code="2">Boat</value>
<value code="3">BalanceBot</value>
</values>
</param>
<param humanName="Pivot turn rate" name="APMrover2:PIVOT_TURN_RATE" documentation="Desired pivot turn rate in deg/s." user="Standard">
<field name="Range">0 360</field>
<field name="Increment">1</field>
<field name="Units">deg/s</field>
<field name="UnitText">degrees per second</field>
</param>
<param humanName="BalanceBot Maximum Pitch" name="APMrover2:BAL_PITCH_MAX" documentation="Pitch angle in degrees at 100% throttle" user="Standard">
<field name="Range">0 5</field>
<field name="Increment">0.1</field>
<field name="Units">deg</field>
<field name="UnitText">degrees</field>
</param>
<param humanName="Crash Angle" name="APMrover2:CRASH_ANGLE" documentation="Pitch/Roll angle limit in degrees for crash check. Zero disables check" user="Standard">
<field name="Range">0 60</field>
<field name="Increment">1</field>
<field name="Units">deg</field>
<field name="UnitText">degrees</field>
</param>
<param humanName="Frame Type" name="APMrover2:FRAME_TYPE" documentation="Frame Type" user="Standard">
<values>
<value code="0">Undefined</value>
<value code="1">Omni3</value>
<value code="2">OmniX</value>
<value code="3">OmniPlus</value>
</values>
<field name="RebootRequired">True</field>
</param>
<param humanName="Loiter type" name="APMrover2:LOIT_TYPE" documentation="Loiter behaviour when moving to the target point" user="Standard">
<values>
<value code="0">Forward or reverse to target point</value>
<value code="1">Always face bow towards target point</value>
</values>
</param>
<param humanName="Simple_Type" name="APMrover2:SIMPLE_TYPE" documentation="Simple mode types" user="Standard">
<values>
<value code="0">InitialHeading</value>
<value code="1">CardinalDirections</value>
</values>
<field name="RebootRequired">True</field>
</param>
<param humanName="Loiter radius" name="APMrover2:LOIT_RADIUS" documentation="Vehicle will drift when within this distance of the target position" user="Standard">
<field name="Range">0 20</field>
<field name="Increment">1</field>
<field name="Units">m</field>
<field name="UnitText">meters</field>
</param>
<param humanName="Sail min angle" name="APMrover2:SAIL_ANGLE_MIN" documentation="Mainsheet tight, angle between centerline and boom" user="Standard">
<field name="Range">0 90</field>
<field name="Increment">1</field>
<field name="Units">deg</field>
<field name="UnitText">degrees</field>
</param>
<param humanName="Sail max angle" name="APMrover2:SAIL_ANGLE_MAX" documentation="Mainsheet loose, angle between centerline and boom" user="Standard">
<field name="Range">0 90</field>
<field name="Increment">1</field>
<field name="Units">deg</field>
<field name="UnitText">degrees</field>
</param>
<param humanName="Sail ideal angle" name="APMrover2:SAIL_ANGLE_IDEAL" documentation="Ideal angle between sail and apparent wind" user="Standard">
<field name="Range">0 90</field>
<field name="Increment">1</field>
<field name="Units">deg</field>
<field name="UnitText">degrees</field>
</param>
<param humanName="Sailing maximum heel angle" name="APMrover2:SAIL_HEEL_MAX" documentation="When in auto sail trim modes the heel will be limited to this value using PID control" user="Standard">
<field name="Range">0 90</field>
<field name="Increment">1</field>
<field name="Units">deg</field>
<field name="UnitText">degrees</field>
</param>
<param humanName="Sailing no go zone angle" name="APMrover2:SAIL_NO_GO_ANGLE" documentation="The typical closest angle to the wind the vehicle will sail at. the vehicle will sail at this angle when going upwind" user="Standard">
<field name="Range">0 90</field>
<field name="Increment">1</field>
<field name="Units">deg</field>
<field name="UnitText">degrees</field>
</param>
<param humanName="Mission done behave" name="APMrover2:MIS_DONE_BEHAVE" documentation="Mode to become after mission done" user="Standard">
<values>
<value code="0">Hold</value>
<value code="1">Loiter</value>
</values>
</param>
<param humanName="Channel 7 option" name="APMrover2:CH7_OPTION" documentation="What to do use channel 7 for" user="Standard">
<values>
<value code="0">Nothing</value>
<value code="1">SaveWaypoint</value>
<value code="2">LearnCruiseSpeed</value>
<value code="3">ArmDisarm</value>
<value code="4">Manual</value>
<value code="5">Acro</value>
<value code="6">Steering</value>
<value code="7">Hold</value>
<value code="8">Auto</value>
<value code="9">RTL</value>
<value code="10">SmartRTL</value>
<value code="11">Guided</value>
<value code="12">Loiter</value>
</values>
</param>
<param humanName="Auxiliary switch channel" name="APMrover2:AUX_CH" documentation="RC Channel to use for auxiliary functions including saving waypoints" user="Advanced">
</param>
</parameters>
</vehicles><libraries><parameters name="AFS_">
<param humanName="Enable Advanced Failsafe" name="AFS_ENABLE" documentation="This enables the advanced failsafe system. If this is set to zero (disable) then all the other AFS options have no effect" user="Advanced">
</param>
<param humanName="Manual Pin" name="AFS_MAN_PIN" documentation="This sets a digital output pin to set high when in manual mode" user="Advanced">
</param>
<param humanName="Heartbeat Pin" name="AFS_HB_PIN" documentation="This sets a digital output pin which is cycled at 10Hz when termination is not activated. Note that if a FS_TERM_PIN is set then the heartbeat pin will continue to cycle at 10Hz when termination is activated, to allow the termination board to distinguish between autopilot crash and termination." user="Advanced">
</param>
<param humanName="Comms Waypoint" name="AFS_WP_COMMS" documentation="Waypoint number to navigate to on comms loss" user="Advanced">
</param>
<param humanName="GPS Loss Waypoint" name="AFS_GPS_LOSS" documentation="Waypoint number to navigate to on GPS lock loss" user="Advanced">
</param>
<param humanName="Force Terminate" name="AFS_TERMINATE" documentation="Can be set in flight to force termination of the heartbeat signal" user="Advanced">
</param>
<param humanName="Terminate action" name="AFS_TERM_ACTION" documentation="This can be used to force an action on flight termination. Normally this is handled by an external failsafe board, but you can setup APM to handle it here. Please consult the wiki for more information on the possible values of the parameter" user="Advanced">
</param>
<param humanName="Terminate Pin" name="AFS_TERM_PIN" documentation="This sets a digital output pin to set high on flight termination" user="Advanced">
</param>
<param humanName="AMSL limit" name="AFS_AMSL_LIMIT" documentation="This sets the AMSL (above mean sea level) altitude limit. If the pressure altitude determined by QNH exceeds this limit then flight termination will be forced. Note that this limit is in meters, whereas pressure altitude limits are often quoted in feet. A value of zero disables the pressure altitude limit." user="Advanced">
<field name="Units">m</field>
<field name="UnitText">meters</field>
</param>
<param humanName="Error margin for GPS based AMSL limit" name="AFS_AMSL_ERR_GPS" documentation="This sets margin for error in GPS derived altitude limit. This error margin is only used if the barometer has failed. If the barometer fails then the GPS will be used to enforce the AMSL_LIMIT, but this margin will be subtracted from the AMSL_LIMIT first, to ensure that even with the given amount of GPS altitude error the pressure altitude is not breached. OBC users should set this to comply with their D2 safety case. A value of -1 will mean that barometer failure will lead to immediate termination." user="Advanced">
<field name="Units">m</field>
<field name="UnitText">meters</field>
</param>
<param humanName="QNH pressure" name="AFS_QNH_PRESSURE" documentation="This sets the QNH pressure in millibars to be used for pressure altitude in the altitude limit. A value of zero disables the altitude limit." user="Advanced">
<field name="Units">mbar</field>
<field name="UnitText">millibar</field>
</param>
<param humanName="Maximum number of GPS loss events" name="AFS_MAX_GPS_LOSS" documentation="Maximum number of GPS loss events before the aircraft stops returning to mission on GPS recovery. Use zero to allow for any number of GPS loss events." user="Advanced">
</param>
<param humanName="Maximum number of comms loss events" name="AFS_MAX_COM_LOSS" documentation="Maximum number of comms loss events before the aircraft stops returning to mission on comms recovery. Use zero to allow for any number of comms loss events." user="Advanced">
</param>
<param humanName="Enable geofence Advanced Failsafe" name="AFS_GEOFENCE" documentation="This enables the geofence part of the AFS. Will only be in effect if AFS_ENABLE is also 1" user="Advanced">
</param>
<param humanName="Enable RC Advanced Failsafe" name="AFS_RC" documentation="This enables the RC part of the AFS. Will only be in effect if AFS_ENABLE is also 1" user="Advanced">
</param>
<param humanName="Enable RC Termination only in manual control modes" name="AFS_RC_MAN_ONLY" documentation="If this parameter is set to 1, then an RC loss will only cause the plane to terminate in manual control modes. If it is 0, then the plane will terminate in any flight mode." user="Advanced">
</param>
<param humanName="Enable dual loss terminate due to failure of both GCS and GPS simultaneously" name="AFS_DUAL_LOSS" documentation='This enables the dual loss termination part of the AFS system. If this parameter is 1 and both GPS and the ground control station fail simultaneously, this will be considered a "dual loss" and cause termination.' user="Advanced">
</param>
<param humanName="RC failure time" name="AFS_RC_FAIL_TIME" documentation="This is the time in seconds in manual mode that failsafe termination will activate if RC input is lost. For the OBC rules this should be (1.5). Use 0 to disable." user="Advanced">
<field name="Units">s</field>
<field name="UnitText">seconds</field>
</param>
</parameters>
<parameters name="AHRS_">
<param humanName="AHRS GPS gain" name="AHRS_GPS_GAIN" documentation="This controls how much to use the GPS to correct the attitude. This should never be set to zero for a plane as it would result in the plane losing control in turns. For a plane please use the default value of 1.0." user="Advanced">
<field name="Range">0.0 1.0</field>
<field name="Increment">.01</field>
</param>
<param humanName="AHRS use GPS for navigation" name="AHRS_GPS_USE" documentation="This controls whether to use dead-reckoning or GPS based navigation. If set to 0 then the GPS won't be used for navigation, and only dead reckoning will be used. A value of zero should never be used for normal flight. Currently this affects only the DCM-based AHRS: the EKF uses GPS whenever it is available." user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Yaw P" name="AHRS_YAW_P" documentation="This controls the weight the compass or GPS has on the heading. A higher value means the heading will track the yaw source (GPS or compass) more rapidly." user="Advanced">
<field name="Range">0.1 0.4</field>
<field name="Increment">.01</field>
</param>
<param humanName="AHRS RP_P" name="AHRS_RP_P" documentation="This controls how fast the accelerometers correct the attitude" user="Advanced">
<field name="Range">0.1 0.4</field>
<field name="Increment">.01</field>
</param>
<param humanName="Maximum wind" name="AHRS_WIND_MAX" documentation="This sets the maximum allowable difference between ground speed and airspeed. This allows the plane to cope with a failing airspeed sensor. A value of zero means to use the airspeed as is." user="Advanced">
<field name="Range">0 127</field>
<field name="Increment">1</field>
<field name="Units">m/s</field>
<field name="UnitText">meters per second</field>
</param>
<param humanName="AHRS Trim Roll" name="AHRS_TRIM_X" documentation="Compensates for the roll angle difference between the control board and the frame. Positive values make the vehicle roll right." user="Standard">
<field name="Range">-0.1745 +0.1745</field>
<field name="Increment">0.01</field>
<field name="Units">rad</field>
<field name="UnitText">radians</field>
</param>
<param humanName="AHRS Trim Pitch" name="AHRS_TRIM_Y" documentation="Compensates for the pitch angle difference between the control board and the frame. Positive values make the vehicle pitch up/back." user="Standard">
<field name="Range">-0.1745 +0.1745</field>
<field name="Increment">0.01</field>
<field name="Units">rad</field>
<field name="UnitText">radians</field>
</param>
<param humanName="AHRS Trim Yaw" name="AHRS_TRIM_Z" documentation="Not Used" user="Advanced">
<field name="Range">-0.1745 +0.1745</field>
<field name="Increment">0.01</field>
<field name="Units">rad</field>
<field name="UnitText">radians</field>
</param>
<param humanName="Board Orientation" name="AHRS_ORIENTATION" documentation="Overall board orientation relative to the standard orientation for the board type. This rotates the IMU and compass readings to allow the board to be oriented in your vehicle at any 90 or 45 degree angle. This option takes affect on next boot. After changing you will need to re-level your vehicle." user="Advanced">
<values>
<value code="0">None</value>
<value code="1">Yaw45</value>
<value code="2">Yaw90</value>
<value code="3">Yaw135</value>
<value code="4">Yaw180</value>
<value code="5">Yaw225</value>
<value code="6">Yaw270</value>
<value code="7">Yaw315</value>
<value code="8">Roll180</value>
<value code="9">Roll180Yaw45</value>
<value code="10">Roll180Yaw90</value>
<value code="11">Roll180Yaw135</value>
<value code="12">Pitch180</value>
<value code="13">Roll180Yaw225</value>
<value code="14">Roll180Yaw270</value>
<value code="15">Roll180Yaw315</value>
<value code="16">Roll90</value>
<value code="17">Roll90Yaw45</value>
<value code="18">Roll90Yaw90</value>
<value code="19">Roll90Yaw135</value>
<value code="20">Roll270</value>
<value code="21">Roll270Yaw45</value>
<value code="22">Roll270Yaw90</value>
<value code="23">Roll270Yaw135</value>
<value code="24">Pitch90</value>
<value code="25">Pitch270</value>
<value code="26">Pitch180Yaw90</value>
<value code="27">Pitch180Yaw270</value>
<value code="28">Roll90Pitch90</value>
<value code="29">Roll180Pitch90</value>
<value code="30">Roll270Pitch90</value>
<value code="31">Roll90Pitch180</value>
<value code="32">Roll270Pitch180</value>
<value code="33">Roll90Pitch270</value>
<value code="34">Roll180Pitch270</value>
<value code="35">Roll270Pitch270</value>
<value code="36">Roll90Pitch180Yaw90</value>
<value code="37">Roll90Yaw270</value>
<value code="38">Yaw293Pitch68Roll180</value>
<value code="39">Pitch315</value>
<value code="40">Roll90Pitch315</value>
<value code="100">Custom</value>
</values>
</param>
<param humanName="AHRS Velocity Complementary Filter Beta Coefficient" name="AHRS_COMP_BETA" documentation="This controls the time constant for the cross-over frequency used to fuse AHRS (airspeed and heading) and GPS data to estimate ground velocity. Time constant is 0.1/beta. A larger time constant will use GPS data less and a small time constant will use air data less." user="Advanced">
<field name="Range">0.001 0.5</field>
<field name="Increment">.01</field>
</param>
<param humanName="AHRS GPS Minimum satellites" name="AHRS_GPS_MINSATS" documentation="Minimum number of satellites visible to use GPS for velocity based corrections attitude correction. This defaults to 6, which is about the point at which the velocity numbers from a GPS become too unreliable for accurate correction of the accelerometers." user="Advanced">
<field name="Range">0 10</field>
<field name="Increment">1</field>
</param>
<param humanName="Use NavEKF Kalman filter for attitude and position estimation" name="AHRS_EKF_TYPE" documentation="This controls which NavEKF Kalman filter version is used for attitude and position estimation" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="2">Enable EKF2</value>
<value code="3">Enable EKF3</value>
</values>
</param>
<param humanName="Board orientation roll offset" name="AHRS_CUSTOM_ROLL" documentation="Autopilot mounting position roll offset. Positive values = roll right, negative values = roll left. This parameter is only used when AHRS_ORIENTATION is set to CUSTOM." user="Advanced">
<field name="Range">-180 180</field>
<field name="Increment">1</field>
<field name="Units">deg</field>
<field name="UnitText">degrees</field>
</param>
<param humanName="Board orientation pitch offset" name="AHRS_CUSTOM_PIT" documentation="Autopilot mounting position pitch offset. Positive values = pitch up, negative values = pitch down. This parameter is only used when AHRS_ORIENTATION is set to CUSTOM." user="Advanced">
<field name="Range">-180 180</field>
<field name="Increment">1</field>
<field name="Units">deg</field>
<field name="UnitText">degrees</field>
</param>
<param humanName="Board orientation yaw offset" name="AHRS_CUSTOM_YAW" documentation="Autopilot mounting position yaw offset. Positive values = yaw right, negative values = yaw left. This parameter is only used when AHRS_ORIENTATION is set to CUSTOM." user="Advanced">
<field name="Range">-180 180</field>
<field name="Increment">1</field>
<field name="Units">deg</field>
<field name="UnitText">degrees</field>
</param>
</parameters>
<parameters name="ARMING_">
<param humanName="Require Arming Motors " name="ARMING_REQUIRE" documentation="Arming disabled until some requirements are met. If 0, there are no requirements (arm immediately). If 1, require rudder stick or GCS arming before arming motors and sends the minimum throttle PWM value to the throttle channel when disarmed. If 2, require rudder stick or GCS arming and send 0 PWM to throttle channel when disarmed. See the ARMING_CHECK_* parameters to see what checks are done before arming. Note, if setting this parameter to 0 a reboot is required to arm the plane. Also note, even with this parameter at 0, if ARMING_CHECK parameter is not also zero the plane may fail to arm throttle at boot due to a pre-arm check failure." user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">THR_MIN PWM when disarmed</value>
<value code="2">0 PWM when disarmed</value>
</values>
</param>
<param humanName="Arm Checks to Peform (bitmask)" name="ARMING_CHECK" documentation="Checks prior to arming motor. This is a bitmask of checks that will be performed before allowing arming. The default is no checks, allowing arming at any time. You can select whatever checks you prefer by adding together the values of each check type to set this parameter. For example, to only allow arming when you have GPS lock and no RC failsafe you would set ARMING_CHECK to 72. For most users it is recommended that you set this to 1 to enable all checks." user="Standard">
<field name="Bitmask">0:All,1:Barometer,2:Compass,3:GPS lock,4:INS,5:Parameters,6:RC Channels,7:Board voltage,8:Battery Level,9:Airspeed,10:Logging Available,11:Hardware safety switch,12:GPS Configuration,13:System</field>
<values>
<value code="0">None</value>
<value code="1">All</value>
<value code="2">Barometer</value>
<value code="4">Compass</value>
<value code="8">GPS Lock</value>
<value code="16">INS(INertial Sensors - accels & gyros)</value>
<value code="32">Parameters(unused)</value>
<value code="64">RC Channels</value>
<value code="128">Board voltage</value>
<value code="256">Battery Level</value>
<value code="512">Airspeed</value>
<value code="1024">LoggingAvailable</value>
<value code="2048">Hardware safety switch</value>
<value code="4096">GPS configuration</value>
<value code="8192">System</value>
</values>
</param>
<param humanName="Accelerometer error threshold" name="ARMING_ACCTHRESH" documentation="Accelerometer error threshold used to determine inconsistent accelerometers. Compares this error range to other accelerometers to detect a hardware or calibration error. Lower value means tighter check and harder to pass arming check. Not all accelerometers are created equal." user="Advanced">
<field name="Range">0.25 3.0</field>
<field name="Units">m/s/s</field>
<field name="UnitText">meters per square second</field>
</param>
<param humanName="Arming with Rudder enable/disable" name="ARMING_RUDDER" documentation="Allow arm/disarm by rudder input. When enabled arming can be done with right rudder, disarming with left rudder. Rudder arming only works in manual throttle modes with throttle at zero +- deadzone (RCx_DZ)" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">ArmingOnly</value>
<value code="2">ArmOrDisarm</value>
</values>
</param>
<param humanName="Required mission items" name="ARMING_MIS_ITEMS" documentation="Bitmask of mission items that are required to be planned in order to arm the aircraft" user="Advanced">
<field name="Bitmask">0:Land,1:VTOL Land,2:DO_LAND_START,3:Takeoff,4:VTOL Takeoff,5:Rallypoint</field>
</param>
</parameters>
<parameters name="ARSPD">
<param humanName="Airspeed type" name="ARSPD_TYPE" documentation="Type of airspeed sensor" user="Standard">
<values>
<value code="0">None</value>
<value code="1">I2C-MS4525D0</value>
<value code="2">Analog</value>
<value code="3">I2C-MS5525</value>
<value code="4">I2C-MS5525 (0x76)</value>
<value code="5">I2C-MS5525 (0x77)</value>
<value code="6">I2C-SDP3X</value>
<value code="7">I2C-DLVR</value>
<value code="8">UAVCAN</value>
</values>
</param>
<param humanName="Airspeed use" name="ARSPD_USE" documentation="Enables airspeed use for automatic throttle modes and replaces control from THR_TRIM. Continues to display and log airspeed if set to 0. Uses airspeed for control if set to 1. Only uses airspeed when throttle = 0 if set to 2 (useful for gliders with airspeed sensors behind propellers)." user="Standard">
<values>
<value code="0">DoNotUse</value>
<value code="1">Use</value>
<value code="2">UseWhenZeroThrottle</value>
</values>
</param>
<param humanName="Airspeed offset" name="ARSPD_OFFSET" documentation="Airspeed calibration offset" user="Advanced">
<field name="Increment">0.1</field>
</param>
<param humanName="Airspeed ratio" name="ARSPD_RATIO" documentation="Calibrates pitot tube pressure to velocity. Increasing this value will indicate a higher airspeed at any given dynamic pressure." user="Advanced">
<field name="Increment">0.1</field>
</param>
<param humanName="Airspeed pin" name="ARSPD_PIN" documentation="The pin number that the airspeed sensor is connected to for analog sensors. Set to 15 on the Pixhawk for the analog airspeed port. " user="Advanced">
</param>
<param humanName="Automatic airspeed ratio calibration" name="ARSPD_AUTOCAL" documentation="Enables automatic adjustment of ARSPD_RATIO during a calibration flight based on estimation of ground speed and true airspeed. New ratio saved every 2 minutes if change is > 5%. Should not be left enabled." user="Advanced">
</param>
<param humanName="Control pitot tube order" name="ARSPD_TUBE_ORDER" documentation="Changes the pitot tube order to specify the dynamic pressure side of the sensor. Accepts either if set to 2. Accepts only one side if set to 0 or 1 and can help detect excessive pressure on the static port without indicating positive airspeed." user="Advanced">
</param>
<param humanName="Skip airspeed calibration on startup" name="ARSPD_SKIP_CAL" documentation="This parameter allows you to skip airspeed offset calibration on startup, instead using the offset from the last calibration. This may be desirable if the offset variance between flights for your sensor is low and you want to avoid having to cover the pitot tube on each boot." user="Advanced">
<values>
<value code="0">Disable</value>
<value code="1">Enable</value>
</values>
</param>
<param humanName="The PSI range of the device" name="ARSPD_PSI_RANGE" documentation="This parameter allows you to to set the PSI (pounds per square inch) range for your sensor. You should not change this unless you examine the datasheet for your device" user="Advanced">
</param>
<param humanName="Airspeed I2C bus" name="ARSPD_BUS" documentation="Bus number of the I2C bus where the airspeed sensor is connected" user="Advanced">
<values>
<value code="0">Bus0(internal)</value>
<value code="1">Bus1(external)</value>
<value code="2">Bus2(auxillary)</value>
</values>
</param>
<param humanName="Primary airspeed sensor" name="ARSPD_PRIMARY" documentation="This selects which airspeed sensor will be the primary if multiple sensors are found" user="Advanced">
<values>
<value code="0">FirstSensor</value>
<value code="1">2ndSensor</value>
</values>
</param>
<param humanName="Second Airspeed type" name="ARSPD2_TYPE" documentation="Type of 2nd airspeed sensor" user="Standard">
<values>
<value code="0">None</value>
<value code="1">I2C-MS4525D0</value>
<value code="2">Analog</value>
<value code="3">I2C-MS5525</value>
<value code="4">I2C-MS5525 (0x76)</value>
<value code="5">I2C-MS5525 (0x77)</value>
<value code="6">I2C-SDP3X</value>
<value code="7">I2C-DLVR</value>
<value code="8">UAVCAN</value>
</values>
</param>
<param humanName="Enable use of 2nd airspeed sensor" name="ARSPD2_USE" documentation="use airspeed for flight control. When set to 0 airspeed sensor can be logged and displayed on a GCS but won't be used for flight. When set to 1 it will be logged and used. When set to 2 it will be only used when the throttle is zero, which can be useful in gliders with airspeed sensors behind a propeller" user="Standard">
<values>
<value code="0">Don't Use</value>
<value code="1">use</value>
<value code="2">UseWhenZeroThrottle</value>
</values>
</param>
<param humanName="Airspeed offset for 2nd airspeed sensor" name="ARSPD2_OFFSET" documentation="Airspeed calibration offset" user="Advanced">
<field name="Increment">0.1</field>
</param>
<param humanName="Airspeed ratio for 2nd airspeed sensor" name="ARSPD2_RATIO" documentation="Airspeed calibration ratio" user="Advanced">
<field name="Increment">0.1</field>
</param>
<param humanName="Airspeed pin for 2nd airspeed sensor" name="ARSPD2_PIN" documentation="Pin number indicating location of analog airspeed sensors. Pixhawk/Cube if set to 15. " user="Advanced">
</param>
<param humanName="Automatic airspeed ratio calibration for 2nd airspeed sensor" name="ARSPD2_AUTOCAL" documentation="If this is enabled then the autopilot will automatically adjust the ARSPD_RATIO during flight, based upon an estimation filter using ground speed and true airspeed. The automatic calibration will save the new ratio to EEPROM every 2 minutes if it changes by more than 5%. This option should be enabled for a calibration flight then disabled again when calibration is complete. Leaving it enabled all the time is not recommended." user="Advanced">
</param>
<param humanName="Control pitot tube order of 2nd airspeed sensor" name="ARSPD2_TUBE_ORDR" documentation="This parameter allows you to control whether the order in which the tubes are attached to your pitot tube matters. If you set this to 0 then the top connector on the sensor needs to be the dynamic pressure. If set to 1 then the bottom connector needs to be the dynamic pressure. If set to 2 (the default) then the airspeed driver will accept either order. The reason you may wish to specify the order is it will allow your airspeed sensor to detect if the aircraft it receiving excessive pressure on the static port, which would otherwise be seen as a positive airspeed." user="Advanced">
</param>
<param humanName="Skip airspeed calibration on startup for 2nd sensor" name="ARSPD2_SKIP_CAL" documentation="This parameter allows you to skip airspeed offset calibration on startup, instead using the offset from the last calibration. This may be desirable if the offset variance between flights for your sensor is low and you want to avoid having to cover the pitot tube on each boot." user="Advanced">
<values>
<value code="0">Disable</value>
<value code="1">Enable</value>
</values>
</param>
<param humanName="The PSI range of the device for 2nd sensor" name="ARSPD2_PSI_RANGE" documentation="This parameter allows you to to set the PSI (pounds per square inch) range for your sensor. You should not change this unless you examine the datasheet for your device" user="Advanced">
</param>
<param humanName="Airspeed I2C bus for 2nd sensor" name="ARSPD2_BUS" documentation="The bus number of the I2C bus to look for the sensor on" user="Advanced">
<values>
<value code="0">Bus0(internal)</value>
<value code="1">Bus1(external)</value>
<value code="2">Bus2(auxillary)</value>
</values>
</param>
</parameters>
<parameters name="ATC">
<param humanName="Steering control rate P gain" name="ATC_STR_RAT_P" documentation="Steering control rate P gain. Converts the turn rate error (in radians/sec) to a steering control output (in the range -1 to +1)" user="Standard">
<field name="Range">0.000 2.000</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Steering control I gain" name="ATC_STR_RAT_I" documentation="Steering control I gain. Corrects long term error between the desired turn rate (in rad/s) and actual" user="Standard">
<field name="Range">0.000 2.000</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Steering control I gain maximum" name="ATC_STR_RAT_IMAX" documentation="Steering control I gain maximum. Constraings the steering output (range -1 to +1) that the I term will generate" user="Standard">
<field name="Range">0.000 1.000</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Steering control D gain" name="ATC_STR_RAT_D" documentation="Steering control D gain. Compensates for short-term change in desired turn rate vs actual" user="Standard">
<field name="Range">0.000 0.400</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Steering control feed forward" name="ATC_STR_RAT_FF" documentation="Steering control feed forward" user="Standard">
<field name="Range">0.000 3.000</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Steering control filter frequency" name="ATC_STR_RAT_FILT" documentation="Steering control input filter. Lower values reduce noise but add delay." user="Standard">
<field name="Range">0.000 100.000</field>
<field name="Increment">0.1</field>
<field name="Units">Hz</field>
<field name="UnitText">hertz</field>
</param>
<param humanName="Speed control P gain" name="ATC_SPEED_P" documentation="Speed control P gain. Converts the error between the desired speed (in m/s) and actual speed to a motor output (in the range -1 to +1)" user="Standard">
<field name="Range">0.010 2.000</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Speed control I gain" name="ATC_SPEED_I" documentation="Speed control I gain. Corrects long term error between the desired speed (in m/s) and actual speed" user="Standard">
<field name="Range">0.000 2.000</field>
</param>
<param humanName="Speed control I gain maximum" name="ATC_SPEED_IMAX" documentation="Speed control I gain maximum. Constraings the maximum motor output (range -1 to +1) that the I term will generate" user="Standard">
<field name="Range">0.000 1.000</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Speed control D gain" name="ATC_SPEED_D" documentation="Speed control D gain. Compensates for short-term change in desired speed vs actual" user="Standard">
<field name="Range">0.000 0.400</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Speed control feed forward" name="ATC_SPEED_FF" documentation="Speed control feed forward" user="Standard">
<field name="Range">0.000 0.500</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Speed control filter frequency" name="ATC_SPEED_FILT" documentation="Speed control input filter. Lower values reduce noise but add delay." user="Standard">
<field name="Range">0.000 100.000</field>
<field name="Increment">0.1</field>
<field name="Units">Hz</field>
<field name="UnitText">hertz</field>
</param>
<param humanName="Speed control acceleration (and deceleration) maximum in m/s/s" name="ATC_ACCEL_MAX" documentation="Speed control acceleration (and deceleration) maximum in m/s/s. 0 to disable acceleration limiting" user="Standard">
<field name="Range">0.0 10.0</field>
<field name="Increment">0.1</field>
<field name="Units">m/s/s</field>
<field name="UnitText">meters per square second</field>
</param>
<param humanName="Speed control brake enable/disable" name="ATC_BRAKE" documentation="Speed control brake enable/disable. Allows sending a reversed output to the motors to slow the vehicle." user="Standard">
<values>
<value code="0">Disable</value>
<value code="1">Enable</value>
</values>
</param>
<param humanName="Speed control stop speed" name="ATC_STOP_SPEED" documentation="Speed control stop speed. Motor outputs to zero once vehicle speed falls below this value" user="Standard">
<field name="Range">0.00 0.50</field>
<field name="Increment">0.01</field>
<field name="Units">m/s</field>
<field name="UnitText">meters per second</field>
</param>
<param humanName="Steering control angle P gain" name="ATC_STR_ANG_P" documentation="Steering control angle P gain. Converts the error between the desired heading/yaw (in radians) and actual heading/yaw to a desired turn rate (in rad/sec)" user="Standard">
<field name="Range">1.000 10.000</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Steering control angular acceleration maximum" name="ATC_STR_ACC_MAX" documentation="Steering control angular acceleartion maximum (in deg/s/s). 0 to disable acceleration limiting" user="Standard">
<field name="Range">0 1000</field>
<field name="Increment">0.1</field>
<field name="Units">deg/s/s</field>
<field name="UnitText">degrees per square second</field>
</param>
<param humanName="Steering control rotation rate maximum" name="ATC_STR_RAT_MAX" documentation="Steering control rotation rate maximum in deg/s. 0 to remove rate limiting" user="Standard">
<field name="Range">0 1000</field>
<field name="Increment">0.1</field>
<field name="Units">deg/s</field>
<field name="UnitText">degrees per second</field>
</param>
<param humanName="Speed control deceleration maximum in m/s/s" name="ATC_DECEL_MAX" documentation="Speed control and deceleration maximum in m/s/s. 0 to use ATC_ACCEL_MAX for deceleration" user="Standard">
<field name="Range">0.0 10.0</field>
<field name="Increment">0.1</field>
<field name="Units">m/s/s</field>
<field name="UnitText">meters per square second</field>
</param>
<param humanName="Pitch control P gain" name="ATC_BAL_P" documentation="Pitch control P gain for BalanceBots. Converts the error between the desired pitch (in radians) and actual pitch to a motor output (in the range -1 to +1)" user="Standard">
<field name="Range">0.000 2.000</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Pitch control I gain" name="ATC_BAL_I" documentation="Pitch control I gain for BalanceBots. Corrects long term error between the desired pitch (in radians) and actual pitch" user="Standard">
<field name="Range">0.000 2.000</field>
</param>
<param humanName="Pitch control I gain maximum" name="ATC_BAL_IMAX" documentation="Pitch control I gain maximum. Constrains the maximum motor output (range -1 to +1) that the I term will generate" user="Standard">
<field name="Range">0.000 1.000</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Pitch control D gain" name="ATC_BAL_D" documentation="Pitch control D gain. Compensates for short-term change in desired pitch vs actual" user="Standard">
<field name="Range">0.000 0.100</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Pitch control feed forward" name="ATC_BAL_FF" documentation="Pitch control feed forward" user="Standard">
<field name="Range">0.000 0.500</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Pitch control filter frequency" name="ATC_BAL_FILT" documentation="Pitch control input filter. Lower values reduce noise but add delay." user="Standard">
<field name="Range">0.000 100.000</field>
<field name="Increment">0.1</field>
<field name="Units">Hz</field>
<field name="UnitText">hertz</field>
</param>
<param humanName="Pitch control feed forward from speed" name="ATC_BAL_SPD_FF" documentation="Pitch control feed forward from speed" user="Standard">
<field name="Range">0.0 10.0</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Sail Heel control P gain" name="ATC_SAIL_P" documentation="Sail Heel control P gain for sailboats. Converts the error between the desired heel angle (in radians) and actual heel to a main sail output (in the range -1 to +1)" user="Standard">
<field name="Range">0.000 2.000</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Sail Heel control I gain" name="ATC_SAIL_I" documentation="Sail Heel control I gain for sailboats. Corrects long term error between the desired heel angle (in radians) and actual" user="Standard">
<field name="Range">0.000 2.000</field>
</param>
<param humanName="Sail Heel control I gain maximum" name="ATC_SAIL_IMAX" documentation="Sail Heel control I gain maximum. Constrains the maximum I term contribution to the main sail output (range -1 to +1)" user="Standard">
<field name="Range">0.000 1.000</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Sail Heel control D gain" name="ATC_SAIL_D" documentation="Sail Heel control D gain. Compensates for short-term change in desired heel angle vs actual" user="Standard">
<field name="Range">0.000 0.100</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Sail Heel control feed forward" name="ATC_SAIL_FF" documentation="Sail Heel control feed forward" user="Standard">
<field name="Range">0.000 0.500</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Sail Heel control filter frequency" name="ATC_SAIL_FILT" documentation="Sail Heel control input filter. Lower values reduce noise but add delay." user="Standard">
<field name="Range">0.000 100.000</field>
<field name="Increment">0.1</field>
<field name="Units">Hz</field>
<field name="UnitText">hertz</field>
</param>
</parameters>
<parameters name="AVOID_">
<param humanName="Avoidance control enable/disable" name="AVOID_ENABLE" documentation="Enabled/disable stopping at fence" user="Standard">
<field name="Bitmask">0:StopAtFence,1:UseProximitySensor,2:StopAtBeaconFence</field>
<values>
<value code="0">None</value>
<value code="1">StopAtFence</value>
<value code="2">UseProximitySensor</value>
<value code="3">StopAtFence and UseProximitySensor</value>
<value code="4">StopAtBeaconFence</value>
<value code="7">All</value>
</values>
</param>
<param humanName="Avoidance max lean angle in non-GPS flight modes" name="AVOID_ANGLE_MAX" documentation="Max lean angle used to avoid obstacles while in non-GPS modes" user="Standard">
<field name="Range">0 4500</field>
<field name="Units">cdeg</field>
<field name="UnitText">centidegrees</field>
</param>
<param humanName="Avoidance distance maximum in non-GPS flight modes" name="AVOID_DIST_MAX" documentation="Distance from object at which obstacle avoidance will begin in non-GPS modes" user="Standard">
<field name="Range">1 30</field>
<field name="Units">m</field>
<field name="UnitText">meters</field>
</param>
<param humanName="Avoidance distance margin in GPS modes" name="AVOID_MARGIN" documentation="Vehicle will attempt to stay at least this distance (in meters) from objects while in GPS modes" user="Standard">
<field name="Range">1 10</field>
<field name="Units">m</field>
<field name="UnitText">meters</field>
</param>
<param humanName="Avoidance behaviour" name="AVOID_BEHAVE" documentation="Avoidance behaviour (slide or stop)" user="Standard">
<values>
<value code="0">Slide</value>
<value code="1">Stop</value>
</values>
</param>
</parameters>
<parameters name="BATT2_">
<param humanName="Battery monitoring" name="BATT2_MONITOR" documentation="Controls enabling monitoring of the battery's voltage and current" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="3">Analog Voltage Only</value>
<value code="4">Analog Voltage and Current</value>
<value code="5">Solo</value>
<value code="6">Bebop</value>
<value code="7">SMBus-Maxell</value>
<value code="8">UAVCAN-BatteryInfo</value>
<value code="9">BLHeli ESC</value>
<value code="10">SumOfFollowing</value>
</values>
<field name="RebootRequired">True</field>
</param>
<param humanName="Battery Voltage sensing pin" name="BATT2_VOLT_PIN" documentation="Sets the analog input pin that should be used for voltage monitoring." user="Standard">
<values>
<value code="-1">Disabled</value>
<value code=" 2">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
<value code=" 13">Pixhawk2_PM2</value>
<value code=" 100">PX4-v1</value>
</values>
<field name="RebootRequired">True</field>
</param>
<param humanName="Battery Current sensing pin" name="BATT2_CURR_PIN" documentation="Sets the analog input pin that should be used for current monitoring." user="Standard">
<values>
<value code="-1">Disabled</value>
<value code=" 3">Pixhawk/Pixracer/Navio2/Pixhawk2_PM1</value>
<value code=" 14">Pixhawk2_PM2</value>
<value code=" 101">PX4-v1</value>
</values>
<field name="RebootRequired">True</field>
</param>
<param humanName="Voltage Multiplier" name="BATT2_VOLT_MULT" documentation="Used to convert the voltage of the voltage sensing pin (BATT2_VOLT_PIN) to the actual battery's voltage (pin_voltage * VOLT_MULT). For the 3DR Power brick with a Pixhawk, this should be set to 10.1. For the Pixhawk with the 3DR 4in1 ESC this should be 12.02. For the PX using the PX4IO power supply this should be set to 1." user="Advanced">
</param>
<param humanName="Amps per volt" name="BATT2_AMP_PERVLT" documentation="Number of amps that a 1V reading on the current sensor corresponds to. With a Pixhawk using the 3DR Power brick this should be set to 17. For the Pixhawk with the 3DR 4in1 ESC this should be 17." user="Standard">
<field name="Units">A/V</field>
<field name="UnitText">ampere per volt</field>
</param>
<param humanName="AMP offset" name="BATT2_AMP_OFFSET" documentation="Voltage offset at zero current on current sensor" user="Standard">
<field name="Units">V</field>
<field name="UnitText">volt</field>
</param>
<param humanName="Battery capacity" name="BATT2_CAPACITY" documentation="Capacity of the battery in mAh when full" user="Standard">
<field name="Increment">50</field>
<field name="Units">mAh</field>
<field name="UnitText">milliampere hour</field>
</param>
<param humanName="Maximum allowed power (Watts)" name="BATT2_WATT_MAX" documentation="If battery wattage (voltage * current) exceeds this value then the system will reduce max throttle (THR_MAX, TKOFF_THR_MAX and THR_MIN for reverse thrust) to satisfy this limit. This helps limit high current to low C rated batteries regardless of battery voltage. The max throttle will slowly grow back to THR_MAX (or TKOFF_THR_MAX ) and THR_MIN if demanding the current max and under the watt max. Use 0 to disable." user="Advanced">
<field name="Increment">1</field>
<field name="Units">W</field>
<field name="UnitText">watt</field>
</param>
<param humanName="Battery serial number" name="BATT2_SERIAL_NUM" documentation="Battery serial number, automatically filled in for SMBus batteries, otherwise will be -1. With UAVCAN it is the battery_id." user="Advanced">
</param>
<param humanName="Low voltage timeout" name="BATT2_LOW_TIMER" documentation="This is the timeout in seconds before a low voltage event will be triggered. For aircraft with low C batteries it may be necessary to raise this in order to cope with low voltage on long takeoffs. A value of zero disables low voltage errors." user="Advanced">
<field name="Range">0 120</field>
<field name="Increment">1</field>
<field name="Units">s</field>
<field name="UnitText">seconds</field>
</param>
<param humanName="Failsafe voltage source" name="BATT2_FS_VOLTSRC" documentation="Voltage type used for detection of low voltage event" user="Advanced">
<values>
<value code="0">Raw Voltage</value>
<value code=" 1">Sag Compensated Voltage</value>
</values>
</param>
<param humanName="Low battery voltage" name="BATT2_LOW_VOLT" documentation="Battery voltage that triggers a low battery failsafe. Set to 0 to disable. If the battery voltage drops below this voltage continuously for more then the period specified by the BATT2_LOW_TIMER parameter then the vehicle will perform the failsafe specified by the BATT2_FS_LOW_ACT parameter." user="Standard">
<field name="Increment">0.1</field>
<field name="Units">V</field>