Skip to content
APMParameterFactMetaData.Rover.3.5.xml 605 KiB
Newer Older
DonLakeFlyer's avatar
DonLakeFlyer committed
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 &amp; 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 &gt; 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>