<?xml version="1.0" encoding="utf-8"?>
        <!-- Dynamically generated list of documented parameters (generated by param_parse.py) -->    
        <paramfile>
        <vehicles>
        <parameters name="ArduPlane">
<param humanName="Eeprom format version number" name="ArduPlane:FORMAT_VERSION" documentation="This value is incremented when changes are made to the eeprom format" user="Advanced">
</param>
<param humanName="Software Type" name="ArduPlane:SYSID_SW_TYPE" documentation="This is used by the ground station to recognise the software type (eg ArduPlane vs ArduCopter)" user="Advanced">
<field name="ReadOnly">True</field>
</param>
<param humanName="MAVLink system ID of this vehicle" name="ArduPlane:SYSID_THISMAV" 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="Ground station MAVLink system ID" name="ArduPlane: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="CLI Enable" name="ArduPlane:CLI_ENABLED" documentation="This enables/disables the checking for three carriage returns on telemetry links on startup to enter the diagnostics command line interface" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Autotune level" name="ArduPlane:AUTOTUNE_LEVEL" documentation="Level of aggressiveness for autotune. When autotune is run a lower AUTOTUNE_LEVEL will result in a 'softer' tune, with less aggressive gains. For most users a level of 6 is recommended." user="Standard">
<field name="Range">1 10</field>
<field name="Increment">1</field>
</param>
<param humanName="Telemetry startup delay " name="ArduPlane: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 10</field>
<field name="Increment">1</field>
<field name="Units">seconds</field>
</param>
<param humanName="GCS PID tuning mask" name="ArduPlane:GCS_PID_MASK" documentation="bitmask of PIDs to send MAVLink PID_TUNING messages for" user="Advanced">
<field name="Bitmask">0:Roll,1:Pitch,2:Yaw</field>
<values>
<value code="0">None</value>
<value code="1">Roll</value>
<value code="2">Pitch</value>
<value code="4">Yaw</value>
</values>
</param>
<param humanName="Rudder Mix" name="ArduPlane:KFF_RDDRMIX" documentation="The amount of rudder mix to apply during aileron movement 0 = 0 %, 1 = 100%" user="Standard">
<field name="Range">0 1</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Throttle to Pitch Mix" name="ArduPlane:KFF_THR2PTCH" documentation="Throttle to pitch feed-forward gain." user="Advanced">
<field name="Range">0 5</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Low throttle pitch down trim " name="ArduPlane:STAB_PITCH_DOWN" documentation="This controls the amount of down pitch to add in FBWA and AUTOTUNE modes when at low throttle. No down trim is added when throttle is above TRIM_THROTTLE. Below TRIM_THROTTLE downtrim is added in proportion to the amount the throttle is below TRIM_THROTTLE. At zero throttle the full downpitch specified in this parameter is added. This parameter is meant to help keep airspeed up when flying in FBWA mode with low throttle, such as when on a landing approach, without relying on an airspeed sensor. A value of 2 degrees is good for many planes, although a higher value may be needed for high drag aircraft." user="Advanced">
<field name="Range">0 15</field>
<field name="Increment">0.1</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Glide slope minimum" name="ArduPlane:GLIDE_SLOPE_MIN" documentation="This controls the minimum altitude change for a waypoint before a glide slope will be used instead of an immediate altitude change. The default value is 15 meters, which helps to smooth out waypoint missions where small altitude changes happen near waypoints. If you don't want glide slopes to be used in missions then you can set this to zero, which will disable glide slope calculations. Otherwise you can set it to a minimum number of meters of altitude error to the destination waypoint before a glide slope will be used to change altitude." user="Advanced">
<field name="Range">0 1000</field>
<field name="Increment">1</field>
<field name="Units">meters</field>
</param>
<param humanName="Glide slope threshold" name="ArduPlane:GLIDE_SLOPE_THR" documentation="This controls the height above the glide slope the plane may be before rebuilding a glide slope. This is useful for smoothing out an autotakeoff" user="Advanced">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">meters</field>
</param>
<param humanName="Stick Mixing" name="ArduPlane:STICK_MIXING" documentation='When enabled, this adds user stick input to the control surfaces in auto modes, allowing the user to have some degree of flight control without changing modes.  There are two types of stick mixing available. If you set STICK_MIXING to 1 then it will use "fly by wire" mixing, which controls the roll and pitch in the same way that the FBWA mode does. This is the safest option if you usually fly ArduPlane in FBWA or FBWB mode. If you set STICK_MIXING to 2 then it will enable direct mixing mode, which is what the STABILIZE mode uses. That will allow for much more extreme maneuvers while in AUTO mode.' user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">FBWMixing</value>
<value code="2">DirectMixing</value>
</values>
</param>
<param humanName="Use FBWA steering in AUTO" name="ArduPlane:AUTO_FBW_STEER" documentation="When enabled this option gives FBWA navigation and steering in AUTO mode. This can be used to allow manual stabilised piloting with waypoint logic for triggering payloads. With this enabled the pilot has the same control over the plane as in FBWA mode, and the normal AUTO navigation is completely disabled. THIS OPTION IS NOT RECOMMENDED FOR NORMAL USE." user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="42">Enabled</value>
</values>
</param>
<param humanName="Takeoff throttle min speed" name="ArduPlane:TKOFF_THR_MINSPD" documentation="Minimum GPS ground speed in m/s used by the speed check that un-suppresses throttle in auto-takeoff. This can be be used for catapult launches where you want the motor to engage only after the plane leaves the catapult, but it is preferable to use the TKOFF_THR_MINACC and TKOFF_THR_DELAY parameters for catapult launches due to the errors associated with GPS measurements. For hand launches with a pusher prop it is strongly advised that this parameter be set to a value no less than 4 m/s to provide additional protection against premature motor start. Note that the GPS velocity will lag the real velocity by about 0.5 seconds. The ground speed check is delayed by the TKOFF_THR_DELAY parameter." user="User">
<field name="Range">0 30</field>
<field name="Increment">0.1</field>
<field name="Units">m/s</field>
</param>
<param humanName="Takeoff throttle min acceleration" name="ArduPlane:TKOFF_THR_MINACC" documentation="Minimum forward acceleration in m/s/s before arming the ground speed check in auto-takeoff. This is meant to be used for hand launches. Setting this value to 0 disables the acceleration test which means the ground speed check will always be armed which could allow GPS velocity jumps to start the engine. For hand launches and bungee launches this should be set to around 15." user="User">
<field name="Range">0 30</field>
<field name="Increment">0.1</field>
<field name="Units">m/s/s</field>
</param>
<param humanName="Takeoff throttle delay" name="ArduPlane:TKOFF_THR_DELAY" documentation="This parameter sets the time delay (in 1/10ths of a second) that the ground speed check is delayed after the forward acceleration check controlled by TKOFF_THR_MINACC has passed. For hand launches with pusher propellers it is essential that this is set to a value of no less than 2 (0.2 seconds) to ensure that the aircraft is safely clear of the throwers arm before the motor can start. For bungee launches a larger value can be used (such as 30) to give time for the bungee to release from the aircraft before the motor is started." user="User">
<field name="Range">0 127</field>
<field name="Increment">1</field>
<field name="Units">0.1 seconds</field>
</param>
<param humanName="Takeoff tail dragger elevator" name="ArduPlane:TKOFF_TDRAG_ELEV" documentation="This parameter sets the amount of elevator to apply during the initial stage of a takeoff. It is used to hold the tail wheel of a taildragger on the ground during the initial takeoff stage to give maximum steering. This option should be combined with the TKOFF_TDRAG_SPD1 option and the GROUND_STEER_ALT option along with tuning of the ground steering controller. A value of zero means to bypass the initial &quot;tail hold&quot; stage of takeoff. Set to zero for hand and catapult launch. For tail-draggers you should normally set this to 100, meaning full up elevator during the initial stage of takeoff. For most tricycle undercarriage aircraft a value of zero will work well, but for some tricycle aircraft a small negative value (say around -20 to -30) will apply down elevator which will hold the nose wheel firmly on the ground during initial acceleration. Only use a negative value if you find that the nosewheel doesn't grip well during takeoff. Too much down elevator on a tricycle undercarriage may cause instability in steering as the plane pivots around the nosewheel. Add down elevator 10 percent at a time." user="User">
<field name="Range">-100 100</field>
<field name="Increment">1</field>
<field name="Units">Percent</field>
</param>
<param humanName="Takeoff tail dragger speed1" name="ArduPlane:TKOFF_TDRAG_SPD1" documentation='This parameter sets the airspeed at which to stop holding the tail down and transition to rudder control of steering on the ground. When TKOFF_TDRAG_SPD1 is reached the pitch of the aircraft will be held level until TKOFF_ROTATE_SPD is reached, at which point the takeoff pitch specified in the mission will be used to "rotate" the pitch for takeoff climb. Set TKOFF_TDRAG_SPD1 to zero to go straight to rotation. This should be set to zero for hand launch and catapult launch. It should also be set to zero for tricycle undercarriages unless you are using the method above to genetly hold the nose wheel down. For tail dragger aircraft it should be set just below the stall speed.' user="User">
<field name="Range">0 30</field>
<field name="Increment">0.1</field>
<field name="Units">m/s</field>
</param>
<param humanName="Takeoff rotate speed" name="ArduPlane:TKOFF_ROTATE_SPD" documentation='This parameter sets the airspeed at which the aircraft will "rotate", setting climb pitch specified in the mission. If TKOFF_ROTATE_SPD is zero then the climb pitch will be used as soon as takeoff is started. For hand launch and catapult launches a TKOFF_ROTATE_SPD of zero should be set. For all ground launches TKOFF_ROTATE_SPD should be set above the stall speed, usually by about 10 to 30 percent' user="User">
<field name="Range">0 30</field>
<field name="Increment">0.1</field>
<field name="Units">m/s</field>
</param>
<param humanName="Takeoff throttle slew rate" name="ArduPlane:TKOFF_THR_SLEW" documentation="This parameter sets the slew rate for the throttle during auto takeoff. When this is zero the THR_SLEWRATE parameter is used during takeoff. For rolling takeoffs it can be a good idea to set a lower slewrate for takeoff to give a slower acceleration which can improve ground steering control. The value is a percentage throttle change per second, so a value of 20 means to advance the throttle over 5 seconds on takeoff. Values below 20 are not recommended as they may cause the plane to try to climb out with too little throttle." user="User">
<field name="Range">0 127</field>
<field name="Increment">1</field>
<field name="Units">percent</field>
</param>
<param humanName="Takeoff pitch limit reduction" name="ArduPlane:TKOFF_PLIM_SEC" documentation="This parameter reduces the pitch minimum limit of an auto-takeoff just a few seconds before it reaches the target altitude. This reduces overshoot by allowing the flight controller to start leveling off a few seconds before reaching the target height. When set to zero, the mission pitch min is enforced all the way to and through the target altitude, otherwise the pitch min slowly reduces to zero in the final segment. This is the pitch_min, not the demand. The flight controller should still be commanding to gain altitude to finish the takeoff but with this param it is not forcing it higher than it wants to be." user="Advanced">
<field name="Range">0 10</field>
<field name="Increment">0.5</field>
<field name="Units">seconds</field>
</param>
<param humanName="Landing throttle slew rate" name="ArduPlane:LAND_THR_SLEW" documentation="This parameter sets the slew rate for the throttle during auto landing. When this is zero the THR_SLEWRATE parameter is used during landing. The value is a percentage throttle change per second, so a value of 20 means to advance the throttle over 5 seconds on landing. Values below 50 are not recommended as it may cause a stall when airspeed is low and you can not throttle up fast enough." user="User">
<field name="Range">0 127</field>
<field name="Increment">1</field>
<field name="Units">percent</field>
</param>
<param humanName="Takeoff flap percentage" name="ArduPlane:TKOFF_FLAP_PCNT" documentation="The amount of flaps (as a percentage) to apply in automatic takeoff" user="Advanced">
<field name="Range">0 100</field>
<field name="Units">Percent</field>
</param>
<param humanName="FBWA taildragger channel" name="ArduPlane:FBWA_TDRAG_CHAN" documentation="This is a RC input channel which when it goes above 1700 enables FBWA taildragger takeoff mode. It should be assigned to a momentary switch. Once this feature is enabled it will stay enabled until the aircraft goes above TKOFF_TDRAG_SPD1 airspeed, changes mode, or the pitch goes above the initial pitch when this is engaged or goes below 0 pitch. When enabled the elevator will be forced to TKOFF_TDRAG_ELEV. This option allows for easier takeoffs on taildraggers in FBWA mode, and also makes it easier to test auto-takeoff steering handling in FBWA. Setting it to 0 disables this option." user="Standard">
</param>
<param humanName="Level flight roll limit" name="ArduPlane:LEVEL_ROLL_LIMIT" documentation="This controls the maximum bank angle in degrees during flight modes where level flight is desired, such as in the final stages of landing, and during auto takeoff. This should be a small angle (such as 5 degrees) to prevent a wing hitting the runway during takeoff or landing. Setting this to zero will completely disable heading hold on auto takeoff and final landing approach." user="User">
<field name="Range">0 45</field>
<field name="Increment">1</field>
<field name="Units">degrees</field>
</param>
<param humanName="Landing slope re-calc threshold" name="ArduPlane:LAND_SLOPE_RCALC" documentation="This parameter is used when using a rangefinder during landing for altitude correction from baro drift (RNGFND_LANDING=1) and the altitude correction indicates your altitude is lower than the intended slope path. This value is the threshold of the correction to re-calculate the landing approach slope. Set to zero to keep the original slope all the way down and any detected baro drift will be corrected by pitching/throttling up to snap back to resume the original slope path. Otherwise, when a rangefinder altitude correction exceeds this threshold it will trigger a slope re-calculate to give a shallower slope. This also smoothes out the approach when flying over objects such as trees. Recommend a value of 2m." user="Advanced">
<field name="Range">0 5</field>
<field name="Increment">0.5</field>
<field name="Units">meters</field>
</param>
<param humanName="Landing auto-abort slope threshold" name="ArduPlane:LAND_ABORT_DEG" documentation="This parameter is used when using a rangefinder during landing for altitude correction from baro drift (RNGFND_LANDING=1) and the altitude correction indicates your actual altitude is higher than the intended slope path. Normally it would pitch down steeply but that can result in a crash with high airspeed so this allows remembering the baro offset and self-abort the landing and come around for another landing with the correct baro offset applied for a perfect slope. An auto-abort go-around will only happen once, next attempt will not auto-abort again. This operation happens entirely automatically in AUTO mode. This value is the delta degrees threshold to trigger the go-around compared to the origional slope. Example: if set to 5 deg and the mission planned slope is 15 deg then if the new slope is 21 then it will go-around. Set to 0 to disable. Requires LAND_SLOPE_RCALC &gt; 0." user="Advanced">
<field name="Range">0 90</field>
<field name="Increment">0.1</field>
<field name="Units">degrees</field>
</param>
<param humanName="Landing Pitch" name="ArduPlane:LAND_PITCH_CD" documentation="Used in autoland to give the minimum pitch in the final stage of landing (after the flare). This parameter can be used to ensure that the final landing attitude is appropriate for the type of undercarriage on the aircraft. Note that it is a minimum pitch only - the landing code will control pitch above this value to try to achieve the configured landing sink rate." user="Advanced">
<field name="Units">centi-Degrees</field>
</param>
<param humanName="Landing flare altitude" name="ArduPlane:LAND_FLARE_ALT" documentation="Altitude in autoland at which to lock heading and flare to the LAND_PITCH_CD pitch. Note that this option is secondary to LAND_FLARE_SEC. For a good landing it preferable that the flare is triggered by LAND_FLARE_SEC. " user="Advanced">
<field name="Increment">0.1</field>
<field name="Units">meters</field>
</param>
<param humanName="Landing flare time" name="ArduPlane:LAND_FLARE_SEC" documentation="Vertical time before landing point at which to lock heading and flare with the motor stopped. This is vertical time, and is calculated based solely on the current height above the ground and the current descent rate.  Set to 0 if you only wish to flare based on altitude (see LAND_FLARE_ALT)." user="Advanced">
<field name="Increment">0.1</field>
<field name="Units">seconds</field>
</param>
<param humanName="Landing pre-flare altitude" name="ArduPlane:LAND_PF_ALT" documentation="Altitude to trigger pre-flare flight stage where LAND_PF_ARSPD controls airspeed. The pre-flare flight stage trigger works just like LAND_FLARE_ALT but higher. Disabled when LAND_PF_ARSPD is 0." user="Advanced">
<field name="Range">0 30</field>
<field name="Increment">0.1</field>
<field name="Units">meters</field>
</param>
<param humanName="Landing pre-flare time" name="ArduPlane:LAND_PF_SEC" documentation="Vertical time to ground to trigger pre-flare flight stage where LAND_PF_ARSPD controls airspeed. This pre-flare flight stage trigger works just like LAND_FLARE_SEC but earlier. Disabled when LAND_PF_ARSPD is 0." user="Advanced">
<field name="Range">0 10</field>
<field name="Increment">0.1</field>
<field name="Units">seconds</field>
</param>
<param humanName="Landing pre-flare airspeed" name="ArduPlane:LAND_PF_ARSPD" documentation="Desired airspeed during pre-flare flight stage. This is useful to reduce airspeed just before the flare. Use 0 to disable." user="Advanced">
<field name="Range">0 30</field>
<field name="Increment">0.1</field>
<field name="Units">m/s</field>
</param>
<param humanName="Bitmask for when to allow negative reverse thrust" name="ArduPlane:USE_REV_THRUST" documentation="Typically THR_MIN will be clipped to zero unless reverse thrust is available. Since you may not want negative thrust available at all times this bitmask allows THR_MIN to go below 0 while executing certain auto-mission commands." user="Advanced">
<field name="Bitmask">0:AUTO_ALWAYS,1:AUTO_LAND,2:AUTO_LOITER_TO_ALT,3:AUTO_LOITER_ALL,4:AUTO_WAYPOINTS,5:LOITER,6:RTL,7:CIRCLE,8:CRUISE,9:FBWB,10:GUIDED</field>
<values>
<value code="0">Disabled</value>
<value code="1">AlwaysAllowedInAuto</value>
<value code="2">Auto_LandApproach</value>
<value code="4">Auto_LoiterToAlt</value>
<value code="8">Auto_Loiter</value>
<value code="16">Auto_Waypoint</value>
<value code="32">Loiter</value>
<value code="64">RTL</value>
<value code="128">Circle</value>
<value code="256">Cruise</value>
<value code="512">FBWB</value>
<value code="1024">Guided</value>
</values>
</param>
<param humanName="Landing disarm delay" name="ArduPlane:LAND_DISARMDELAY" documentation="After a landing has completed using a LAND waypoint, automatically disarm after this many seconds have passed. Use 0 to not disarm." user="Advanced">
<field name="Range">0 127</field>
<field name="Increment">1</field>
<field name="Units">seconds</field>
</param>
<param humanName="Set servos to neutral after landing" name="ArduPlane:LAND_THEN_NEUTRL" documentation="When enabled, after an autoland and auto-disarm via LAND_DISARMDELAY happens then set all servos to neutral. This is helpful when an aircraft has a rough landing upside down or a crazy angle causing the servos to strain." user="Advanced">
<values>
<value code="0">Disabled</value>
<value code=" 1">Servos to Neutral</value>
<value code=" 2">Servos to Zero PWM</value>
</values>
</param>
<param humanName="Landing abort using throttle" name="ArduPlane:LAND_ABORT_THR" documentation="Allow a landing abort to trigger with a throttle &gt; 95%" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code=" 1">Enabled</value>
</values>
</param>
<param humanName="Navigation controller selection" name="ArduPlane:NAV_CONTROLLER" documentation="Which navigation controller to enable. Currently the only navigation controller available is L1. From time to time other experimental controllers will be added which are selected using this parameter." user="Standard">
<values>
<value code="0">Default</value>
<value code="1">L1Controller</value>
</values>
</param>
<param humanName="GPS to Baro Mix" name="ArduPlane:ALT_MIX" documentation="The percent of mixing between GPS altitude and baro altitude. 0 = 100% gps, 1 = 100% baro. It is highly recommend that you not change this from the default of 1, as GPS altitude is notoriously unreliable. The only time I would recommend changing this is if you have a high altitude enabled GPS, and you are dropping a plane from a high altitude balloon many kilometers off the ground." user="Advanced">
<field name="Range">0 1</field>
<field name="Increment">0.1</field>
<field name="Units">Percent</field>
</param>
<param humanName="Altitude control algorithm" name="ArduPlane:ALT_CTRL_ALG" documentation="This sets what algorithm will be used for altitude control. The default is zero, which selects the most appropriate algorithm for your airframe. Currently the default is to use TECS (total energy control system). From time to time we will add other experimental altitude control algorithms which will be selected using this parameter." user="Advanced">
<values>
<value code="0">Automatic</value>
</values>
</param>
<param humanName="Altitude offset" name="ArduPlane:ALT_OFFSET" documentation="This is added to the target altitude in automatic flight. It can be used to add a global altitude offset to a mission" user="Advanced">
<field name="Range">-32767 32767</field>
<field name="Increment">1</field>
<field name="Units">Meters</field>
</param>
<param humanName="Waypoint Radius" name="ArduPlane:WP_RADIUS" documentation='Defines the maximum distance from a waypoint that when crossed indicates the waypoint may be complete. To avoid the aircraft looping around the waypoint in case it misses by more than the WP_RADIUS an additional check is made to see if the aircraft has crossed a "finish line" passing through the waypoint and perpendicular to the flight path from the previous waypoint. If that finish line is crossed then the waypoint is considered complete. Note that the navigation controller may decide to turn later than WP_RADIUS before a waypoint, based on how sharp the turn is and the speed of the aircraft. It is safe to set WP_RADIUS much larger than the usual turn radius of your aircraft and the navigation controller will work out when to turn. If you set WP_RADIUS too small then you will tend to overshoot the turns.' user="Standard">
<field name="Range">1 32767</field>
<field name="Increment">1</field>
<field name="Units">Meters</field>
</param>
<param humanName="Waypoint Maximum Radius" name="ArduPlane:WP_MAX_RADIUS" documentation='Sets the maximum distance to a waypoint for the waypoint to be considered complete. This overrides the "cross the finish line" logic that is normally used to consider a waypoint complete. For normal AUTO behaviour this parameter should be set to zero. Using a non-zero value is only recommended when it is critical that the aircraft does approach within the given radius, and should loop around until it has done so. This can cause the aircraft to loop forever if its turn radius is greater than the maximum radius set.' user="Standard">
<field name="Range">0 32767</field>
<field name="Increment">1</field>
<field name="Units">Meters</field>
</param>
<param humanName="Waypoint Loiter Radius" name="ArduPlane:WP_LOITER_RAD" documentation="Defines the distance from the waypoint center, the plane will maintain during a loiter. If you set this value to a negative number then the default loiter direction will be counter-clockwise instead of clockwise." user="Standard">
<field name="Range">-32767 32767</field>
<field name="Increment">1</field>
<field name="Units">Meters</field>
</param>
<param humanName="RTL loiter radius" name="ArduPlane:RTL_RADIUS" documentation="Defines the radius of the loiter circle when in RTL mode. If this is zero then WP_LOITER_RAD is used. If the radius is negative then a counter-clockwise is used. If positive then a clockwise loiter is used." user="Standard">
<field name="Range">-32767 32767</field>
<field name="Increment">1</field>
<field name="Units">Meters</field>
</param>
<param humanName="Action on geofence breach" name="ArduPlane:FENCE_ACTION" documentation="What to do on fence breach. If this is set to 0 then no action is taken, and geofencing is disabled. If this is set to 1 then the plane will enter GUIDED mode, with the target waypoint as the fence return point. If this is set to 2 then the fence breach is reported to the ground station, but no other action is taken. If set to 3 then the plane enters guided mode but the pilot retains manual throttle control. If set to 4 the plane enters RTL mode, with the target waypoint as the closest rally point (or home point if there are no rally points)." user="Standard">
<values>
<value code="0">None</value>
<value code="1">GuidedMode</value>
<value code="2">ReportOnly</value>
<value code="3">GuidedModeThrPass</value>
<value code="4">RTL_Mode</value>
</values>
</param>
<param humanName="Fence Total" name="ArduPlane:FENCE_TOTAL" documentation="Number of geofence points currently loaded" user="Advanced">
</param>
<param humanName="Fence Channel" name="ArduPlane:FENCE_CHANNEL" documentation="RC Channel to use to enable geofence. PWM input above 1750 enables the geofence" user="Standard">
</param>
<param humanName="Fence Minimum Altitude" name="ArduPlane:FENCE_MINALT" documentation="Minimum altitude allowed before geofence triggers" user="Standard">
<field name="Range">0 32767</field>
<field name="Increment">1</field>
<field name="Units">meters</field>
</param>
<param humanName="Fence Maximum Altitude" name="ArduPlane:FENCE_MAXALT" documentation="Maximum altitude allowed before geofence triggers" user="Standard">
<field name="Range">0 32767</field>
<field name="Increment">1</field>
<field name="Units">meters</field>
</param>
<param humanName="Fence Return Altitude" name="ArduPlane:FENCE_RETALT" documentation="Altitude the aircraft will transit to when a fence breach occurs.  If FENCE_RETALT is &lt;= 0 then the midpoint between FENCE_MAXALT and FENCE_MINALT is used, unless FENCE_MAXALT &lt; FENCE_MINALT.  If FENCE_MAXALT &lt; FENCE_MINALT AND FENCE_RETALT is &lt;= 0 then ALT_HOLD_RTL is the altitude used on a fence breach." user="Standard">
<field name="Range">0 32767</field>
<field name="Increment">1</field>
<field name="Units">meters</field>
</param>
<param humanName="Fence automatic enable" name="ArduPlane:FENCE_AUTOENABLE" documentation="When set to 1, geofence automatically enables after an auto takeoff and automatically disables at the beginning of an auto landing.  When on the ground before takeoff the fence is disabled.  When set to 2, the fence autoenables after an auto takeoff, but only disables the fence floor during landing. It is highly recommended to not use this option for line of sight flying and use a fence enable channel instead." user="Standard">
<values>
<value code="0">NoAutoEnable</value>
<value code="1">AutoEnable</value>
<value code="2">AutoEnableDisableFloorOnly</value>
</values>
</param>
<param humanName="Fence Return to Rally" name="ArduPlane:FENCE_RET_RALLY" documentation="When set to 1: on fence breach the plane will return to the nearest rally point rather than the fence return point.  If no rally points have been defined the plane will return to the home point.  " user="Standard">
<values>
<value code="0">FenceReturnPoint</value>
<value code="1">NearestRallyPoint</value>
</values>
</param>
<param humanName="Enable stall prevention" name="ArduPlane:STALL_PREVENTION" documentation="This controls the use of stall prevention techniques, including roll limits at low speed and raising the minimum airspeed in turns. The limits are based on the aerodynamic load factor of a banked turn. This option relies on the correct ARSPD_FBW_MIN value being set correctly. Note that if you don't have an airspeed sensor then stall prevention will use an airspeed estimate based on the ground speed plus a wind estimate taken from the response of the autopilot banked turns. That synthetic airspeed estimate may be inaccurate, so you should not assume that stall prevention with no airspeed sensor will be effective." user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Minimum Airspeed" name="ArduPlane:ARSPD_FBW_MIN" documentation="This is the minimum airspeed you want to fly at in modes where the autopilot controls the airspeed. This should be set to a value around 20% higher than the level flight stall speed for the airframe. This value is also used in the STALL_PREVENTION code." user="Standard">
<field name="Range">5 100</field>
<field name="Increment">1</field>
<field name="Units">m/s</field>
</param>
<param humanName="Maximum Airspeed" name="ArduPlane:ARSPD_FBW_MAX" documentation="This is the maximum airspeed that you want to allow for your airframe in auto-throttle modes. You should ensure that this value is sufficiently above the ARSPD_FBW_MIN value to allow for a sufficient flight envelope to accurately control altitude using airspeed. A value at least 50% above ARSPD_FBW_MIN is recommended." user="Standard">
<field name="Range">5 100</field>
<field name="Increment">1</field>
<field name="Units">m/s</field>
</param>
<param humanName="Fly By Wire elevator reverse" name="ArduPlane:FBWB_ELEV_REV" documentation="Reverse sense of elevator in FBWB and CRUISE modes. When set to 0 up elevator (pulling back on the stick) means to lower altitude. When set to 1, up elevator means to raise altitude." user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Use terrain following" name="ArduPlane:TERRAIN_FOLLOW" documentation="This enables terrain following for CRUISE mode, FBWB mode, RTL and for rally points. To use this option you also need to set TERRAIN_ENABLE to 1, which enables terrain data fetching from the GCS, and you need to have a GCS that supports sending terrain data to the aircraft. When terrain following is enabled then CRUISE and FBWB mode will hold height above terrain rather than height above home. In RTL the return to launch altitude will be considered to be a height above the terrain. Rally point altitudes will be taken as height above the terrain. This option does not affect mission items, which have a per-waypoint flag for whether they are height above home or height above the terrain. To use terrain following missions you need a ground station which can set the waypoint type to be a terrain height waypoint when creating the mission." user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Terrain lookahead" name="ArduPlane:TERRAIN_LOOKAHD" documentation="This controls how far ahead the terrain following code looks to ensure it stays above upcoming terrain. A value of zero means no lookahead, so the controller will track only the terrain directly below the aircraft. The lookahead will never extend beyond the next waypoint when in AUTO mode." user="Standard">
<field name="Range">0 10000</field>
<field name="Units">meters</field>
</param>
<param humanName="Fly By Wire B altitude change rate" name="ArduPlane:FBWB_CLIMB_RATE" documentation="This sets the rate in m/s at which FBWB and CRUISE modes will change its target altitude for full elevator deflection. Note that the actual climb rate of the aircraft can be lower than this, depending on your airspeed and throttle control settings. If you have this parameter set to the default value of 2.0, then holding the elevator at maximum deflection for 10 seconds would change the target altitude by 20 meters." user="Standard">
<field name="Range">1 10</field>
<field name="Increment">0.1</field>
<field name="Units">m/s</field>
</param>
<param humanName="Minimum Throttle" name="ArduPlane:THR_MIN" documentation="The minimum throttle setting (as a percentage) which the autopilot will apply. For the final stage of an automatic landing this is always zero. If your ESC supports reverse, use a negative value to configure for reverse thrust." user="Standard">
<field name="Range">-100 100</field>
<field name="Increment">1</field>
<field name="Units">Percent</field>
</param>
<param humanName="Maximum Throttle" name="ArduPlane:THR_MAX" documentation="The maximum throttle setting (as a percentage) which the autopilot will apply." user="Standard">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">Percent</field>
</param>
<param humanName="Maximum Throttle for takeoff" name="ArduPlane:TKOFF_THR_MAX" documentation="The maximum throttle setting during automatic takeoff. If this is zero then THR_MAX is used for takeoff as well." user="Advanced">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">Percent</field>
</param>
<param humanName="Throttle slew rate" name="ArduPlane:THR_SLEWRATE" documentation="maximum percentage change in throttle per second. A setting of 10 means to not change the throttle by more than 10% of the full throttle range in one second." user="Standard">
<field name="Range">0 127</field>
<field name="Increment">1</field>
<field name="Units">Percent</field>
</param>
<param humanName="Flap slew rate" name="ArduPlane:FLAP_SLEWRATE" documentation="maximum percentage change in flap output per second. A setting of 25 means to not change the flap by more than 25% of the full flap range in one second. A value of 0 means no rate limiting." user="Advanced">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">Percent</field>
</param>
<param humanName="Throttle suppress manual passthru" name="ArduPlane:THR_SUPP_MAN" documentation="When throttle is suppressed in auto mode it is normally forced to zero. If you enable this option, then while suppressed it will be manual throttle. This is useful on petrol engines to hold the idle throttle manually while waiting for takeoff" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Throttle passthru in stabilize" name="ArduPlane:THR_PASS_STAB" documentation="If this is set then when in STABILIZE, FBWA or ACRO modes the throttle is a direct passthru from the transmitter. This means the THR_MIN and THR_MAX settings are not used in these modes. This is useful for petrol engines where you setup a throttle cut switch that suppresses the throttle below the normal minimum." user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Throttle Failsafe Enable" name="ArduPlane:THR_FAILSAFE" documentation="The throttle failsafe allows you to configure a software failsafe activated by a setting on the throttle input channel" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Throttle Failsafe Value" name="ArduPlane:THR_FS_VALUE" documentation="The PWM level on channel 3 below which throttle failsafe triggers" user="Standard">
<field name="Range">925 2200</field>
<field name="Increment">1</field>
</param>
<param humanName="Throttle cruise percentage" name="ArduPlane:TRIM_THROTTLE" documentation="The target percentage of throttle to apply for normal flight" user="Standard">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">Percent</field>
</param>
<param humanName="Throttle nudge enable" name="ArduPlane:THROTTLE_NUDGE" documentation="When enabled, this uses the throttle input in auto-throttle modes to 'nudge' the throttle or airspeed to higher or lower values. When you have an airspeed sensor the nudge affects the target airspeed, so that throttle inputs above 50% will increase the target airspeed from TRIM_ARSPD_CM up to a maximum of ARSPD_FBW_MAX. When no airspeed sensor is enabled the throttle nudge will push up the target throttle for throttle inputs above 50%." user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Short failsafe action" name="ArduPlane:FS_SHORT_ACTN" documentation="The action to take on a short (FS_SHORT_TIMEOUT) failsafe event. A short failsafe even can be triggered either by loss of RC control (see THR_FS_VALUE) or by loss of GCS control (see FS_GCS_ENABL). If in CIRCLE or RTL mode this parameter is ignored. A short failsafe event in stabilization and manual modes will cause an change to CIRCLE mode if FS_SHORT_ACTN is 0 or 1, and a change to FBWA mode if FS_SHORT_ACTN is 2. In all other modes (AUTO, GUIDED and LOITER) a short failsafe event will cause no mode change is FS_SHORT_ACTN is set to 0, will cause a change to CIRCLE mode if set to 1 and will change to FBWA mode if set to 2. Please see the documentation for FS_LONG_ACTN for the behaviour after FS_LONG_TIMEOUT seconds of failsafe." user="Standard">
<values>
<value code="0">CIRCLE/no change(if already in AUTO|GUIDED|LOITER)</value>
<value code="1">CIRCLE</value>
<value code="2">FBWA</value>
</values>
</param>
<param humanName="Short failsafe timeout" name="ArduPlane:FS_SHORT_TIMEOUT" documentation="The time in seconds that a failsafe condition has to persist before a short failsafe event will occur. This defaults to 1.5 seconds" user="Standard">
<field name="Range">1 100</field>
<field name="Increment">0.5</field>
<field name="Units">seconds</field>
</param>
<param humanName="Long failsafe action" name="ArduPlane:FS_LONG_ACTN" documentation="The action to take on a long (FS_LONG_TIMEOUT seconds) failsafe event. If the aircraft was in a stabilization or manual mode when failsafe started and a long failsafe occurs then it will change to RTL mode if FS_LONG_ACTN is 0 or 1, and will change to FBWA if FS_LONG_ACTN is set to 2. If the aircraft was in an auto mode (such as AUTO or GUIDED) when the failsafe started then it will continue in the auto mode if FS_LONG_ACTN is set to 0, will change to RTL mode if FS_LONG_ACTN is set to 1 and will change to FBWA mode if FS_LONG_ACTN is set to 2. If FS_LONG_ACTION is set to 3, the parachute will be deployed (make sure the chute is configured and enabled). " user="Standard">
<values>
<value code="0">Continue</value>
<value code="1">ReturnToLaunch</value>
<value code="2">Glide</value>
<value code="3">Deploy Parachute</value>
</values>
</param>
<param humanName="Long failsafe timeout" name="ArduPlane:FS_LONG_TIMEOUT" documentation="The time in seconds that a failsafe condition has to persist before a long failsafe event will occur. This defaults to 5 seconds." user="Standard">
<field name="Range">1 300</field>
<field name="Increment">0.5</field>
<field name="Units">seconds</field>
</param>
<param humanName="Failsafe battery voltage" name="ArduPlane:FS_BATT_VOLTAGE" documentation="Battery voltage to trigger failsafe. Set to 0 to disable battery voltage failsafe. If the battery voltage drops below this voltage continuously for 10 seconds then the plane will switch to RTL mode." user="Standard">
<field name="Increment">0.1</field>
<field name="Units">Volts</field>
</param>
<param humanName="Failsafe battery milliAmpHours" name="ArduPlane:FS_BATT_MAH" documentation="Battery capacity remaining to trigger failsafe. Set to 0 to disable battery remaining failsafe. If the battery remaining drops below this level then the plane will switch to RTL mode immediately." user="Standard">
<field name="Increment">50</field>
<field name="Units">mAh</field>
</param>
<param humanName="GCS failsafe enable" name="ArduPlane:FS_GCS_ENABL" documentation="Enable ground control station telemetry failsafe. Failsafe will trigger after FS_LONG_TIMEOUT seconds of no MAVLink heartbeat messages. There are two possible enabled settings. Seeing FS_GCS_ENABL to 1 means that GCS failsafe will be triggered when the aircraft has not received a MAVLink HEARTBEAT message. Setting FS_GCS_ENABL to 2 means that GCS failsafe will be triggered on either a loss of HEARTBEAT messages, or a RADIO_STATUS message from a MAVLink enabled 3DR radio indicating that the ground station is not receiving status updates from the aircraft, which is indicated by the RADIO_STATUS.remrssi field being zero (this may happen if you have a one way link due to asymmetric noise on the ground station and aircraft radios).Setting FS_GCS_ENABL to 3 means that GCS failsafe will be triggered by Heartbeat(like option one), but only in AUTO mode. WARNING: Enabling this option opens up the possibility of your plane going into failsafe mode and running the motor on the ground it it loses contact with your ground station. If this option is enabled on an electric plane then you should enable ARMING_REQUIRED." user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Heartbeat</value>
<value code="2">HeartbeatAndREMRSSI</value>
<value code="3">HeartbeatAndAUTO</value>
</values>
</param>
<param humanName="Flightmode channel" name="ArduPlane:FLTMODE_CH" documentation="RC Channel to use for flight mode control" user="Advanced">
</param>
<param humanName="FlightMode1" name="ArduPlane:FLTMODE1" documentation="Flight mode for switch position 1 (910 to 1230 and above 2049)" user="Standard">
<values>
<value code="0">Manual</value>
<value code="1">CIRCLE</value>
<value code="2">STABILIZE</value>
<value code="3">TRAINING</value>
<value code="4">ACRO</value>
<value code="5">FBWA</value>
<value code="6">FBWB</value>
<value code="7">CRUISE</value>
<value code="8">AUTOTUNE</value>
<value code="10">Auto</value>
<value code="11">RTL</value>
<value code="12">Loiter</value>
<value code="15">Guided</value>
</values>
</param>
<param humanName="FlightMode2" name="ArduPlane:FLTMODE2" documentation="Flight mode for switch position 2 (1231 to 1360)" user="Standard">
<values>
<value code="0">Manual</value>
<value code="1">CIRCLE</value>
<value code="2">STABILIZE</value>
<value code="3">TRAINING</value>
<value code="4">ACRO</value>
<value code="5">FBWA</value>
<value code="6">FBWB</value>
<value code="7">CRUISE</value>
<value code="8">AUTOTUNE</value>
<value code="10">Auto</value>
<value code="11">RTL</value>
<value code="12">Loiter</value>
<value code="15">Guided</value>
</values>
</param>
<param humanName="FlightMode3" name="ArduPlane:FLTMODE3" documentation="Flight mode for switch position 3 (1361 to 1490)" user="Standard">
<values>
<value code="0">Manual</value>
<value code="1">CIRCLE</value>
<value code="2">STABILIZE</value>
<value code="3">TRAINING</value>
<value code="4">ACRO</value>
<value code="5">FBWA</value>
<value code="6">FBWB</value>
<value code="7">CRUISE</value>
<value code="8">AUTOTUNE</value>
<value code="10">Auto</value>
<value code="11">RTL</value>
<value code="12">Loiter</value>
<value code="15">Guided</value>
</values>
</param>
<param humanName="FlightMode4" name="ArduPlane:FLTMODE4" documentation="Flight mode for switch position 4 (1491 to 1620)" user="Standard">
<values>
<value code="0">Manual</value>
<value code="1">CIRCLE</value>
<value code="2">STABILIZE</value>
<value code="3">TRAINING</value>
<value code="4">ACRO</value>
<value code="5">FBWA</value>
<value code="6">FBWB</value>
<value code="7">CRUISE</value>
<value code="8">AUTOTUNE</value>
<value code="10">Auto</value>
<value code="11">RTL</value>
<value code="12">Loiter</value>
<value code="15">Guided</value>
</values>
</param>
<param humanName="FlightMode5" name="ArduPlane:FLTMODE5" documentation="Flight mode for switch position 5 (1621 to 1749)" user="Standard">
<values>
<value code="0">Manual</value>
<value code="1">CIRCLE</value>
<value code="2">STABILIZE</value>
<value code="3">TRAINING</value>
<value code="4">ACRO</value>
<value code="5">FBWA</value>
<value code="6">FBWB</value>
<value code="7">CRUISE</value>
<value code="8">AUTOTUNE</value>
<value code="10">Auto</value>
<value code="11">RTL</value>
<value code="12">Loiter</value>
<value code="15">Guided</value>
</values>
</param>
<param humanName="FlightMode6" name="ArduPlane:FLTMODE6" documentation="Flight mode for switch position 6 (1750 to 2049)" user="Standard">
<values>
<value code="0">Manual</value>
<value code="1">CIRCLE</value>
<value code="2">STABILIZE</value>
<value code="3">TRAINING</value>
<value code="4">ACRO</value>
<value code="5">FBWA</value>
<value code="6">FBWB</value>
<value code="7">CRUISE</value>
<value code="8">AUTOTUNE</value>
<value code="10">Auto</value>
<value code="11">RTL</value>
<value code="12">Loiter</value>
<value code="15">Guided</value>
</values>
</param>
<param humanName="Initial flight mode" name="ArduPlane: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." user="Advanced">
<values>
<value code="0">Manual</value>
<value code="1">CIRCLE</value>
<value code="2">STABILIZE</value>
<value code="3">TRAINING</value>
<value code="4">ACRO</value>
<value code="5">FBWA</value>
<value code="6">FBWB</value>
<value code="7">CRUISE</value>
<value code="8">AUTOTUNE</value>
<value code="10">Auto</value>
<value code="11">RTL</value>
<value code="12">Loiter</value>
<value code="15">Guided</value>
</values>
</param>
<param humanName="Maximum Bank Angle" name="ArduPlane:LIM_ROLL_CD" documentation="The maximum commanded bank angle in either direction" user="Standard">
<field name="Range">0 9000</field>
<field name="Increment">1</field>
<field name="Units">centi-Degrees</field>
</param>
<param humanName="Maximum Pitch Angle" name="ArduPlane:LIM_PITCH_MAX" documentation="The maximum commanded pitch up angle" user="Standard">
<field name="Range">0 9000</field>
<field name="Increment">1</field>
<field name="Units">centi-Degrees</field>
</param>
<param humanName="Minimum Pitch Angle" name="ArduPlane:LIM_PITCH_MIN" documentation="The minimum commanded pitch down angle" user="Standard">
<field name="Range">-9000 0</field>
<field name="Increment">1</field>
<field name="Units">centi-Degrees</field>
</param>
<param humanName="ACRO mode roll rate" name="ArduPlane:ACRO_ROLL_RATE" documentation="The maximum roll rate at full stick deflection in ACRO mode" user="Standard">
<field name="Range">10 500</field>
<field name="Increment">1</field>
<field name="Units">degrees/second</field>
</param>
<param humanName="ACRO mode pitch rate" name="ArduPlane:ACRO_PITCH_RATE" documentation="The maximum pitch rate at full stick deflection in ACRO mode" user="Standard">
<field name="Range">10 500</field>
<field name="Increment">1</field>
<field name="Units">degrees/second</field>
</param>
<param humanName="ACRO mode attitude locking" name="ArduPlane:ACRO_LOCKING" documentation="Enable attitude locking when sticks are released" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Ground steer altitude" name="ArduPlane:GROUND_STEER_ALT" documentation="Altitude at which to use the ground steering controller on the rudder. If non-zero then the STEER2SRV controller will be used to control the rudder for altitudes within this limit of the home altitude." user="Standard">
<field name="Range">-100 100</field>
<field name="Increment">0.1</field>
<field name="Units">Meters</field>
</param>
<param humanName="Ground steer rate" name="ArduPlane:GROUND_STEER_DPS" documentation="Ground steering rate in degrees per second for full rudder stick deflection" user="Advanced">
<field name="Range">10 360</field>
<field name="Increment">1</field>
<field name="Units">degrees/second</field>
</param>
<param humanName="Automatic trim adjustment" name="ArduPlane:TRIM_AUTO" documentation="Set RC trim PWM levels to current levels when switching away from manual mode. When this option is enabled and you change from MANUAL to any other mode then the APM will take the current position of the control sticks as the trim values for aileron, elevator and rudder. It will use those to set RC1_TRIM, RC2_TRIM and RC4_TRIM. This option is disabled by default as if a pilot is not aware of this option and changes from MANUAL to another mode while control inputs are not centered then the trim could be changed to a dangerously bad value. You can enable this option to assist with trimming your plane, by enabling it before takeoff then switching briefly to MANUAL in flight, and seeing how the plane reacts. You can then switch back to FBWA, trim the surfaces then again test MANUAL mode. Each time you switch from MANUAL the APM will take your control inputs as the new trim. After you have good trim on your aircraft you can disable TRIM_AUTO for future flights." user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Elevon mixing" name="ArduPlane:ELEVON_MIXING" documentation="This enables an older form of elevon mixing which is now deprecated. Please see the ELEVON_OUTPUT option for setting up elevons. The ELEVON_MIXING option should be set to 0 for elevon planes except for backwards compatibility with older setups." user="User">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Elevon reverse" name="ArduPlane:ELEVON_REVERSE" documentation="Reverse elevon mixing" user="User">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Elevon reverse" name="ArduPlane:ELEVON_CH1_REV" documentation="Reverse elevon channel 1" user="User">
<values>
<value code="-1">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Elevon reverse" name="ArduPlane:ELEVON_CH2_REV" documentation="Reverse elevon channel 2" user="User">
<values>
<value code="-1">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="VTail output" name="ArduPlane:VTAIL_OUTPUT" documentation="Enable VTail output in software. If enabled then the APM will provide software VTail mixing on the elevator and rudder channels. There are 4 different mixing modes available, which refer to the 4 ways the elevator can be mapped to the two VTail servos. Note that you must not use VTail output mixing with hardware pass-through of RC values, such as with channel 8 manual control on an APM1. So if you use an APM1 then set FLTMODE_CH to something other than 8 before you enable VTAIL_OUTPUT. Please also see the MIXING_GAIN parameter for the output gain of the mixer." user="User">
<values>
<value code="0">Disabled</value>
<value code="1">UpUp</value>
<value code="2">UpDown</value>
<value code="3">DownUp</value>
<value code="4">DownDown</value>
</values>
</param>
<param humanName="Elevon output" name="ArduPlane:ELEVON_OUTPUT" documentation="Enable software elevon output mixer. If enabled then the APM will provide software elevon mixing on the aileron and elevator channels. There are 4 different mixing modes available, which refer to the 4 ways the elevator can be mapped to the two elevon servos. Note that you must not use elevon output mixing with hardware pass-through of RC values, such as with channel 8 manual control on an APM1. So if you use an APM1 then set FLTMODE_CH to something other than 8 before you enable ELEVON_OUTPUT. Please also see the MIXING_GAIN parameter for the output gain of the mixer." user="User">
<values>
<value code="0">Disabled</value>
<value code="1">UpUp</value>
<value code="2">UpDown</value>
<value code="3">DownUp</value>
<value code="4">DownDown</value>
</values>
</param>
<param humanName="Mixing Gain" name="ArduPlane:MIXING_GAIN" documentation="The gain for the Vtail and elevon output mixers. The default is 0.5, which ensures that the mixer doesn't saturate, allowing both input channels to go to extremes while retaining control over the output. Hardware mixers often have a 1.0 gain, which gives more servo throw, but can saturate. If you don't have enough throw on your servos with VTAIL_OUTPUT or ELEVON_OUTPUT enabled then you can raise the gain using MIXING_GAIN. The mixer allows outputs in the range 900 to 2100 microseconds." user="User">
<field name="Range">0.5 1.2</field>
</param>
<param humanName="Rudder only aircraft" name="ArduPlane:RUDDER_ONLY" documentation="Enable rudder only mode. The rudder will control attitude in attitude controlled modes (such as FBWA). You should setup your transmitter to send roll stick inputs to the RCMAP_YAW channel (normally channel 4). The rudder servo should be attached to the RCMAP_YAW channel as well. Note that automatic ground steering will be disabled for rudder only aircraft. You should also set KFF_RDDRMIX to 1.0. You will also need to setup the YAW2SRV_DAMP yaw damping appropriately for your aircraft. A value of 0.5 for YAW2SRV_DAMP is a good starting point." user="User">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Mixing Offset" name="ArduPlane:MIXING_OFFSET" documentation="The offset for the Vtail and elevon output mixers, as a percentage. This can be used in combination with MIXING_GAIN to configure how the control surfaces respond to input. The response to aileron or elevator input can be increased by setting this parameter to a positive or negative value. A common usage is to enter a positive value to increase the aileron response of the elevons of a flying wing. The default value of zero will leave the aileron-input response equal to the elevator-input response." user="User">
<field name="Range">-1000 1000</field>
<field name="Units">percent</field>
</param>
<param humanName="Differential spoilers rudder rate" name="ArduPlane:DSPOILR_RUD_RATE" documentation="Sets the amount of deflection that the rudder output will apply to the differential spoilers, as a percentage. The default value of 100 results in full rudder applying full deflection. A value of 0 will result in the differential spoilers exactly following the elevons (no rudder effect)." user="User">
<field name="Range">-1000 1000</field>
<field name="Units">percent</field>
</param>
<param humanName="Num Resets" name="ArduPlane:SYS_NUM_RESETS" documentation="Number of APM board resets" user="Advanced">
</param>
<param humanName="Log bitmask" name="ArduPlane: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 a PX4 or Pixhawk the large storage size of a microSD card means it is usually best just to enable all log types by setting this to 65535. On APM2 the smaller 4 MByte dataflash means 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, Sonar=16384, Arming=32768, FullLogs=65535" user="Advanced">
<field name="Bitmask">0:ATTITUDE_FAST,1:ATTITUDE_MED,2:GPS,3:PM,4:CTUN,5:NTUN,6:MODE,7:IMU,8:CMD,9:CURRENT,10:COMPASS,11:TECS,12:CAMERA,13:RC,14:SONAR,15:ARM/DISARM,19:IMU_RAW</field>
<values>
<value code="0">Disabled</value>
<value code="5190">APM2-Default</value>
<value code="65535">PX4/Pixhawk-Default</value>
</values>
</param>
<param humanName="Reset Switch Channel" name="ArduPlane:RST_SWITCH_CH" documentation="RC channel to use to reset to last flight mode&#9;after geofence takeover." user="Advanced">
</param>
<param humanName="Reset Mission Channel" name="ArduPlane:RST_MISSION_CH" documentation="RC channel to use to reset the mission to the first waypoint. When this channel goes above 1750 the mission is reset. Set RST_MISSION_CH to 0 to disable." user="Advanced">
</param>
<param humanName="Target airspeed" name="ArduPlane:TRIM_ARSPD_CM" documentation="Airspeed in cm/s to aim for when airspeed is enabled in auto mode. This is a calibrated (apparent) airspeed." user="User">
<field name="Units">cm/s</field>
</param>
<param humanName="speed used for speed scaling calculations" name="ArduPlane:SCALING_SPEED" documentation="Airspeed in m/s to use when calculating surface speed scaling. Note that changing this value will affect all PID values" user="Advanced">
<field name="Units">m/s</field>
</param>
<param humanName="Minimum ground speed" name="ArduPlane:MIN_GNDSPD_CM" documentation="Minimum ground speed in cm/s when under airspeed control" user="Advanced">
<field name="Units">cm/s</field>
</param>
<param humanName="Pitch angle offset" name="ArduPlane:TRIM_PITCH_CD" documentation="offset to add to pitch - used for in-flight pitch trimming. It is recommended that instead of using this parameter you level your plane correctly on the ground for good flight attitude." user="Advanced">
<field name="Units">centi-Degrees</field>
</param>
<param humanName="RTL altitude" name="ArduPlane:ALT_HOLD_RTL" documentation="Return to launch target altitude. This is the relative altitude the plane will aim for and loiter at when returning home. If this is negative (usually -1) then the plane will use the current altitude at the time of entering RTL. Note that when transiting to a Rally Point the altitude of the Rally Point is used instead of ALT_HOLD_RTL." user="User">
<field name="Units">centimeters</field>
</param>
<param humanName="Minimum altitude for FBWB mode" name="ArduPlane:ALT_HOLD_FBWCM" documentation="This is the minimum altitude in centimeters that FBWB and CRUISE modes will allow. If you attempt to descend below this altitude then the plane will level off. A value of zero means no limit." user="User">
<field name="Units">centimeters</field>
</param>
<param humanName="Enable Compass" name="ArduPlane: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="Flap input channel" name="ArduPlane:FLAP_IN_CHANNEL" documentation="An RC input channel to use for flaps control. If this is set to a RC channel number then that channel will be used for manual flaps control. When enabled, the percentage of flaps is taken as the percentage travel from the TRIM value of the channel to the MIN value of the channel. A value above the TRIM values will give inverse flaps (spoilers). This option needs to be enabled in conjunction with a FUNCTION setting on an output channel to one of the flap functions. When a FLAP_IN_CHANNEL is combined with auto-flaps the higher of the two flap percentages is taken. You must also enable a FLAPERON_OUTPUT flaperon mixer setting if using flaperons." user="User">
</param>
<param humanName="Flaperon output" name="ArduPlane:FLAPERON_OUTPUT" documentation="Enable flaperon output in software. If enabled then the APM will provide software flaperon mixing on the FLAPERON1 and FLAPERON2 output channels specified using the FUNCTION on two auxiliary channels. There are 4 different mixing modes available, which refer to the 4 ways the flap and aileron outputs can be mapped to the two flaperon servos. Note that you must not use flaperon output mixing with hardware pass-through of RC values, such as with channel 8 manual control on an APM1. So if you use an APM1 then set FLTMODE_CH to something other than 8 before you enable FLAPERON_OUTPUT. Please also see the MIXING_GAIN parameter for the output gain of the mixer. FLAPERON_OUTPUT cannot be combined with ELEVON_OUTPUT or ELEVON_MIXING." user="User">
<values>
<value code="0">Disabled</value>
<value code="1">UpUp</value>
<value code="2">UpDown</value>
<value code="3">DownUp</value>
<value code="4">DownDown</value>
</values>
</param>
<param humanName="Flap 1 percentage" name="ArduPlane:FLAP_1_PERCNT" documentation="The percentage change in flap position when FLAP_1_SPEED is reached. Use zero to disable flaps" user="Advanced">
<field name="Range">0 100</field>
<field name="Units">Percent</field>
</param>
<param humanName="Flap 1 speed" name="ArduPlane:FLAP_1_SPEED" documentation="The speed in meters per second at which to engage FLAP_1_PERCENT of flaps. Note that FLAP_1_SPEED should be greater than or equal to FLAP_2_SPEED" user="Advanced">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">m/s</field>
</param>
<param humanName="Flap 2 percentage" name="ArduPlane:FLAP_2_PERCNT" documentation="The percentage change in flap position when FLAP_2_SPEED is reached. Use zero to disable flaps" user="Advanced">
<field name="Range">0 100</field>
<field name="Units">Percent</field>
</param>
<param humanName="Flap 2 speed" name="ArduPlane:FLAP_2_SPEED" documentation="The speed in meters per second at which to engage FLAP_2_PERCENT of flaps. Note that FLAP_1_SPEED should be greater than or equal to FLAP_2_SPEED" user="Advanced">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">m/s</field>
</param>
<param humanName="Landing flap percentage" name="ArduPlane:LAND_FLAP_PERCNT" documentation="The amount of flaps (as a percentage) to apply in the landing approach and flare of an automatic landing" user="Advanced">
<field name="Range">0 100</field>
<field name="Units">Percent</field>
</param>
<param humanName="PX4IO override channel" name="ArduPlane:OVERRIDE_CHAN" documentation="If set to a non-zero value then this is an RC input channel number to use for giving PX4IO manual control in case the main FMU microcontroller on a PX4 or Pixhawk fails. When this RC input channel goes above 1750 the FMU microcontroller will no longer be involved in controlling the servos and instead the PX4IO microcontroller will directly control the servos. Note that PX4IO manual control will be automatically activated if the FMU crashes for any reason. This parameter allows you to test for correct manual behaviour without actually crashing the FMU. This parameter is can be set to a non-zero value either for ground testing purposes or for giving the effect of an external override control board. Please also see the docs on OVERRIDE_SAFETY. Note that you may set OVERRIDE_CHAN to the same channel as FLTMODE_CH to get PX4IO based override when in flight mode 6. Note that when override is triggered due to a FMU crash the 6 auxiliary output channels on Pixhawk will no longer be updated, so all the flight controls you need must be assigned to the first 8 channels." user="Advanced">
</param>
<param humanName="PX4IO override safety switch" name="ArduPlane:OVERRIDE_SAFETY" documentation="This controls whether the safety switch is turned off when you activate override with OVERRIDE_CHAN. When set to 1 the safety switch is de-activated (activating the servos) then a PX4IO override is triggered. In that case the safety remains de-activated after override is disabled. If OVERRIDE_SAFETTY is set to 0 then the safety switch state does not change. Note that regardless of the value of this parameter the servos will be active while override is active." user="Advanced">
</param>
<param humanName="Inverted flight channel" name="ArduPlane:INVERTEDFLT_CH" documentation="A RC input channel number to enable inverted flight. If this is non-zero then the APM will monitor the corresponding RC input channel and will enable inverted flight when the channel goes above 1750." user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Channel1</value>
<value code="2">Channel2</value>
<value code="3">Channel3</value>
<value code="4">Channel4</value>
<value code="5">Channel5</value>
<value code="6">Channel6</value>
<value code="7">Channel7</value>
<value code="8">Channel8</value>
</values>
</param>
<param humanName="HIL mode enable" name="ArduPlane:HIL_MODE" documentation="This enables and disables hardware in the loop mode. If HIL_MODE is 1 then on the next reboot all sensors are replaced with HIL sensors which come from the GCS." user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="HIL Servos enable" name="ArduPlane:HIL_SERVOS" documentation="This controls whether real servo controls are used in HIL mode. If you enable this then the APM will control the real servos in HIL mode. If disabled it will report servo values, but will not output to the real servos. Be careful that your motor and propeller are not connected if you enable this option." user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Limit of error in HIL attitude before reset" name="ArduPlane:HIL_ERR_LIMIT" documentation="This controls the maximum error in degrees on any axis before HIL will reset the DCM attitude to match the HIL_STATE attitude. This limit will prevent poor timing on HIL from causing a major attitude error. If the value is zero then no limit applies." user="Advanced">
<field name="Range">0 90</field>
<field name="Increment">0.1</field>
<field name="Units">degrees</field>
</param>
<param humanName="RTL auto land" name="ArduPlane:RTL_AUTOLAND" documentation="Automatically begin landing sequence after arriving at RTL location. This requires the addition of a DO_LAND_START mission item, which acts as a marker for the start of a landing sequence. The closest landing sequence will be chosen to the current location. " user="Standard">
<values>
<value code="0">Disable</value>
<value code="1">Enable - go HOME then land</value>
<value code="2">Enable - go directly to landing sequence</value>
</values>
</param>
<param humanName="RC Trims auto set at start." name="ArduPlane:RC_TRIM_AT_START" documentation="Automatically set roll/pitch trim from Tx at ground start. This makes the assumption that the RC transmitter has not been altered since trims were last captured." user="Standard">
<values>
<value code="0">Disable</value>
<value code="1">Enable</value>
</values>
</param>
<param humanName="Crash Deceleration Threshold" name="ArduPlane:CRASH_ACC_THRESH" documentation="X-Axis deceleration threshold to notify the crash detector that there was a possible impact which helps disarm the motor quickly after a crash. This value should be much higher than normal negative x-axis forces during normal flight, check flight log files to determine the average IMU.x values for your aircraft and motor type. Higher value means less sensative (triggers on higher impact). For electric planes that don't vibrate much during fight a value of 25 is good (that's about 2.5G). For petrol/nitro planes you'll want a higher value. Set to 0 to disable the collision detector." user="Advanced">
<field name="Values">10 127</field>
<field name="Units">m/s/s</field>
</param>
<param humanName="Crash Detection" name="ArduPlane:CRASH_DETECT" documentation="Automatically detect a crash during AUTO flight and perform the bitmask selected action(s). Disarm will turn off motor for safety and to help against burning out ESC and motor. Setting the mode to manual will help save the servos from burning out by overexerting if the aircraft crashed in an odd orientation such as upsidedown." user="Advanced">
<field name="Bitmask">0:Disarm</field>
<values>
<value code="0">Disabled</value>
<value code="1">Disarm</value>
</values>
</param>
<param humanName="Parachute release channel" name="ArduPlane:CHUTE_CHAN" documentation="If set to a non-zero value then this is an RC input channel number to use for manually releasing the parachute. When this channel goes above 1700 the parachute will be released" user="Advanced">
</param>
<param humanName="Enable rangefinder for landing" name="ArduPlane:RNGFND_LANDING" documentation="This enables the use of a rangefinder for automatic landing. The rangefinder will be used both on the landing approach and for final flare" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
</parameters>
<parameters name="ArduCopter">
<param humanName="Eeprom format version number" name="ArduCopter:SYSID_SW_MREV" documentation="This value is incremented when changes are made to the eeprom format" user="Advanced">
<field name="ReadOnly">True</field>
</param>
<param humanName="Software Type" name="ArduCopter:SYSID_SW_TYPE" documentation="This is used by the ground station to recognise the software type (eg ArduPlane vs ArduCopter)" user="Advanced">
<field name="ReadOnly">True</field>
<values>
<value code="0">ArduPlane</value>
<value code="4">AntennaTracker</value>
<value code="10">Copter</value>
<value code="20">Rover</value>
</values>
</param>
<param humanName="MAVLink system ID of this vehicle" name="ArduCopter:SYSID_THISMAV" 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="My ground station number" name="ArduCopter:SYSID_MYGCS" documentation="Allows restricting radio overrides to only come from my ground station" user="Advanced">
<values>
<value code="255">Mission Planner and DroidPlanner</value>
<value code=" 252"> AP Planner 2</value>
</values>
</param>
<param humanName="CLI Enable" name="ArduCopter:CLI_ENABLED" documentation="This enables/disables the checking for three carriage returns on telemetry links on startup to enter the diagnostics command line interface" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Throttle filter cutoff" name="ArduCopter:PILOT_THR_FILT" documentation="Throttle filter cutoff (Hz) - active whenever altitude control is inactive - 0 to disable" user="Advanced">
<field name="Range">0 10</field>
<field name="Increment">.5</field>
<field name="Units">Hz</field>
</param>
<param humanName="Pilot takeoff altitude" name="ArduCopter:PILOT_TKOFF_ALT" documentation="Altitude that altitude control modes will climb to when a takeoff is triggered with the throttle stick." user="Standard">
<field name="Range">0.0 1000.0</field>
<field name="Increment">10</field>
<field name="Units">Centimeters</field>
</param>
<param humanName="Takeoff trigger deadzone" name="ArduCopter:PILOT_TKOFF_DZ" documentation="Offset from mid stick at which takeoff is triggered" user="Standard">
<field name="Range">0.0 500.0</field>
<field name="Increment">10</field>
</param>
<param humanName="Throttle stick behavior" name="ArduCopter:PILOT_THR_BHV" documentation="Bitmask containing various throttle stick options. Add up the values for options that you want." user="Standard">
<field name="Bitmask">0:Feedback from mid stick,1:High throttle cancels landing,2:Disarm on land detection</field>
<values>
<value code="0">None</value>
<value code="1">Feedback from mid stick</value>
<value code="2">High throttle cancels landing</value>
<value code="4">Disarm on land detection</value>
</values>
</param>
<param humanName="Telemetry startup delay" name="ArduCopter:TELEM_DELAY" documentation="The amount of time (in seconds) to delay radio telemetry to prevent an Xbee bricking on power up" user="Advanced">
<field name="Range">0 10</field>
<field name="Increment">1</field>
<field name="Units">seconds</field>
</param>
<param humanName="GCS PID tuning mask" name="ArduCopter:GCS_PID_MASK" documentation="bitmask of PIDs to send MAVLink PID_TUNING messages for" user="Advanced">
<field name="Bitmask">0:Roll,1:Pitch,2:Yaw</field>
<values>
<value code="0">None</value>
<value code="1">Roll</value>
<value code="2">Pitch</value>
<value code="4">Yaw</value>
</values>
</param>
<param humanName="RTL Altitude" name="ArduCopter:RTL_ALT" documentation="The minimum relative altitude the model will move to before Returning to Launch.  Set to zero to return at current altitude." user="Standard">
<field name="Range">0 8000</field>
<field name="Increment">1</field>
<field name="Units">Centimeters</field>
</param>
<param humanName="RTL cone slope" name="ArduCopter:RTL_CONE_SLOPE" documentation="Defines a cone above home which determines maximum climb" user="Standard">
<field name="Range">0.5 10.0</field>
<values>
<value code="0">Disabled</value>
<value code="1">Shallow</value>
<value code="3">Steep</value>
</values>
<field name="Increment">.1</field>
</param>
<param humanName="RTL speed" name="ArduCopter:RTL_SPEED" documentation="Defines the speed in cm/s which the aircraft will attempt to maintain horizontally while flying home. If this is set to zero, WPNAV_SPEED will be used instead." user="Standard">
<field name="Range">0 2000</field>
<field name="Increment">50</field>
<field name="Units">cm/s</field>
</param>
<param humanName="Rangefinder gain" name="ArduCopter:RNGFND_GAIN" documentation="Used to adjust the speed with which the target altitude is changed when objects are sensed below the copter" user="Standard">
<field name="Range">0.01 2.0</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Battery Failsafe Enable" name="ArduCopter:FS_BATT_ENABLE" documentation="Controls whether failsafe will be invoked when battery voltage or current runs low" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Land</value>
<value code="2">RTL</value>
</values>
</param>
<param humanName="Failsafe battery voltage" name="ArduCopter:FS_BATT_VOLTAGE" documentation="Battery voltage to trigger failsafe. Set to 0 to disable battery voltage failsafe. If the battery voltage drops below this voltage then the copter will RTL" user="Standard">
<field name="Increment">0.1</field>
<field name="Units">Volts</field>
</param>
<param humanName="Failsafe battery milliAmpHours" name="ArduCopter:FS_BATT_MAH" documentation="Battery capacity remaining to trigger failsafe. Set to 0 to disable battery remaining failsafe. If the battery remaining drops below this level then the copter will RTL" user="Standard">
<field name="Increment">50</field>
<field name="Units">mAh</field>
</param>
<param humanName="Ground Station Failsafe Enable" name="ArduCopter:FS_GCS_ENABLE" documentation="Controls whether failsafe will be invoked (and what action to take) when connection with Ground station is lost for at least 5 seconds. NB. The GCS Failsafe is only active when RC_OVERRIDE is being used to control the vehicle." user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled always RTL</value>
<value code="2">Enabled Continue with Mission in Auto Mode</value>
</values>
</param>
<param humanName="GPS Hdop Good" name="ArduCopter:GPS_HDOP_GOOD" documentation="GPS Hdop value at or below this value represent a good position.  Used for pre-arm checks" user="Advanced">
<field name="Range">100 900</field>
</param>
<param humanName="Compass enable/disable" name="ArduCopter:MAG_ENABLE" documentation="Setting this to Enabled(1) will enable the compass. Setting this to Disabled(0) will disable the compass" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Super Simple Mode" name="ArduCopter:SUPER_SIMPLE" documentation="Bitmask to enable Super Simple mode for some flight modes. Setting this to Disabled(0) will disable Super Simple Mode" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Mode1</value>
<value code="2">Mode2</value>
<value code="3">Mode1+2</value>
<value code="4">Mode3</value>
<value code="5">Mode1+3</value>
<value code="6">Mode2+3</value>
<value code="7">Mode1+2+3</value>
<value code="8">Mode4</value>
<value code="9">Mode1+4</value>
<value code="10">Mode2+4</value>
<value code="11">Mode1+2+4</value>
<value code="12">Mode3+4</value>
<value code="13">Mode1+3+4</value>
<value code="14">Mode2+3+4</value>
<value code="15">Mode1+2+3+4</value>
<value code="16">Mode5</value>
<value code="17">Mode1+5</value>
<value code="18">Mode2+5</value>
<value code="19">Mode1+2+5</value>
<value code="20">Mode3+5</value>
<value code="21">Mode1+3+5</value>
<value code="22">Mode2+3+5</value>
<value code="23">Mode1+2+3+5</value>
<value code="24">Mode4+5</value>
<value code="25">Mode1+4+5</value>
<value code="26">Mode2+4+5</value>
<value code="27">Mode1+2+4+5</value>
<value code="28">Mode3+4+5</value>
<value code="29">Mode1+3+4+5</value>
<value code="30">Mode2+3+4+5</value>
<value code="31">Mode1+2+3+4+5</value>
<value code="32">Mode6</value>
<value code="33">Mode1+6</value>
<value code="34">Mode2+6</value>
<value code="35">Mode1+2+6</value>
<value code="36">Mode3+6</value>
<value code="37">Mode1+3+6</value>
<value code="38">Mode2+3+6</value>
<value code="39">Mode1+2+3+6</value>
<value code="40">Mode4+6</value>
<value code="41">Mode1+4+6</value>
<value code="42">Mode2+4+6</value>
<value code="43">Mode1+2+4+6</value>
<value code="44">Mode3+4+6</value>
<value code="45">Mode1+3+4+6</value>
<value code="46">Mode2+3+4+6</value>
<value code="47">Mode1+2+3+4+6</value>
<value code="48">Mode5+6</value>
<value code="49">Mode1+5+6</value>
<value code="50">Mode2+5+6</value>
<value code="51">Mode1+2+5+6</value>
<value code="52">Mode3+5+6</value>
<value code="53">Mode1+3+5+6</value>
<value code="54">Mode2+3+5+6</value>
<value code="55">Mode1+2+3+5+6</value>
<value code="56">Mode4+5+6</value>
<value code="57">Mode1+4+5+6</value>
<value code="58">Mode2+4+5+6</value>
<value code="59">Mode1+2+4+5+6</value>
<value code="60">Mode3+4+5+6</value>
<value code="61">Mode1+3+4+5+6</value>
<value code="62">Mode2+3+4+5+6</value>
<value code="63">Mode1+2+3+4+5+6</value>
</values>
</param>
<param humanName="RTL Final Altitude" name="ArduCopter:RTL_ALT_FINAL" documentation="This is the altitude the vehicle will move to as the final stage of Returning to Launch or after completing a mission.  Set to zero to land." user="Standard">
<field name="Range">-1 1000</field>
<field name="Increment">1</field>
<field name="Units">Centimeters</field>
</param>
<param humanName="RTL minimum climb" name="ArduCopter:RTL_CLIMB_MIN" documentation="The vehicle will climb this many cm during the initial climb portion of the RTL" user="Standard">
<field name="Range">0 3000</field>
<field name="Increment">10</field>
<field name="Units">Centimeters</field>
</param>
<param humanName="Yaw behaviour during missions" name="ArduCopter:WP_YAW_BEHAVIOR" documentation="Determines how the autopilot controls the yaw during missions and RTL" user="Standard">
<values>
<value code="0">Never change yaw</value>
<value code=" 1">Face next waypoint</value>
<value code=" 2">Face next waypoint except RTL</value>
<value code=" 3">Face along GPS course</value>
</values>
</param>
<param humanName="RTL loiter time" name="ArduCopter:RTL_LOIT_TIME" documentation="Time (in milliseconds) to loiter above home before beginning final descent" user="Standard">
<field name="Range">0 60000</field>
<field name="Increment">1000</field>
<field name="Units">ms</field>
</param>
<param humanName="Land speed" name="ArduCopter:LAND_SPEED" documentation="The descent speed for the final stage of landing in cm/s" user="Standard">
<field name="Range">30 200</field>
<field name="Increment">10</field>
<field name="Units">cm/s</field>
</param>
<param humanName="Land speed high" name="ArduCopter:LAND_SPEED_HIGH" documentation="The descent speed for the first stage of landing in cm/s. If this is zero then WPNAV_SPEED_DN is used" user="Standard">
<field name="Range">0 500</field>
<field name="Increment">10</field>
<field name="Units">cm/s</field>
</param>
<param humanName="Pilot maximum vertical speed" name="ArduCopter:PILOT_VELZ_MAX" documentation="The maximum vertical velocity the pilot may request in cm/s" user="Standard">
<field name="Range">50 500</field>
<field name="Increment">10</field>
<field name="Units">Centimeters/Second</field>
</param>
<param humanName="Pilot vertical acceleration" name="ArduCopter:PILOT_ACCEL_Z" documentation="The vertical acceleration used when pilot is controlling the altitude" user="Standard">
<field name="Range">50 500</field>
<field name="Increment">10</field>
<field name="Units">cm/s/s</field>
</param>
<param humanName="Throttle Failsafe Enable" name="ArduCopter:FS_THR_ENABLE" documentation="The throttle failsafe allows you to configure a software failsafe activated by a setting on the throttle input channel" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled always RTL</value>
<value code="2">Enabled Continue with Mission in Auto Mode</value>
<value code="3">Enabled always LAND</value>
</values>
</param>
<param humanName="Throttle Failsafe Value" name="ArduCopter:FS_THR_VALUE" documentation="The PWM level on channel 3 below which throttle sailsafe triggers" user="Standard">
<field name="Range">925 1100</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="Throttle deadzone" name="ArduCopter:THR_DZ" documentation="The deadzone above and below mid throttle.  Used in AltHold, Loiter, PosHold flight modes" user="Standard">
<field name="Range">0 300</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="Flight Mode 1" name="ArduCopter:FLTMODE1" documentation="Flight mode when Channel 5 pwm is &lt;= 1230" user="Standard">
<values>
<value code="0">Stabilize</value>
<value code="1">Acro</value>
<value code="2">AltHold</value>
<value code="3">Auto</value>
<value code="4">Guided</value>
<value code="5">Loiter</value>
<value code="6">RTL</value>
<value code="7">Circle</value>
<value code="9">Land</value>
<value code="11">Drift</value>
<value code="13">Sport</value>
<value code="14">Flip</value>
<value code="15">AutoTune</value>
<value code="16">PosHold</value>
<value code="17">Brake</value>
<value code="18">Throw</value>
</values>
</param>
<param humanName="Flight Mode 2" name="ArduCopter:FLTMODE2" documentation="Flight mode when Channel 5 pwm is &gt;1230, &lt;= 1360" user="Standard">
<values>
<value code="0">Stabilize</value>
<value code="1">Acro</value>
<value code="2">AltHold</value>
<value code="3">Auto</value>
<value code="4">Guided</value>
<value code="5">Loiter</value>
<value code="6">RTL</value>
<value code="7">Circle</value>
<value code="9">Land</value>
<value code="11">Drift</value>
<value code="13">Sport</value>
<value code="14">Flip</value>
<value code="15">AutoTune</value>
<value code="16">PosHold</value>
<value code="17">Brake</value>
<value code="18">Throw</value>
</values>
</param>
<param humanName="Flight Mode 3" name="ArduCopter:FLTMODE3" documentation="Flight mode when Channel 5 pwm is &gt;1360, &lt;= 1490" user="Standard">
<values>
<value code="0">Stabilize</value>
<value code="1">Acro</value>
<value code="2">AltHold</value>
<value code="3">Auto</value>
<value code="4">Guided</value>
<value code="5">Loiter</value>
<value code="6">RTL</value>
<value code="7">Circle</value>
<value code="9">Land</value>
<value code="11">Drift</value>
<value code="13">Sport</value>
<value code="14">Flip</value>
<value code="15">AutoTune</value>
<value code="16">PosHold</value>
<value code="17">Brake</value>
<value code="18">Throw</value>
</values>
</param>
<param humanName="Flight Mode 4" name="ArduCopter:FLTMODE4" documentation="Flight mode when Channel 5 pwm is &gt;1490, &lt;= 1620" user="Standard">
<values>
<value code="0">Stabilize</value>
<value code="1">Acro</value>
<value code="2">AltHold</value>
<value code="3">Auto</value>
<value code="4">Guided</value>
<value code="5">Loiter</value>
<value code="6">RTL</value>
<value code="7">Circle</value>
<value code="9">Land</value>
<value code="11">Drift</value>
<value code="13">Sport</value>
<value code="14">Flip</value>
<value code="15">AutoTune</value>
<value code="16">PosHold</value>
<value code="17">Brake</value>
<value code="18">Throw</value>
</values>
</param>
<param humanName="Flight Mode 5" name="ArduCopter:FLTMODE5" documentation="Flight mode when Channel 5 pwm is &gt;1620, &lt;= 1749" user="Standard">
<values>
<value code="0">Stabilize</value>
<value code="1">Acro</value>
<value code="2">AltHold</value>
<value code="3">Auto</value>
<value code="4">Guided</value>
<value code="5">Loiter</value>
<value code="6">RTL</value>
<value code="7">Circle</value>
<value code="9">Land</value>
<value code="11">Drift</value>
<value code="13">Sport</value>
<value code="14">Flip</value>
<value code="15">AutoTune</value>
<value code="16">PosHold</value>
<value code="17">Brake</value>
<value code="18">Throw</value>
</values>
</param>
<param humanName="Flight Mode 6" name="ArduCopter:FLTMODE6" documentation="Flight mode when Channel 5 pwm is &gt;=1750" user="Standard">
<values>
<value code="0">Stabilize</value>
<value code="1">Acro</value>
<value code="2">AltHold</value>
<value code="3">Auto</value>
<value code="4">Guided</value>
<value code="5">Loiter</value>
<value code="6">RTL</value>
<value code="7">Circle</value>
<value code="9">Land</value>
<value code="11">Drift</value>
<value code="13">Sport</value>
<value code="14">Flip</value>
<value code="15">AutoTune</value>
<value code="16">PosHold</value>
<value code="17">Brake</value>
<value code="18">Throw</value>
</values>
</param>
<param humanName="Simple mode bitmask" name="ArduCopter:SIMPLE" documentation="Bitmask which holds which flight modes use simple heading mode (eg bit 0 = 1 means Flight Mode 0 uses simple mode)" user="Advanced">
</param>
<param humanName="Log bitmask" name="ArduCopter:LOG_BITMASK" documentation="4 byte bitmap of log types to enable" user="Standard">
<field name="Bitmask">0:ATTITUDE_FAST,1:ATTITUDE_MED,2:GPS,3:PM,4:CTUN,5:NTUN,6:RCIN,7:IMU,8:CMD,9:CURRENT,10:RCOUT,11:OPTFLOW,12:PID,13:COMPASS,14:INAV,15:CAMERA,17:MOTBATT,18:IMU_FAST,19:IMU_RAW</field>
<values>
<value code="830">Default</value>
<value code="894">Default+RCIN</value>
<value code="958">Default+IMU</value>
<value code="1854">Default+Motors</value>
<value code="-6146">NearlyAll-AC315</value>
<value code="45054">NearlyAll</value>
<value code="131071">All+FastATT</value>
<value code="262142">All+MotBatt</value>
<value code="393214">All+FastIMU</value>
<value code="397310">All+FastIMU+PID</value>
<value code="655358">All+FullIMU</value>
<value code="0">Disabled</value>
</values>
</param>
<param humanName="ESC Calibration" name="ArduCopter:ESC_CALIBRATION" documentation="Controls whether ArduCopter will enter ESC calibration on the next restart.  Do not adjust this parameter manually." user="Advanced">
<values>
<value code="0">Normal Start-up</value>
<value code=" 1">Start-up in ESC Calibration mode if throttle high</value>
<value code=" 2">Start-up in ESC Calibration mode regardless of throttle</value>
<value code=" 9">Disabled</value>
</values>
</param>
<param humanName="Channel 6 Tuning" name="ArduCopter:TUNE" documentation="Controls which parameters (normally PID gains) are being tuned with transmitter's channel 6 knob" user="Standard">
<values>
<value code="0">None</value>
<value code="1">Stab Roll/Pitch kP</value>
<value code="4">Rate Roll/Pitch kP</value>
<value code="5">Rate Roll/Pitch kI</value>
<value code="21">Rate Roll/Pitch kD</value>
<value code="3">Stab Yaw kP</value>
<value code="6">Rate Yaw kP</value>
<value code="26">Rate Yaw kD</value>
<value code="14">Altitude Hold kP</value>
<value code="7">Throttle Rate kP</value>
<value code="34">Throttle Accel kP</value>
<value code="35">Throttle Accel kI</value>
<value code="36">Throttle Accel kD</value>
<value code="42">Loiter Speed</value>
<value code="12">Loiter Pos kP</value>
<value code="22">Velocity XY kP</value>
<value code="28">Velocity XY kI</value>
<value code="10">WP Speed</value>
<value code="25">Acro RollPitch kP</value>
<value code="40">Acro Yaw kP</value>
<value code="13">Heli Ext Gyro</value>
<value code="17">OF Loiter kP</value>
<value code="18">OF Loiter kI</value>
<value code="19">OF Loiter kD</value>
<value code="38">Declination</value>
<value code="39">Circle Rate</value>
<value code="41">RangeFinder Gain</value>
<value code="46">Rate Pitch kP</value>
<value code="47">Rate Pitch kI</value>
<value code="48">Rate Pitch kD</value>
<value code="49">Rate Roll kP</value>
<value code="50">Rate Roll kI</value>
<value code="51">Rate Roll kD</value>
<value code="52">Rate Pitch FF</value>
<value code="53">Rate Roll FF</value>
<value code="54">Rate Yaw FF</value>
</values>
</param>
<param humanName="Tuning minimum" name="ArduCopter:TUNE_LOW" documentation="The minimum value that will be applied to the parameter currently being tuned with the transmitter's channel 6 knob" user="Standard">
<field name="Range">0 32767</field>
</param>
<param humanName="Tuning maximum" name="ArduCopter:TUNE_HIGH" documentation="The maximum value that will be applied to the parameter currently being tuned with the transmitter's channel 6 knob" user="Standard">
<field name="Range">0 32767</field>
</param>
<param humanName="Frame Orientation (+, X or V)" name="ArduCopter:FRAME" documentation="Controls motor mixing for multicopters.  Not used for Tri or Traditional Helicopters." user="Standard">
<values>
<value code="0">Plus</value>
<value code=" 1">X</value>
<value code=" 2">V</value>
<value code=" 3">H</value>
<value code=" 4">V-Tail</value>
<value code=" 5">A-Tail</value>
<value code=" 10">Y6B (New)</value>
</values>
</param>
<param humanName="Channel 7 option" name="ArduCopter:CH7_OPT" documentation="Select which function if performed when CH7 is above 1800 pwm" user="Standard">
<values>
<value code="0">Do Nothing</value>
<value code=" 2">Flip</value>
<value code=" 3">Simple Mode</value>
<value code=" 4">RTL</value>
<value code=" 5">Save Trim</value>
<value code=" 7">Save WP</value>
<value code=" 9">Camera Trigger</value>
<value code=" 10">RangeFinder</value>
<value code=" 11">Fence</value>
<value code=" 12">ResetToArmedYaw</value>
<value code=" 13">Super Simple Mode</value>
<value code=" 14">Acro Trainer</value>
<value code=" 16">Auto</value>
<value code=" 17">AutoTune</value>
<value code=" 18">Land</value>
<value code=" 19">EPM</value>
<value code=" 21">Parachute Enable</value>
<value code=" 22">Parachute Release</value>
<value code=" 23">Parachute 3pos</value>
<value code=" 24">Auto Mission Reset</value>
<value code=" 25">AttCon Feed Forward</value>
<value code=" 26">AttCon Accel Limits</value>
<value code=" 27">Retract Mount</value>
<value code=" 28">Relay On/Off</value>
<value code=" 34">Relay2 On/Off</value>
<value code=" 35">Relay3 On/Off</value>
<value code=" 36">Relay4 On/Off</value>
<value code=" 29">Landing Gear</value>
<value code=" 30">Lost Copter Sound</value>
<value code=" 31">Motor Emergency Stop</value>
<value code=" 32">Motor Interlock</value>
<value code=" 33">Brake</value>
<value code=" 37">Throw</value>
</values>
</param>
<param humanName="Channel 8 option" name="ArduCopter:CH8_OPT" documentation="Select which function if performed when CH8 is above 1800 pwm" user="Standard">
<values>
<value code="0">Do Nothing</value>
<value code=" 2">Flip</value>
<value code=" 3">Simple Mode</value>
<value code=" 4">RTL</value>
<value code=" 5">Save Trim</value>
<value code=" 7">Save WP</value>
<value code=" 9">Camera Trigger</value>
<value code=" 10">RangeFinder</value>
<value code=" 11">Fence</value>
<value code=" 12">ResetToArmedYaw</value>
<value code=" 13">Super Simple Mode</value>
<value code=" 14">Acro Trainer</value>
<value code=" 16">Auto</value>
<value code=" 17">AutoTune</value>
<value code=" 18">Land</value>
<value code=" 19">EPM</value>
<value code=" 21">Parachute Enable</value>
<value code=" 22">Parachute Release</value>
<value code=" 23">Parachute 3pos</value>
<value code=" 24">Auto Mission Reset</value>
<value code=" 25">AttCon Feed Forward</value>
<value code=" 26">AttCon Accel Limits</value>
<value code=" 27">Retract Mount</value>
<value code=" 28">Relay On/Off</value>
<value code=" 34">Relay2 On/Off</value>
<value code=" 35">Relay3 On/Off</value>
<value code=" 36">Relay4 On/Off</value>
<value code=" 29">Landing Gear</value>
<value code=" 30">Lost Copter Sound</value>
<value code=" 31">Motor Emergency Stop</value>
<value code=" 32">Motor Interlock</value>
<value code=" 33">Brake</value>
<value code=" 37">Throw</value>
</values>
</param>
<param humanName="Channel 9 option" name="ArduCopter:CH9_OPT" documentation="Select which function if performed when CH9 is above 1800 pwm" user="Standard">
<values>
<value code="0">Do Nothing</value>
<value code=" 2">Flip</value>
<value code=" 3">Simple Mode</value>
<value code=" 4">RTL</value>
<value code=" 5">Save Trim</value>
<value code=" 7">Save WP</value>
<value code=" 9">Camera Trigger</value>
<value code=" 10">RangeFinder</value>
<value code=" 11">Fence</value>
<value code=" 12">ResetToArmedYaw</value>
<value code=" 13">Super Simple Mode</value>
<value code=" 14">Acro Trainer</value>
<value code=" 16">Auto</value>
<value code=" 17">AutoTune</value>
<value code=" 18">Land</value>
<value code=" 19">EPM</value>
<value code=" 21">Parachute Enable</value>
<value code=" 22">Parachute Release</value>
<value code=" 23">Parachute 3pos</value>
<value code=" 24">Auto Mission Reset</value>
<value code=" 25">AttCon Feed Forward</value>
<value code=" 26">AttCon Accel Limits</value>
<value code=" 27">Retract Mount</value>
<value code=" 28">Relay On/Off</value>
<value code=" 34">Relay2 On/Off</value>
<value code=" 35">Relay3 On/Off</value>
<value code=" 36">Relay4 On/Off</value>
<value code=" 29">Landing Gear</value>
<value code=" 30">Lost Copter Sound</value>
<value code=" 31">Motor Emergency Stop</value>
<value code=" 32">Motor Interlock</value>
<value code=" 33">Brake</value>
<value code=" 37">Throw</value>
</values>
</param>
<param humanName="Channel 10 option" name="ArduCopter:CH10_OPT" documentation="Select which function if performed when CH10 is above 1800 pwm" user="Standard">
<values>
<value code="0">Do Nothing</value>
<value code=" 2">Flip</value>
<value code=" 3">Simple Mode</value>
<value code=" 4">RTL</value>
<value code=" 5">Save Trim</value>
<value code=" 7">Save WP</value>
<value code=" 9">Camera Trigger</value>
<value code=" 10">RangeFinder</value>
<value code=" 11">Fence</value>
<value code=" 12">ResetToArmedYaw</value>
<value code=" 13">Super Simple Mode</value>
<value code=" 14">Acro Trainer</value>
<value code=" 16">Auto</value>
<value code=" 17">AutoTune</value>
<value code=" 18">Land</value>
<value code=" 19">EPM</value>
<value code=" 21">Parachute Enable</value>
<value code=" 22">Parachute Release</value>
<value code=" 23">Parachute 3pos</value>
<value code=" 24">Auto Mission Reset</value>
<value code=" 25">AttCon Feed Forward</value>
<value code=" 26">AttCon Accel Limits</value>
<value code=" 27">Retract Mount</value>
<value code=" 28">Relay On/Off</value>
<value code=" 34">Relay2 On/Off</value>
<value code=" 35">Relay3 On/Off</value>
<value code=" 36">Relay4 On/Off</value>
<value code=" 29">Landing Gear</value>
<value code=" 30">Lost Copter Sound</value>
<value code=" 31">Motor Emergency Stop</value>
<value code=" 32">Motor Interlock</value>
<value code=" 33">Brake</value>
<value code=" 37">Throw</value>
</values>
</param>
<param humanName="Channel 11 option" name="ArduCopter:CH11_OPT" documentation="Select which function if performed when CH11 is above 1800 pwm" user="Standard">
<values>
<value code="0">Do Nothing</value>
<value code=" 2">Flip</value>
<value code=" 3">Simple Mode</value>
<value code=" 4">RTL</value>
<value code=" 5">Save Trim</value>
<value code=" 7">Save WP</value>
<value code=" 9">Camera Trigger</value>
<value code=" 10">RangeFinder</value>
<value code=" 11">Fence</value>
<value code=" 12">ResetToArmedYaw</value>
<value code=" 13">Super Simple Mode</value>
<value code=" 14">Acro Trainer</value>
<value code=" 16">Auto</value>
<value code=" 17">AutoTune</value>
<value code=" 18">Land</value>
<value code=" 19">EPM</value>
<value code=" 21">Parachute Enable</value>
<value code=" 22">Parachute Release</value>
<value code=" 23">Parachute 3pos</value>
<value code=" 24">Auto Mission Reset</value>
<value code=" 25">AttCon Feed Forward</value>
<value code=" 26">AttCon Accel Limits</value>
<value code=" 27">Retract Mount</value>
<value code=" 28">Relay On/Off</value>
<value code=" 34">Relay2 On/Off</value>
<value code=" 35">Relay3 On/Off</value>
<value code=" 36">Relay4 On/Off</value>
<value code=" 29">Landing Gear</value>
<value code=" 30">Lost Copter Sound</value>
<value code=" 31">Motor Emergency Stop</value>
<value code=" 32">Motor Interlock</value>
<value code=" 33">Brake</value>
<value code=" 37">Throw</value>
</values>
</param>
<param humanName="Channel 12 option" name="ArduCopter:CH12_OPT" documentation="Select which function if performed when CH12 is above 1800 pwm" user="Standard">
<values>
<value code="0">Do Nothing</value>
<value code=" 2">Flip</value>
<value code=" 3">Simple Mode</value>
<value code=" 4">RTL</value>
<value code=" 5">Save Trim</value>
<value code=" 7">Save WP</value>
<value code=" 9">Camera Trigger</value>
<value code=" 10">RangeFinder</value>
<value code=" 11">Fence</value>
<value code=" 12">ResetToArmedYaw</value>
<value code=" 13">Super Simple Mode</value>
<value code=" 14">Acro Trainer</value>
<value code=" 16">Auto</value>
<value code=" 17">AutoTune</value>
<value code=" 18">Land</value>
<value code=" 19">EPM</value>
<value code=" 21">Parachute Enable</value>
<value code=" 22">Parachute Release</value>
<value code=" 23">Parachute 3pos</value>
<value code=" 24">Auto Mission Reset</value>
<value code=" 25">AttCon Feed Forward</value>
<value code=" 26">AttCon Accel Limits</value>
<value code=" 27">Retract Mount</value>
<value code=" 28">Relay On/Off</value>
<value code=" 34">Relay2 On/Off</value>
<value code=" 35">Relay3 On/Off</value>
<value code=" 36">Relay4 On/Off</value>
<value code=" 29">Landing Gear</value>
<value code=" 30">Lost Copter Sound</value>
<value code=" 31">Motor Emergency Stop</value>
<value code=" 32">Motor Interlock</value>
<value code=" 33">Brake</value>
<value code=" 37">Throw</value>
</values>
</param>
<param humanName="Arming check" name="ArduCopter:ARMING_CHECK" documentation="Allows enabling or disabling of pre-arming checks of receiver, accelerometer, barometer, compass and GPS" user="Standard">
<field name="Bitmask">0:All,1:Baro,2:Compass,3:GPS,4:INS,5:Parameters+Rangefinder,6:RC,7:Voltage</field>
<values>
<value code="0">Disabled</value>
<value code=" 1">Enabled</value>
<value code=" -3">Skip Baro</value>
<value code=" -5">Skip Compass</value>
<value code=" -9">Skip GPS</value>
<value code=" -17">Skip INS</value>
<value code=" -33">Skip Params/Rangefinder</value>
<value code=" -65">Skip RC</value>
<value code=" 127">Skip Voltage</value>
</values>
</param>
<param humanName="Disarm delay" name="ArduCopter:DISARM_DELAY" documentation="Delay before automatic disarm in seconds. A value of zero disables auto disarm." user="Advanced">
<field name="Range">0 127</field>
<field name="Units">Seconds</field>
</param>
<param humanName="Angle Max" name="ArduCopter:ANGLE_MAX" documentation="Maximum lean angle in all flight modes" user="Advanced">
<field name="Range">1000 8000</field>
<field name="Units">Centi-degrees</field>
</param>
<param humanName="RC Feel Roll/Pitch" name="ArduCopter:RC_FEEL_RP" documentation="RC feel for roll/pitch which controls vehicle response to user input with 0 being extremely soft and 100 being crisp" user="Standard">
<field name="Range">0 100</field>
<values>
<value code="0">Very Soft</value>
<value code=" 25">Soft</value>
<value code=" 50">Medium</value>
<value code=" 75">Crisp</value>
<value code=" 100">Very Crisp</value>
</values>
<field name="Increment">10</field>
</param>
<param humanName="PosHold braking rate" name="ArduCopter:PHLD_BRAKE_RATE" documentation="PosHold flight mode's rotation rate during braking in deg/sec" user="Advanced">
<field name="Range">4 12</field>
<field name="Units">deg/sec</field>
</param>
<param humanName="PosHold braking angle max" name="ArduCopter:PHLD_BRAKE_ANGLE" documentation="PosHold flight mode's max lean angle during braking in centi-degrees" user="Advanced">
<field name="Range">2000 4500</field>
<field name="Units">Centi-degrees</field>
</param>
<param humanName="Land repositioning" name="ArduCopter:LAND_REPOSITION" documentation="Enables user input during LAND mode, the landing phase of RTL, and auto mode landings." user="Advanced">
<values>
<value code="0">No repositioning</value>
<value code=" 1">Repositioning</value>
</values>
</param>
<param humanName="EKF Failsafe Action" name="ArduCopter:FS_EKF_ACTION" documentation="Controls the action that will be taken when an EKF failsafe is invoked" user="Advanced">
<values>
<value code="1">Land</value>
<value code=" 2">AltHold</value>
<value code=" 3">Land even in Stabilize</value>
</values>
</param>
<param humanName="EKF failsafe variance threshold" name="ArduCopter: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="Crash check enable" name="ArduCopter:FS_CRASH_CHECK" documentation="This enables automatic crash checking. When enabled the motors will disarm if a crash is detected." user="Advanced">
<values>
<value code="0">Disabled</value>
<value code=" 1">Enabled</value>
</values>
</param>
<param humanName="ESC Update Speed" name="ArduCopter:RC_SPEED" documentation="This is the speed in Hertz that your ESCs will receive updates" user="Advanced">
<field name="Range">50 490</field>
<field name="Increment">1</field>
<field name="Units">Hz</field>
</param>
<param humanName="Acro Roll and Pitch P gain" name="ArduCopter:ACRO_RP_P" documentation="Converts pilot roll and pitch into a desired rate of rotation in ACRO and SPORT mode.  Higher values mean faster rate of rotation." user="Standard">
<field name="Range">1 10</field>
</param>
<param humanName="Acro Yaw P gain" name="ArduCopter:ACRO_YAW_P" documentation="Converts pilot yaw input into a desired rate of rotation in ACRO, Stabilize and SPORT modes.  Higher values mean faster rate of rotation." user="Standard">
<field name="Range">1 10</field>
</param>
<param humanName="Acro Balance Roll" name="ArduCopter:ACRO_BAL_ROLL" documentation="rate at which roll angle returns to level in acro mode.  A higher value causes the vehicle to return to level faster." user="Advanced">
<field name="Range">0 3</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Acro Balance Pitch" name="ArduCopter:ACRO_BAL_PITCH" documentation="rate at which pitch angle returns to level in acro mode.  A higher value causes the vehicle to return to level faster." user="Advanced">
<field name="Range">0 3</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Acro Trainer" name="ArduCopter:ACRO_TRAINER" documentation="Type of trainer used in acro mode" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Leveling</value>
<value code="2">Leveling and Limited</value>
</values>
</param>
<param humanName="Acro Expo" name="ArduCopter:ACRO_EXPO" documentation="Acro roll/pitch Expo to allow faster rotation when stick at edges" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="0.1">Very Low</value>
<value code="0.2">Low</value>
<value code="0.3">Medium</value>
<value code="0.4">High</value>
<value code="0.5">Very High</value>
</values>
</param>
<param humanName="Velocity (horizontal) P gain" name="ArduCopter:VEL_XY_P" documentation="Velocity (horizontal) P gain.  Converts the difference between desired velocity to a target acceleration" user="Advanced">
<field name="Range">0.1 6.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Velocity (horizontal) I gain" name="ArduCopter:VEL_XY_I" documentation="Velocity (horizontal) I gain.  Corrects long-term difference in desired velocity to a target acceleration" user="Advanced">
<field name="Range">0.02 1.00</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Velocity (horizontal) integrator maximum" name="ArduCopter:VEL_XY_IMAX" documentation="Velocity (horizontal) integrator maximum.  Constrains the target acceleration that the I gain will output" user="Advanced">
<field name="Range">0 4500</field>
<field name="Increment">10</field>
<field name="Units">cm/s/s</field>
</param>
<param humanName="Velocity (vertical) P gain" name="ArduCopter:VEL_Z_P" documentation="Velocity (vertical) P gain.  Converts the difference between desired vertical speed and actual speed into a desired acceleration that is passed to the throttle acceleration controller" user="Standard">
<field name="Range">1.000 8.000</field>
</param>
<param humanName="Throttle acceleration controller P gain" name="ArduCopter:ACCEL_Z_P" documentation="Throttle acceleration controller P gain.  Converts the difference between desired vertical acceleration and actual acceleration into a motor output" user="Standard">
<field name="Range">0.500 1.500</field>
<field name="Increment">0.05</field>
</param>
<param humanName="Throttle acceleration controller I gain" name="ArduCopter:ACCEL_Z_I" documentation="Throttle acceleration controller I gain.  Corrects long-term difference in desired vertical acceleration and actual acceleration" user="Standard">
<field name="Range">0.000 3.000</field>
</param>
<param humanName="Throttle acceleration controller I gain maximum" name="ArduCopter:ACCEL_Z_IMAX" documentation="Throttle acceleration controller I gain maximum.  Constrains the maximum pwm that the I term will generate" user="Standard">
<field name="Range">0 1000</field>
<field name="Units">Percent*10</field>
</param>
<param humanName="Throttle acceleration controller D gain" name="ArduCopter:ACCEL_Z_D" documentation="Throttle acceleration controller D gain.  Compensates for short-term change in desired vertical acceleration vs actual acceleration" user="Standard">
<field name="Range">0.000 0.400</field>
</param>
<param humanName="Throttle acceleration filter" name="ArduCopter:ACCEL_Z_FILT_HZ" documentation="Filter applied to acceleration to reduce noise.  Lower values reduce noise but add delay." user="Standard">
<field name="Range">1.000 100.000</field>
<field name="Units">Hz</field>
</param>
<param humanName="Position (vertical) controller P gain" name="ArduCopter:POS_Z_P" documentation="Position (vertical) controller P gain.  Converts the difference between the desired altitude and actual altitude into a climb or descent rate which is passed to the throttle rate controller" user="Standard">
<field name="Range">1.000 3.000</field>
</param>
<param humanName="Position (horizonal) controller P gain" name="ArduCopter:POS_XY_P" documentation="Loiter position controller P gain.  Converts the distance (in the latitude direction) to the target location into a desired speed which is then passed to the loiter latitude rate controller" user="Standard">
<field name="Range">0.500 2.000</field>
</param>
<param humanName="Autotune axis bitmask" name="ArduCopter:AUTOTUNE_AXES" documentation="1-byte bitmap of axes to autotune" user="Standard">
<field name="Bitmask">0:Roll,1:Pitch,2:Yaw</field>
<values>
<value code="7">All</value>
<value code="1">Roll Only</value>
<value code="2">Pitch Only</value>
<value code="4">Yaw Only</value>
<value code="3">Roll and Pitch</value>
<value code="5">Roll and Yaw</value>
<value code="6">Pitch and Yaw</value>
</values>
</param>
<param humanName="Autotune aggressiveness" name="ArduCopter:AUTOTUNE_AGGR" documentation="Autotune aggressiveness. Defines the bounce back used to detect size of the D term." user="Standard">
<field name="Range">0.05 0.10</field>
</param>
<param humanName="AutoTune minimum D" name="ArduCopter:AUTOTUNE_MIN_D" documentation="Defines the minimum D gain" user="Standard">
<field name="Range">0.001 0.006</field>
</param>
<param humanName="Start motors before throwing is detected" name="ArduCopter:THROW_MOT_START" documentation="Used by THROW mode. Controls whether motors will run at the speed set by THR_MIN or will be stopped when armed and waiting for the throw." user="Standard">
<values>
<value code="0">Stopped</value>
<value code="1">Running</value>
</values>
</param>
<param humanName="Terrain Following use control" name="ArduCopter:TERRAIN_FOLLOW" documentation="This enables terrain following for RTL and LAND flight modes. To use this option TERRAIN_ENABLE must be 1 and the GCS must  support sending terrain data to the aircraft.  In RTL the RTL_ALT will be considered a height above the terrain.  In LAND mode the vehicle will slow to LAND_SPEED 10m above terrain (instead of 10m above home).  This parameter does not affect AUTO and Guided which use a per-command flag to determine if the height is above-home, absolute or above-terrain." user="Standard">
<values>
<value code="0">Do Not Use in RTL and Land</value>
<value code="1">Use in RTL and Land</value>
</values>
</param>
</parameters>
<parameters name="AntennaTracker">
<param humanName="Eeprom format version number" name="AntennaTracker:FORMAT_VERSION" documentation="This value is incremented when changes are made to the eeprom format" user="Advanced">
</param>
<param humanName="Software Type" name="AntennaTracker:SYSID_SW_TYPE" documentation="This is used by the ground station to recognise the software type (eg ArduPlane vs ArduCopter)" user="Advanced">
<field name="ReadOnly">True</field>
<values>
<value code="0">ArduPlane</value>
<value code="4">AntennaTracker</value>
<value code="10">Copter</value>
<value code="20">Rover</value>
</values>
</param>
<param humanName="MAVLink system ID of this vehicle" name="AntennaTracker:SYSID_THISMAV" documentation="Allows setting an individual 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="Ground station MAVLink system ID" name="AntennaTracker: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="Target vehicle's MAVLink system ID" name="AntennaTracker:SYSID_TARGET" documentation="The identifier of the vehicle being tracked. This should be zero (to auto detect) or be the same as the SYSID_THISMAV parameter of the vehicle being tracked." user="Advanced">
<field name="Range">1 255</field>
</param>
<param humanName="Enable Compass" name="AntennaTracker: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="Time for yaw to slew through its full range" name="AntennaTracker:YAW_SLEW_TIME" documentation="This controls how rapidly the tracker will change the servo output for yaw. It is set as the number of seconds to do a full rotation. You can use this parameter to slow the trackers movements, which may help with some types of trackers. A value of zero will allow for unlimited servo movement per update." user="Standard">
<field name="Range">0 20</field>
<field name="Increment">0.1</field>
<field name="Units">seconds</field>
</param>
<param humanName="Time for pitch to slew through its full range" name="AntennaTracker:PITCH_SLEW_TIME" documentation="This controls how rapidly the tracker will change the servo output for pitch. It is set as the number of seconds to do a full range of pitch movement. You can use this parameter to slow the trackers movements, which may help with some types of trackers. A value of zero will allow for unlimited servo movement per update." user="Standard">
<field name="Range">0 20</field>
<field name="Increment">0.1</field>
<field name="Units">seconds</field>
</param>
<param humanName="Speed at which to rotate in scan mode" name="AntennaTracker:SCAN_SPEED" documentation="This controls how rapidly the tracker will move the servos in SCAN mode" user="Standard">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">degrees/second</field>
</param>
<param humanName="Minimum time to apply a yaw reversal" name="AntennaTracker:MIN_REVERSE_TIME" documentation="When the tracker detects it has reached the limit of servo movement in yaw it will reverse and try moving to the other extreme of yaw. This parameter controls the minimum time it should reverse for. It is used to cope with trackers that have a significant lag in movement to ensure they do move all the way around." user="Standard">
<field name="Range">0 20</field>
<field name="Increment">1</field>
<field name="Units">seconds</field>
</param>
<param humanName="Initial Latitude before GPS lock" name="AntennaTracker:START_LATITUDE" documentation="Combined with START_LONGITUDE this parameter allows for an initial position of the tracker to be set. This position will be used until the GPS gets lock. It can also be used to run a stationary tracker with no GPS attached." user="Standard">
<field name="Range">-90 90</field>
<field name="Increment">0.000001</field>
<field name="Units">degrees</field>
</param>
<param humanName="Initial Longitude before GPS lock" name="AntennaTracker:START_LONGITUDE" documentation="Combined with START_LATITUDE this parameter allows for an initial position of the tracker to be set. This position will be used until the GPS gets lock. It can also be used to run a stationary tracker with no GPS attached." user="Standard">
<field name="Range">-180 180</field>
<field name="Increment">0.000001</field>
<field name="Units">degrees</field>
</param>
<param humanName="Delay before first servo movement from trim" name="AntennaTracker:STARTUP_DELAY" documentation="This parameter can be used to force the servos to their trim value for a time on startup. This can help with some servo types" user="Standard">
<field name="Range">0 10</field>
<field name="Increment">0.1</field>
<field name="Units">seconds</field>
</param>
<param humanName="Type of servo system being used for pitch" name="AntennaTracker:SERVO_PITCH_TYPE" documentation="This allows selection of position servos or on/off servos for pitch" user="Standard">
<values>
<value code="0">Position</value>
<value code="1">OnOff</value>
<value code="2">ContinuousRotation</value>
</values>
</param>
<param humanName="Type of servo system being used for yaw" name="AntennaTracker:SERVO_YAW_TYPE" documentation="This allows selection of position servos or on/off servos for yaw" user="Standard">
<values>
<value code="0">Position</value>
<value code="1">OnOff</value>
<value code="2">ContinuousRotation</value>
</values>
</param>
<param humanName="Yaw rate for on/off servos" name="AntennaTracker:ONOFF_YAW_RATE" documentation="Rate of change of yaw in degrees/second for on/off servos" user="Standard">
<field name="Range">0 50</field>
<field name="Increment">0.1</field>
<field name="Units">degrees/second</field>
</param>
<param humanName="Pitch rate for on/off servos" name="AntennaTracker:ONOFF_PITCH_RATE" documentation="Rate of change of pitch in degrees/second for on/off servos" user="Standard">
<field name="Range">0 50</field>
<field name="Increment">0.1</field>
<field name="Units">degrees/second</field>
</param>
<param humanName="Yaw minimum movement time" name="AntennaTracker:ONOFF_YAW_MINT" documentation="Minimum amount of time in seconds to move in yaw" user="Standard">
<field name="Range">0 2</field>
<field name="Increment">0.01</field>
<field name="Units">seconds</field>
</param>
<param humanName="Pitch minimum movement time" name="AntennaTracker:ONOFF_PITCH_MINT" documentation="Minimim amount of time in seconds to move in pitch" user="Standard">
<field name="Range">0 2</field>
<field name="Increment">0.01</field>
<field name="Units">seconds</field>
</param>
<param humanName="Yaw trim" name="AntennaTracker:YAW_TRIM" documentation="Amount of extra yaw to add when tracking. This allows for small adjustments for an out of trim compass." user="Standard">
<field name="Range">-10 10</field>
<field name="Increment">0.1</field>
<field name="Units">degrees</field>
</param>
<param humanName="Pitch trim" name="AntennaTracker:PITCH_TRIM" documentation="Amount of extra pitch to add when tracking. This allows for small adjustments for a badly calibrated barometer." user="Standard">
<field name="Range">-10 10</field>
<field name="Increment">0.1</field>
<field name="Units">degrees</field>
</param>
<param humanName="Yaw Angle Range" name="AntennaTracker:YAW_RANGE" documentation="Yaw axis total range of motion in degrees" user="Standard">
<field name="Range">0 360</field>
<field name="Increment">0.1</field>
<field name="Units">degrees</field>
</param>
<param humanName="Pitch Range" name="AntennaTracker:PITCH_RANGE" documentation="Pitch axis total range of motion in degrees" user="Standard">
<field name="Range">0 180</field>
<field name="Increment">0.1</field>
<field name="Units">degrees</field>
</param>
<param humanName="Distance minimum to target" name="AntennaTracker:DISTANCE_MIN" documentation="Tracker will track targets at least this distance away" user="Standard">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">meters</field>
</param>
<param humanName="Altitude Source" name="AntennaTracker:ALT_SOURCE" documentation="What provides altitude information for vehicle" user="Standard">
<values>
<value code="0">Barometer</value>
<value code="1">GPS</value>
</values>
</param>
<param humanName="Mavlink Update Rate" name="AntennaTracker:MAV_UPDATE_RATE" documentation="The rate at which Mavlink updates position and baro data" user="Standard">
<field name="Range">1 10</field>
<field name="Increment">1</field>
<field name="Units">Hz</field>
</param>
<param humanName="Log bitmask" name="AntennaTracker:LOG_BITMASK" documentation="4 byte bitmap of log types to enable" user="Standard">
<field name="Bitmask">0:ATTITUDE,1:GPS,2:RCIN,3:IMU,4:RCOUT,5:COMPASS</field>
<values>
<value code="63">Default</value>
<value code="0">Disabled</value>
</values>
</param>
<param humanName="Pitch axis controller P gain" name="AntennaTracker:PITCH2SRV_P" documentation="Pitch axis controller P gain.  Converts the difference between desired pitch angle and actual pitch angle into a pitch servo pwm change" user="Standard">
<field name="Range">0.0 3.0</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Pitch axis controller I gain" name="AntennaTracker:PITCH2SRV_I" documentation="Pitch axis controller I gain.  Corrects long-term difference in desired pitch angle vs actual pitch angle" user="Standard">
<field name="Range">0.0 3.0</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Pitch axis controller I gain maximum" name="AntennaTracker:PITCH2SRV_IMAX" documentation="Pitch axis controller I gain maximum.  Constrains the maximum pwm change that the I gain will output" user="Standard">
<field name="Range">0 4000</field>
<field name="Increment">10</field>
<field name="Units">Percent*10</field>
</param>
<param humanName="Pitch axis controller D gain" name="AntennaTracker:PITCH2SRV_D" documentation="Pitch axis controller D gain.  Compensates for short-term change in desired pitch angle vs actual pitch angle" user="Standard">
<field name="Range">0.001 0.1</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Yaw axis controller P gain" name="AntennaTracker:YAW2SRV_P" documentation="Yaw axis controller P gain.  Converts the difference between desired yaw angle (heading) and actual yaw angle into a yaw servo pwm change" user="Standard">
<field name="Range">0.0 3.0</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Yaw axis controller I gain" name="AntennaTracker:YAW2SRV_I" documentation="Yaw axis controller I gain.  Corrects long-term difference in desired yaw angle (heading) vs actual yaw angle" user="Standard">
<field name="Range">0.0 3.0</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Yaw axis controller I gain maximum" name="AntennaTracker:YAW2SRV_IMAX" documentation="Yaw axis controller I gain maximum.  Constrains the maximum pwm change that the I gain will output" user="Standard">
<field name="Range">0 4000</field>
<field name="Increment">10</field>
<field name="Units">Percent*10</field>
</param>
<param humanName="Yaw axis controller D gain" name="AntennaTracker:YAW2SRV_D" documentation="Yaw axis controller D gain.  Compensates for short-term change in desired yaw angle (heading) vs actual yaw angle" user="Standard">
<field name="Range">0.001 0.1</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Number of loaded mission items" name="AntennaTracker:CMD_TOTAL" documentation="Set to 1 if HOME location has been loaded by the ground station. Do not change this manually." user="Advanced">
<field name="Range">1 255</field>
</param>
</parameters>
<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="Software Type" name="APMrover2:SYSID_SW_TYPE" documentation="This is used by the ground station to recognise the software type (eg ArduPlane vs ArduCopter)" user="Advanced">
<field name="ReadOnly">True</field>
</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 a PX4 or Pixhawk the large storage size of a microSD card means it is usually best just to enable all log types by setting this to 65535. On APM2 the smaller 4 MByte dataflash means 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, Sonar=16384, Arming=32768, FullLogs=65535" user="Advanced">
<field name="Bitmask">0:ATTITUDE_FAST,1:ATTITUDE_MED,2:GPS,3:PM,4:CTUN,5:NTUN,6:MODE,7:IMU,8:CMD,9:CURRENT,10:COMPASS,11:TECS,12:CAMERA,13:RC,14:SONAR,15:ARM/DISARM,19:IMU_RAW</field>
<values>
<value code="0">Disabled</value>
<value code="5190">APM2-Default</value>
<value code="65535">PX4/Pixhawk-Default</value>
</values>
</param>
<param humanName="Num Resets" name="APMrover2:SYS_NUM_RESETS" documentation="Number of APM board resets" user="Advanced">
</param>
<param humanName="Reset Switch Channel" name="APMrover2:RST_SWITCH_CH" documentation="RC channel to use to reset to last flight mode&#9;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="2">LEARNING</value>
<value code="3">STEERING</value>
<value code="4">HOLD</value>
<value code="10">AUTO</value>
<value code="11">RTL</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="CLI Enable" name="APMrover2:CLI_ENABLED" documentation="This enables/disables the checking for three carriage returns on telemetry links on startup to enter the diagnostics command line interface" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</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 10</field>
<field name="Increment">1</field>
<field name="Units">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</field>
<values>
<value code="0">None</value>
<value code="1">Steering</value>
<value code="2">Throttle</value>
</values>
</param>
<param humanName="Enable Compass" name="APMrover2:MAG_ENABLED" 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-8">APM TriggerPin</value>
<value code=" 50-55"> Pixhawk TriggerPin</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>
</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>
</param>
<param humanName="Target speed reduction while turning" name="APMrover2:SPEED_TURN_GAIN" documentation="The percentage to reduce the throttle while turning. If this is 100% then the target speed is not reduced while turning. If this is 50% then the target speed is reduced in proportion to the turn rate, with a reduction of 50% when the steering is maximally deflected." user="Standard">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">percent</field>
</param>
<param humanName="Distance to turn to start reducing speed" name="APMrover2:SPEED_TURN_DIST" documentation="The distance to the next turn at which the rover reduces its target speed by the SPEED_TURN_GAIN" user="Standard">
<field name="Range">0 100</field>
<field name="Increment">0.1</field>
<field name="Units">meters</field>
</param>
<param humanName="Percentage braking to apply" name="APMrover2:BRAKING_PERCENT" documentation="The maximum reverse throttle braking percentage to apply when cornering" user="Standard">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">percent</field>
</param>
<param humanName="Speed error at which to apply braking" name="APMrover2:BRAKING_SPEEDERR" documentation="The amount of overspeed error at which to start applying braking" user="Standard">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">m/s</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">degrees</field>
</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">LearnWaypoint</value>
</values>
</param>
<param humanName="Minimum Throttle" name="APMrover2:THR_MIN" documentation="The minimum throttle setting to which the autopilot will apply. This is mostly useful for rovers with internal combustion motors, to prevent the motor from cutting out in auto mode." user="Standard">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">Percent</field>
</param>
<param humanName="Maximum Throttle" name="APMrover2:THR_MAX" documentation="The maximum throttle setting to which the autopilot will apply. This can be used to prevent overheating a ESC or motor on an electric rover." user="Standard">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">Percent</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">Percent</field>
</param>
<param humanName="Throttle slew rate" name="APMrover2:THR_SLEWRATE" documentation="maximum percentage change in throttle per second. A setting of 10 means to not change the throttle by more than 10% of the full throttle range in one second. A value of zero means no limit. A value of 100 means the throttle can change over its full range in one second. Note that for some NiMH powered rovers setting a lower value like 40 or 50 may be worthwhile as the sudden current demand on the battery of a big rise in throttle may cause a brownout." user="Standard">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">Percent</field>
</param>
<param humanName="Skid steering output" name="APMrover2:SKID_STEER_OUT" documentation="Set this to 1 for skid steering controlled rovers (tank track style). When enabled, servo1 is used for the left track control, servo3 is used for right track control" user="Standard">
<values>
<value code="0">Disabled</value>
<value code=" 1">SkidSteeringOutput</value>
</values>
</param>
<param humanName="Skid steering input" name="APMrover2:SKID_STEER_IN" 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">Disabled</value>
<value code=" 1">SkidSteeringInput</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>
</values>
</param>
<param humanName="Failsafe timeout" name="APMrover2:FS_TIMEOUT" documentation="How long a failsafe event need to happen for before we trigger the failsafe action" user="Standard">
<field name="Units">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>
</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">925 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>
</values>
</param>
<param humanName="Rangefinder 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">centimeters</field>
</param>
<param humanName="Rangefinder trigger angle" name="APMrover2:RNGFND_TURN_ANGL" documentation="The course deviation in degrees to apply while avoiding an obstacle detected with the rangefinder. A positive number means to turn right, and a negative angle means to turn left." user="Standard">
<field name="Range">-45 45</field>
<field name="Increment">1</field>
<field name="Units">centimeters</field>
</param>
<param humanName="Rangefinder 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">seconds</field>
</param>
<param humanName="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 sonar 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="Learning channel" name="APMrover2:LEARN_CH" documentation="RC Channel to use for learning waypoints" user="Advanced">
</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="2">LEARNING</value>
<value code="3">STEERING</value>
<value code="4">HOLD</value>
<value code="10">Auto</value>
<value code="11">RTL</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="2">LEARNING</value>
<value code="3">STEERING</value>
<value code="4">HOLD</value>
<value code="10">Auto</value>
<value code="11">RTL</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="2">LEARNING</value>
<value code="3">STEERING</value>
<value code="4">HOLD</value>
<value code="10">Auto</value>
<value code="11">RTL</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="2">LEARNING</value>
<value code="3">STEERING</value>
<value code="4">HOLD</value>
<value code="10">Auto</value>
<value code="11">RTL</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="2">LEARNING</value>
<value code="3">STEERING</value>
<value code="4">HOLD</value>
<value code="10">Auto</value>
<value code="11">RTL</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="2">LEARNING</value>
<value code="3">STEERING</value>
<value code="4">HOLD</value>
<value code="10">Auto</value>
<value code="11">RTL</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">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.2 10</field>
<field name="Increment">0.1</field>
<field name="Units">gravities</field>
</param>
</parameters>
</vehicles><libraries><parameters name="SERIAL">
<param humanName="Serial0 baud rate" name="SERIAL0_BAUD" documentation="The baud rate used on the USB console. The APM2 can support all baudrates up to 115, and also can support 500. The PX4 can support rates of up to 1500. If you setup a rate you cannot support on APM2 and then can't connect to your board you should load a firmware from a different vehicle type. That will reset all your parameters to defaults." user="Standard">
<values>
<value code="1">1200</value>
<value code="2">2400</value>
<value code="4">4800</value>
<value code="9">9600</value>
<value code="19">19200</value>
<value code="38">38400</value>
<value code="57">57600</value>
<value code="111">111100</value>
<value code="115">115200</value>
<value code="500">500000</value>
<value code="921">921600</value>
<value code="1500">1500000</value>
</values>
</param>
<param humanName="Console protocol selection" name="SERIAL0_PROTOCOL" documentation="Control what protocol to use on the console. " user="Standard">
<values>
<value code="1">MAVlink1</value>
<value code=" 2">MAVLink2</value>
</values>
</param>
<param humanName="Telem1 protocol selection" name="SERIAL1_PROTOCOL" documentation="Control what protocol to use on the Telem1 port. Note that the Frsky options require external converter hardware. See the wiki for details." user="Standard">
<values>
<value code="-1">None</value>
<value code=" 1">MAVlink1</value>
<value code=" 2">MAVLink2</value>
<value code=" 3">Frsky D-PORT</value>
<value code=" 4">Frsky S-PORT</value>
<value code=" 5">GPS</value>
<value code=" 7">Alexmos Gimbal Serial</value>
<value code=" 8">SToRM32 Gimbal Serial</value>
<value code=" 9">Lidar</value>
</values>
</param>
<param humanName="Telem1 Baud Rate" name="SERIAL1_BAUD" documentation="The baud rate used on the Telem1 port. The APM2 can support all baudrates up to 115, and also can support 500. The PX4 can support rates of up to 1500. If you setup a rate you cannot support on APM2 and then can't connect to your board you should load a firmware from a different vehicle type. That will reset all your parameters to defaults." user="Standard">
<values>
<value code="1">1200</value>
<value code="2">2400</value>
<value code="4">4800</value>
<value code="9">9600</value>
<value code="19">19200</value>
<value code="38">38400</value>
<value code="57">57600</value>
<value code="111">111100</value>
<value code="115">115200</value>
<value code="500">500000</value>
<value code="921">921600</value>
<value code="1500">1500000</value>
</values>
</param>
<param humanName="Telemetry 2 protocol selection" name="SERIAL2_PROTOCOL" documentation="Control what protocol to use on the Telem2 port. Note that the Frsky options require external converter hardware. See the wiki for details." user="Standard">
<values>
<value code="-1">None</value>
<value code=" 1">MAVlink1</value>
<value code=" 2">MAVLink2</value>
<value code=" 3">Frsky D-PORT</value>
<value code=" 4">Frsky S-PORT</value>
<value code=" 5">GPS</value>
<value code=" 7">Alexmos Gimbal Serial</value>
<value code=" 8">SToRM32 Gimbal Serial</value>
<value code=" 9">Lidar</value>
</values>
</param>
<param humanName="Telemetry 2 Baud Rate" name="SERIAL2_BAUD" documentation="The baud rate of the Telem2 port. The APM2 can support all baudrates up to 115, and also can support 500. The PX4 can support rates of up to 1500. If you setup a rate you cannot support on APM2 and then can't connect to your board you should load a firmware from a different vehicle type. That will reset all your parameters to defaults." user="Standard">
<values>
<value code="1">1200</value>
<value code="2">2400</value>
<value code="4">4800</value>
<value code="9">9600</value>
<value code="19">19200</value>
<value code="38">38400</value>
<value code="57">57600</value>
<value code="111">111100</value>
<value code="115">115200</value>
<value code="500">500000</value>
<value code="921">921600</value>
<value code="1500">1500000</value>
</values>
</param>
<param humanName="Serial 3 (GPS) protocol selection" name="SERIAL3_PROTOCOL" documentation="Control what protocol Serial 3 (GPS) should be used for. Note that the Frsky options require external converter hardware. See the wiki for details." user="Standard">
<values>
<value code="-1">None</value>
<value code=" 1">MAVlink1</value>
<value code=" 2">MAVLink2</value>
<value code=" 3">Frsky D-PORT</value>
<value code=" 4">Frsky S-PORT</value>
<value code=" 5">GPS</value>
<value code=" 7">Alexmos Gimbal Serial</value>
<value code=" 8">SToRM32 Gimbal Serial</value>
<value code=" 9">Lidar</value>
</values>
</param>
<param humanName="Serial 3 (GPS) Baud Rate" name="SERIAL3_BAUD" documentation="The baud rate used for the Serial 3 (GPS). The APM2 can support all baudrates up to 115, and also can support 500. The PX4 can support rates of up to 1500. If you setup a rate you cannot support on APM2 and then can't connect to your board you should load a firmware from a different vehicle type. That will reset all your parameters to defaults." user="Standard">
<values>
<value code="1">1200</value>
<value code="2">2400</value>
<value code="4">4800</value>
<value code="9">9600</value>
<value code="19">19200</value>
<value code="38">38400</value>
<value code="57">57600</value>
<value code="111">111100</value>
<value code="115">115200</value>
<value code="500">500000</value>
<value code="921">921600</value>
<value code="1500">1500000</value>
</values>
</param>
<param humanName="Serial4 protocol selection" name="SERIAL4_PROTOCOL" documentation="Control what protocol Serial4 port should be used for. Note that the Frsky options require external converter hardware. See the wiki for details." user="Standard">
<values>
<value code="-1">None</value>
<value code=" 1">MAVlink1</value>
<value code=" 2">MAVLink2</value>
<value code=" 3">Frsky D-PORT</value>
<value code=" 4">Frsky S-PORT</value>
<value code=" 5">GPS</value>
<value code=" 7">Alexmos Gimbal Serial</value>
<value code=" 8">SToRM32 Gimbal Serial</value>
<value code=" 9">Lidar</value>
</values>
</param>
<param humanName="Serial 4 Baud Rate" name="SERIAL4_BAUD" documentation="The baud rate used for Serial4. The APM2 can support all baudrates up to 115, and also can support 500. The PX4 can support rates of up to 1500. If you setup a rate you cannot support on APM2 and then can't connect to your board you should load a firmware from a different vehicle type. That will reset all your parameters to defaults." user="Standard">
<values>
<value code="1">1200</value>
<value code="2">2400</value>
<value code="4">4800</value>
<value code="9">9600</value>
<value code="19">19200</value>
<value code="38">38400</value>
<value code="57">57600</value>
<value code="111">111100</value>
<value code="115">115200</value>
<value code="500">500000</value>
<value code="921">921600</value>
<value code="1500">1500000</value>
</values>
</param>
<param humanName="Serial5 protocol selection" name="SERIAL5_PROTOCOL" documentation="Control what protocol Serial5 port should be used for. Note that the Frsky options require external converter hardware. See the wiki for details." user="Standard">
<values>
<value code="-1">None</value>
<value code=" 1">MAVlink1</value>
<value code=" 2">MAVLink2</value>
<value code=" 3">Frsky D-PORT</value>
<value code=" 4">Frsky S-PORT</value>
<value code=" 5">GPS</value>
<value code=" 7">Alexmos Gimbal Serial</value>
<value code=" 8">SToRM32 Gimbal Serial</value>
<value code=" 9">Lidar</value>
</values>
</param>
<param humanName="Serial 5 Baud Rate" name="SERIAL5_BAUD" documentation="The baud rate used for Serial5. The APM2 can support all baudrates up to 115, and also can support 500. The PX4 can support rates of up to 1500. If you setup a rate you cannot support on APM2 and then can't connect to your board you should load a firmware from a different vehicle type. That will reset all your parameters to defaults." user="Standard">
<values>
<value code="1">1200</value>
<value code="2">2400</value>
<value code="4">4800</value>
<value code="9">9600</value>
<value code="19">19200</value>
<value code="38">38400</value>
<value code="57">57600</value>
<value code="111">111100</value>
<value code="115">115200</value>
<value code="500">500000</value>
<value code="921">921600</value>
<value code="1500">1500000</value>
</values>
</param>
</parameters>
<parameters name="GND_">
<param humanName="Absolute Pressure" name="GND_ABS_PRESS" documentation="calibrated ground pressure in Pascals">
<field name="ReadOnly">True</field>
<field name="Volatile">True</field>
<field name="Increment">1</field>
<field name="Units">pascals</field>
</param>
<param humanName="ground temperature" name="GND_TEMP" documentation="calibrated ground temperature in degrees Celsius">
<field name="ReadOnly">True</field>
<field name="Volatile">True</field>
<field name="Increment">1</field>
<field name="Units">degrees celsius</field>
</param>
<param humanName="altitude offset" name="GND_ALT_OFFSET" documentation="altitude offset in meters added to barometric altitude. This is used to allow for automatic adjustment of the base barometric altitude by a ground station equipped with a barometer. The value is added to the barometric altitude read by the aircraft. It is automatically reset to 0 when the barometer is calibrated on each reboot or when a preflight calibration is performed.">
<field name="Units">meters</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Primary barometer" name="GND_PRIMARY" documentation="This selects which barometer will be the primary if multiple barometers are found">
<values>
<value code="0">FirstBaro</value>
<value code="1">2ndBaro</value>
<value code="2">3rdBaro</value>
</values>
</param>
</parameters>
<parameters name="GPS_">
<param humanName="GPS type" name="GPS_TYPE" documentation="GPS type">
<values>
<value code="0">None</value>
<value code="1">AUTO</value>
<value code="2">uBlox</value>
<value code="3">MTK</value>
<value code="4">MTK19</value>
<value code="5">NMEA</value>
<value code="6">SiRF</value>
<value code="7">HIL</value>
<value code="8">SwiftNav</value>
<value code="9">PX4-UAVCAN</value>
<value code="10">SBF</value>
<value code="11">GSOF</value>
</values>
<field name="RebootRequired">True</field>
</param>
<param humanName="2nd GPS type" name="GPS_TYPE2" documentation="GPS type of 2nd GPS">
<values>
<value code="0">None</value>
<value code="1">AUTO</value>
<value code="2">uBlox</value>
<value code="3">MTK</value>
<value code="4">MTK19</value>
<value code="5">NMEA</value>
<value code="6">SiRF</value>
<value code="7">HIL</value>
<value code="8">SwiftNav</value>
<value code="9">PX4-UAVCAN</value>
<value code="10">SBF</value>
<value code="11">GSOF</value>
</values>
<field name="RebootRequired">True</field>
</param>
<param humanName="Navigation filter setting" name="GPS_NAVFILTER" documentation="Navigation filter engine setting">
<values>
<value code="0">Portable</value>
<value code="2">Stationary</value>
<value code="3">Pedestrian</value>
<value code="4">Automotive</value>
<value code="5">Sea</value>
<value code="6">Airborne1G</value>
<value code="7">Airborne2G</value>
<value code="8">Airborne4G</value>
</values>
</param>
<param humanName="Automatic Switchover Setting" name="GPS_AUTO_SWITCH" documentation="Automatic switchover to GPS reporting best lock" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Minimum Lock Type Accepted for DGPS" name="GPS_MIN_DGPS" documentation="Sets the minimum type of differential GPS corrections required before allowing to switch into DGPS mode." user="Advanced">
<values>
<value code="0">Any</value>
<value code="50">FloatRTK</value>
<value code="100">IntegerRTK</value>
</values>
<field name="RebootRequired">True</field>
</param>
<param humanName="SBAS Mode" name="GPS_SBAS_MODE" documentation="This sets the SBAS (satellite based augmentation system) mode if available on this GPS. If set to 2 then the SBAS mode is not changed in the GPS. Otherwise the GPS will be reconfigured to enable/disable SBAS. Disabling SBAS may be worthwhile in some parts of the world where an SBAS signal is available but the baseline is too long to be useful." user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
<value code="2">NoChange</value>
</values>
</param>
<param humanName="Minimum elevation" name="GPS_MIN_ELEV" documentation="This sets the minimum elevation of satellites above the horizon for them to be used for navigation. Setting this to -100 leaves the minimum elevation set to the GPS modules default." user="Advanced">
<field name="Range">-100 90</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Destination for GPS_INJECT_DATA MAVLink packets" name="GPS_INJECT_TO" documentation="The GGS can send raw serial packets to inject data to multiple GPSes.">
<values>
<value code="0">send to first GPS</value>
<value code="1">send to 2nd GPS</value>
<value code="127">send to all</value>
</values>
</param>
<param humanName="Swift Binary Protocol Logging Mask" name="GPS_SBP_LOGMASK" documentation="Masked with the SBP msg_type field to determine whether SBR1/SBR2 data is logged" user="Advanced">
<values>
<value code="0x0000">None</value>
<value code=" 0xFFFF">All</value>
<value code=" 0xFF00">External only</value>
</values>
</param>
<param humanName="Raw data logging" name="GPS_RAW_DATA" documentation="Enable logging of RXM raw data from uBlox which includes carrier phase and pseudo range information. This allows for post processing of dataflash logs for more precise positioning. Note that this requires a raw capable uBlox such as the 6P or 6T.">
<values>
<value code="0">Disabled</value>
<value code="1">log every sample</value>
<value code="5">log every 5 samples</value>
</values>
<field name="RebootRequired">True</field>
</param>
<param humanName="GNSS system configuration" name="GPS_GNSS_MODE" documentation="Bitmask for what GNSS system to use on the first GPS (all unchecked or zero to leave GPS as configured)" user="Advanced">
<field name="Bitmask">0:GPS,1:SBAS,2:Galileo,3:Beidou,4:IMES,5:QZSS,6:GLOSNASS</field>
<values>
<value code="0">Leave as currently configured</value>
<value code=" 1">GPS-NoSBAS</value>
<value code=" 3">GPS+SBAS</value>
<value code=" 4">Galileo-NoSBAS</value>
<value code=" 6">Galileo+SBAS</value>
<value code=" 8">Beidou</value>
<value code=" 51">GPS+IMES+QZSS+SBAS (Japan Only)</value>
<value code=" 64">GLONASS</value>
<value code=" 66">GLONASS+SBAS</value>
<value code=" 67">GPS+GLONASS+SBAS</value>
</values>
</param>
<param humanName="Save GPS configuration" name="GPS_SAVE_CFG" documentation="Determines whether the configuration for this GPS should be written to non-volatile memory on the GPS. Currently working for UBlox 6 series and above." user="Advanced">
<values>
<value code="0">Do not save config</value>
<value code="1">Save config</value>
<value code="2">Save only when needed</value>
</values>
</param>
<param humanName="GNSS system configuration" name="GPS_GNSS_MODE2" documentation="Bitmask for what GNSS system to use on the second GPS (all unchecked or zero to leave GPS as configured)" user="Advanced">
<field name="Bitmask">0:GPS,1:SBAS,2:Galileo,3:Beidou,4:IMES,5:QZSS,6:GLOSNASS</field>
<values>
<value code="0">Leave as currently configured</value>
<value code=" 1">GPS-NoSBAS</value>
<value code=" 3">GPS+SBAS</value>
<value code=" 4">Galileo-NoSBAS</value>
<value code=" 6">Galileo+SBAS</value>
<value code=" 8">Beidou</value>
<value code=" 51">GPS+IMES+QZSS+SBAS (Japan Only)</value>
<value code=" 64">GLONASS</value>
<value code=" 66">GLONASS+SBAS</value>
<value code=" 67">GPS+GLONASS+SBAS</value>
</values>
</param>
<param humanName="Automatic GPS configuration" name="GPS_AUTO_CONFIG" documentation="Controls if the autopilot should automatically configure the GPS based on the parameters and default settings" user="Advanced">
<values>
<value code="0">Disables automatic configuration</value>
<value code="1">Enable automatic configuration</value>
</values>
</param>
</parameters>
<parameters name="CAM_">
<param humanName="Camera shutter (trigger) type" name="CAM_TRIGG_TYPE" documentation="how to trigger the camera to take a picture" user="Standard">
<values>
<value code="0">Servo</value>
<value code="1">Relay</value>
</values>
</param>
<param humanName="Duration that shutter is held open" name="CAM_DURATION" documentation="How long the shutter will be held open in 10ths of a second (i.e. enter 10 for 1second, 50 for 5seconds)" user="Standard">
<field name="Range">0 50</field>
<field name="Units">seconds</field>
</param>
<param humanName="Servo ON PWM value" name="CAM_SERVO_ON" documentation="PWM value to move servo to when shutter is activated" user="Standard">
<field name="Range">1000 2000</field>
<field name="Units">pwm</field>
</param>
<param humanName="Servo OFF PWM value" name="CAM_SERVO_OFF" documentation="PWM value to move servo to when shutter is deactivated" user="Standard">
<field name="Range">1000 2000</field>
<field name="Units">pwm</field>
</param>
<param humanName="Camera trigger distance" name="CAM_TRIGG_DIST" documentation="Distance in meters between camera triggers. If this value is non-zero then the camera will trigger whenever the GPS position changes by this number of meters regardless of what mode the APM is in. Note that this parameter can also be set in an auto mission using the DO_SET_CAM_TRIGG_DIST command, allowing you to enable/disable the triggering of the camera during the flight." user="Standard">
<field name="Range">0 1000</field>
<field name="Units">meters</field>
</param>
<param humanName="Relay ON value" name="CAM_RELAY_ON" documentation="This sets whether the relay goes high or low when it triggers. Note that you should also set RELAY_DEFAULT appropriately for your camera" user="Standard">
<values>
<value code="0">Low</value>
<value code="1">High</value>
</values>
</param>
<param humanName="Minimum time between photos" name="CAM_MIN_INTERVAL" documentation="Postpone shooting if previous picture was taken less than preset time(ms) ago." user="Standard">
<field name="Range">0 10000</field>
<field name="Units">milliseconds</field>
</param>
<param humanName="Maximum photo roll angle." name="CAM_MAX_ROLL" documentation="Postpone shooting if roll is greater than limit. (0=Disable, will shoot regardless of roll)." user="Standard">
<field name="Range">0 180</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Camera feedback pin" name="CAM_FEEDBACK_PIN" documentation="pin number to use for save accurate camera feedback messages. If set to -1 then don't use a pin flag for this, otherwise this is a pin number which if held high after a picture trigger order, will save camera messages when camera really takes a picture. A universal camera hot shoe is needed. The pin should be held high for at least 2 milliseconds for reliable trigger detection. See also the CAM_FEEDBACK_POL option. If using AUX4 pin on a Pixhawk then a fast capture method is used that allows for the trigger time to be as short as one microsecond." user="Standard">
<values>
<value code="-1">Disabled</value>
<value code="50">PX4 AUX1</value>
<value code="51">PX4 AUX2</value>
<value code="52">PX4 AUX3</value>
<value code="53">PX4 AUX4(fast capture)</value>
<value code="54">PX4 AUX5</value>
<value code="55">PX4 AUX6</value>
</values>
</param>
<param humanName="Camera feedback pin polarity" name="CAM_FEEDBACK_POL" documentation="Polarity for feedback pin. If this is 1 then the feedback pin should go high on trigger. If set to 0 then it should go low" user="Standard">
<values>
<value code="0">TriggerLow</value>
<value code="1">TriggerHigh</value>
</values>
</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 send THR_MIN PWM to 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 befor 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,7:Board voltage,8:Battery Level,9:Airspeed,10:Logging Available,11:Hardware safety switch,12:GPS Configuration</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 Failsafe</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>
</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>
</param>
<param humanName="Minimum arming voltage on the first battery" name="ARMING_MIN_VOLT" documentation="The minimum voltage on the first battery to arm, 0 disabes the check" user="Standard">
<field name="Increment">0.1 </field>
<field name="Units">Volts</field>
</param>
<param humanName="Minimum arming voltage on the second battery" name="ARMING_MIN_VOLT2" documentation="The minimum voltage on the first battery to arm, 0 disabes the check" user="Standard">
<field name="Increment">0.1 </field>
<field name="Units">Volts</field>
</param>
</parameters>
<parameters name="RELAY_">
<param humanName="First Relay Pin" name="RELAY_PIN" documentation="Digital pin number for first relay control. This is the pin used for camera control." user="Standard">
<values>
<value code="-1">Disabled</value>
<value code="13">APM2 A9 pin</value>
<value code="47">APM1 relay</value>
<value code="50">Pixhawk AUXOUT1</value>
<value code="51">Pixhawk AUXOUT2</value>
<value code="52">Pixhawk AUXOUT3</value>
<value code="53">Pixhawk AUXOUT4</value>
<value code="54">Pixhawk AUXOUT5</value>
<value code="55">Pixhawk AUXOUT6</value>
<value code="111">PX4 FMU Relay1</value>
<value code="112">PX4 FMU Relay2</value>
<value code="113">PX4IO Relay1</value>
<value code="114">PX4IO Relay2</value>
<value code="115">PX4IO ACC1</value>
<value code="116">PX4IO ACC2</value>
</values>
</param>
<param humanName="Second Relay Pin" name="RELAY_PIN2" documentation="Digital pin number for 2nd relay control." user="Standard">
<values>
<value code="-1">Disabled</value>
<value code="13">APM2 A9 pin</value>
<value code="47">APM1 relay</value>
<value code="50">Pixhawk AUXOUT1</value>
<value code="51">Pixhawk AUXOUT2</value>
<value code="52">Pixhawk AUXOUT3</value>
<value code="53">Pixhawk AUXOUT4</value>
<value code="54">Pixhawk AUXOUT5</value>
<value code="55">Pixhawk AUXOUT6</value>
<value code="111">PX4 FMU Relay1</value>
<value code="112">PX4 FMU Relay2</value>
<value code="113">PX4IO Relay1</value>
<value code="114">PX4IO Relay2</value>
<value code="115">PX4IO ACC1</value>
<value code="116">PX4IO ACC2</value>
</values>
</param>
<param humanName="Third Relay Pin" name="RELAY_PIN3" documentation="Digital pin number for 3rd relay control." user="Standard">
<values>
<value code="-1">Disabled</value>
<value code="13">APM2 A9 pin</value>
<value code="47">APM1 relay</value>
<value code="50">Pixhawk AUXOUT1</value>
<value code="51">Pixhawk AUXOUT2</value>
<value code="52">Pixhawk AUXOUT3</value>
<value code="53">Pixhawk AUXOUT4</value>
<value code="54">Pixhawk AUXOUT5</value>
<value code="55">Pixhawk AUXOUT6</value>
<value code="111">PX4 FMU Relay1</value>
<value code="112">PX4 FMU Relay2</value>
<value code="113">PX4IO Relay1</value>
<value code="114">PX4IO Relay2</value>
<value code="115">PX4IO ACC1</value>
<value code="116">PX4IO ACC2</value>
</values>
</param>
<param humanName="Fourth Relay Pin" name="RELAY_PIN4" documentation="Digital pin number for 4th relay control." user="Standard">
<values>
<value code="-1">Disabled</value>
<value code="13">APM2 A9 pin</value>
<value code="47">APM1 relay</value>
<value code="50">Pixhawk AUXOUT1</value>
<value code="51">Pixhawk AUXOUT2</value>
<value code="52">Pixhawk AUXOUT3</value>
<value code="53">Pixhawk AUXOUT4</value>
<value code="54">Pixhawk AUXOUT5</value>
<value code="55">Pixhawk AUXOUT6</value>
<value code="111">PX4 FMU Relay1</value>
<value code="112">PX4 FMU Relay2</value>
<value code="113">PX4IO Relay1</value>
<value code="114">PX4IO Relay2</value>
<value code="115">PX4IO ACC1</value>
<value code="116">PX4IO ACC2</value>
</values>
</param>
<param humanName="Default relay state" name="RELAY_DEFAULT" documentation="The state of the relay on boot. " user="Standard">
<values>
<value code="0">Off</value>
<value code="1">On</value>
<value code="2">NoChange</value>
</values>
</param>
</parameters>
<parameters name="CHUTE_">
<param humanName="Parachute release enabled or disabled" name="CHUTE_ENABLED" documentation="Parachute release enabled or disabled" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Parachute release mechanism type (relay or servo)" name="CHUTE_TYPE" documentation="Parachute release mechanism type (relay or servo)" user="Standard">
<values>
<value code="0">First Relay</value>
<value code="1">Second Relay</value>
<value code="2">Third Relay</value>
<value code="3">Fourth Relay</value>
<value code="10">Servo</value>
</values>
</param>
<param humanName="Parachute Servo ON PWM value" name="CHUTE_SERVO_ON" documentation="Parachute Servo PWM value when parachute is released" user="Standard">
<field name="Range">1000 2000</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="Servo OFF PWM value" name="CHUTE_SERVO_OFF" documentation="Parachute Servo PWM value when parachute is not released" user="Standard">
<field name="Range">1000 2000</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="Parachute min altitude in meters above home" name="CHUTE_ALT_MIN" documentation="Parachute min altitude above home.  Parachute will not be released below this altitude.  0 to disable alt check." user="Standard">
<field name="Range">0 32000</field>
<field name="Increment">1</field>
<field name="Units">Meters</field>
</param>
<param humanName="Parachute release delay" name="CHUTE_DELAY_MS" documentation="Delay in millseconds between motor stop and chute release" user="Standard">
<field name="Range">0 5000</field>
<field name="Increment">1</field>
<field name="Units">Milliseconds</field>
</param>
</parameters>
<parameters name="RNGFND">
<param humanName="Rangefinder type" name="RNGFND_TYPE" documentation="What type of rangefinder device that is connected" user="Standard">
<values>
<value code="0">None</value>
<value code="1">Analog</value>
<value code="2">APM2-MaxbotixI2C</value>
<value code="3">APM2-PulsedLightI2C</value>
<value code="4">PX4-I2C</value>
<value code="5">PX4-PWM</value>
<value code="6">BBB-PRU</value>
<value code="7">LightWareI2C</value>
<value code="8">LightWareSerial</value>
<value code="9">Bebop</value>
<value code="10">MAVLink</value>
</values>
</param>
<param humanName="Rangefinder pin" name="RNGFND_PIN" documentation="Analog pin that rangefinder is connected to. Set this to 0..9 for the APM2 analog pins. Set to 64 on an APM1 for the dedicated 'airspeed' port on the end of the board. Set to 11 on PX4 for the analog 'airspeed' port. Set to 15 on the Pixhawk for the analog 'airspeed' port." user="Standard">
<values>
<value code="-1">Not Used</value>
<value code=" 0">APM2-A0</value>
<value code=" 1">APM2-A1</value>
<value code=" 2">APM2-A2</value>
<value code=" 3">APM2-A3</value>
<value code=" 4">APM2-A4</value>
<value code=" 5">APM2-A5</value>
<value code=" 6">APM2-A6</value>
<value code=" 7">APM2-A7</value>
<value code=" 8">APM2-A8</value>
<value code=" 9">APM2-A9</value>
<value code=" 11">PX4-airspeed port</value>
<value code=" 15">Pixhawk-airspeed port</value>
<value code=" 64">APM1-airspeed port</value>
</values>
</param>
<param humanName="Rangefinder scaling" name="RNGFND_SCALING" documentation="Scaling factor between rangefinder reading and distance. For the linear and inverted functions this is in meters per volt. For the hyperbolic function the units are meterVolts." user="Standard">
<field name="Increment">0.001</field>
<field name="Units">meters/Volt</field>
</param>
<param humanName="rangefinder offset" name="RNGFND_OFFSET" documentation="Offset in volts for zero distance for analog rangefinders. Offset added to distance in centimeters for PWM and I2C Lidars" user="Standard">
<field name="Increment">0.001</field>
<field name="Units">Volts</field>
</param>
<param humanName="Rangefinder function" name="RNGFND_FUNCTION" documentation="Control over what function is used to calculate distance. For a linear function, the distance is (voltage-offset)*scaling. For a inverted function the distance is (offset-voltage)*scaling. For a hyperbolic function the distance is scaling/(voltage-offset). The functions return the distance in meters." user="Standard">
<values>
<value code="0">Linear</value>
<value code="1">Inverted</value>
<value code="2">Hyperbolic</value>
</values>
</param>
<param humanName="Rangefinder minimum distance" name="RNGFND_MIN_CM" documentation="Minimum distance in centimeters that rangefinder can reliably read" user="Standard">
<field name="Increment">1</field>
<field name="Units">centimeters</field>
</param>
<param humanName="Rangefinder maximum distance" name="RNGFND_MAX_CM" documentation="Maximum distance in centimeters that rangefinder can reliably read" user="Standard">
<field name="Increment">1</field>
<field name="Units">centimeters</field>
</param>
<param humanName="Rangefinder stop pin" name="RNGFND_STOP_PIN" documentation="Digital pin that enables/disables rangefinder measurement for an analog rangefinder. A value of -1 means no pin. If this is set, then the pin is set to 1 to enable the rangefinder and set to 0 to disable it. This can be used to ensure that multiple sonar rangefinders don't interfere with each other." user="Standard">
<values>
<value code="-1">Not Used</value>
<value code="50">Pixhawk AUXOUT1</value>
<value code="51">Pixhawk AUXOUT2</value>
<value code="52">Pixhawk AUXOUT3</value>
<value code="53">Pixhawk AUXOUT4</value>
<value code="54">Pixhawk AUXOUT5</value>
<value code="55">Pixhawk AUXOUT6</value>
<value code="111">PX4 FMU Relay1</value>
<value code="112">PX4 FMU Relay2</value>
<value code="113">PX4IO Relay1</value>
<value code="114">PX4IO Relay2</value>
<value code="115">PX4IO ACC1</value>
<value code="116">PX4IO ACC2</value>
</values>
</param>
<param humanName="Rangefinder settle time" name="RNGFND_SETTLE" documentation="The time in milliseconds that the rangefinder reading takes to settle. This is only used when a STOP_PIN is specified. It determines how long we have to wait for the rangefinder to give a reading after we set the STOP_PIN high. For a sonar rangefinder with a range of around 7m this would need to be around 50 milliseconds to allow for the sonar pulse to travel to the target and back again." user="Standard">
<field name="Increment">1</field>
<field name="Units">milliseconds</field>
</param>
<param humanName="Ratiometric" name="RNGFND_RMETRIC" documentation="This parameter sets whether an analog rangefinder is ratiometric. Most analog rangefinders are ratiometric, meaning that their output voltage is influenced by the supply voltage. Some analog rangefinders (such as the SF/02) have their own internal voltage regulators so they are not ratiometric." user="Standard">
<values>
<value code="0">No</value>
<value code="1">Yes</value>
</values>
</param>
<param humanName="Powersave range" name="RNGFND_PWRRNG" documentation="This parameter sets the estimated terrain distance in meters above which the sensor will be put into a power saving mode (if available). A value of zero means power saving is not enabled" user="Standard">
<field name="Range">0 32767</field>
<field name="Units">meters</field>
</param>
<param humanName="Distance (in cm) from the range finder to the ground" name="RNGFND_GNDCLEAR" documentation="This parameter sets the expected range measurement(in cm) that the range finder should return when the vehicle is on the ground." user="Standard">
<field name="Range">0 127</field>
<field name="Increment">1</field>
<field name="Units">centimeters</field>
</param>
<param humanName="Second Rangefinder type" name="RNGFND2_TYPE" documentation="What type of rangefinder device that is connected" user="Advanced">
<values>
<value code="0">None</value>
<value code="1">Analog</value>
<value code="2">APM2-MaxbotixI2C</value>
<value code="3">APM2-PulsedLightI2C</value>
<value code="4">PX4-I2C</value>
<value code="5">PX4-PWM</value>
<value code="6">BBB-PRU</value>
<value code="7">LightWareI2C</value>
<value code="8">LightWareSerial</value>
<value code="9">Bebop</value>
<value code="10">MAVLink</value>
</values>
</param>
<param humanName="Rangefinder pin" name="RNGFND2_PIN" documentation="Analog pin that rangefinder is connected to. Set this to 0..9 for the APM2 analog pins. Set to 64 on an APM1 for the dedicated 'airspeed' port on the end of the board. Set to 11 on PX4 for the analog 'airspeed' port. Set to 15 on the Pixhawk for the analog 'airspeed' port." user="Advanced">
<values>
<value code="-1">Not Used</value>
<value code=" 0">APM2-A0</value>
<value code=" 1">APM2-A1</value>
<value code=" 2">APM2-A2</value>
<value code=" 3">APM2-A3</value>
<value code=" 4">APM2-A4</value>
<value code=" 5">APM2-A5</value>
<value code=" 6">APM2-A6</value>
<value code=" 7">APM2-A7</value>
<value code=" 8">APM2-A8</value>
<value code=" 9">APM2-A9</value>
<value code=" 11">PX4-airspeed port</value>
<value code=" 15">Pixhawk-airspeed port</value>
<value code=" 64">APM1-airspeed port</value>
</values>
</param>
<param humanName="Rangefinder scaling" name="RNGFND2_SCALING" documentation="Scaling factor between rangefinder reading and distance. For the linear and inverted functions this is in meters per volt. For the hyperbolic function the units are meterVolts." user="Advanced">
<field name="Increment">0.001</field>
<field name="Units">meters/Volt</field>
</param>
<param humanName="rangefinder offset" name="RNGFND2_OFFSET" documentation="Offset in volts for zero distance" user="Advanced">
<field name="Increment">0.001</field>
<field name="Units">Volts</field>
</param>
<param humanName="Rangefinder function" name="RNGFND2_FUNCTION" documentation="Control over what function is used to calculate distance. For a linear function, the distance is (voltage-offset)*scaling. For a inverted function the distance is (offset-voltage)*scaling. For a hyperbolic function the distance is scaling/(voltage-offset). The functions return the distance in meters." user="Advanced">
<values>
<value code="0">Linear</value>
<value code="1">Inverted</value>
<value code="2">Hyperbolic</value>
</values>
</param>
<param humanName="Rangefinder minimum distance" name="RNGFND2_MIN_CM" documentation="Minimum distance in centimeters that rangefinder can reliably read" user="Advanced">
<field name="Increment">1</field>
<field name="Units">centimeters</field>
</param>
<param humanName="Rangefinder maximum distance" name="RNGFND2_MAX_CM" documentation="Maximum distance in centimeters that rangefinder can reliably read" user="Advanced">
<field name="Increment">1</field>
<field name="Units">centimeters</field>
</param>
<param humanName="Rangefinder stop pin" name="RNGFND2_STOP_PIN" documentation="Digital pin that enables/disables rangefinder measurement for an analog rangefinder. A value of -1 means no pin. If this is set, then the pin is set to 1 to enable the rangefinder and set to 0 to disable it. This can be used to ensure that multiple sonar rangefinders don't interfere with each other." user="Advanced">
<values>
<value code="-1">Not Used</value>
<value code="50">Pixhawk AUXOUT1</value>
<value code="51">Pixhawk AUXOUT2</value>
<value code="52">Pixhawk AUXOUT3</value>
<value code="53">Pixhawk AUXOUT4</value>
<value code="54">Pixhawk AUXOUT5</value>
<value code="55">Pixhawk AUXOUT6</value>
<value code="111">PX4 FMU Relay1</value>
<value code="112">PX4 FMU Relay2</value>
<value code="113">PX4IO Relay1</value>
<value code="114">PX4IO Relay2</value>
<value code="115">PX4IO ACC1</value>
<value code="116">PX4IO ACC2</value>
</values>
</param>
<param humanName="Sonar settle time" name="RNGFND2_SETTLE" documentation="The time in milliseconds that the rangefinder reading takes to settle. This is only used when a STOP_PIN is specified. It determines how long we have to wait for the rangefinder to give a reading after we set the STOP_PIN high. For a sonar rangefinder with a range of around 7m this would need to be around 50 milliseconds to allow for the sonar pulse to travel to the target and back again." user="Advanced">
<field name="Increment">1</field>
<field name="Units">milliseconds</field>
</param>
<param humanName="Ratiometric" name="RNGFND2_RMETRIC" documentation="This parameter sets whether an analog rangefinder is ratiometric. Most analog rangefinders are ratiometric, meaning that their output voltage is influenced by the supply voltage. Some analog rangefinders (such as the SF/02) have their own internal voltage regulators so they are not ratiometric." user="Advanced">
<values>
<value code="0">No</value>
<value code="1">Yes</value>
</values>
</param>
<param humanName="Distance (in cm) from the second range finder to the ground" name="RNGFND2_GNDCLEAR" documentation="This parameter sets the expected range measurement(in cm) that the second range finder should return when the vehicle is on the ground." user="Advanced">
<field name="Range">0 127</field>
<field name="Increment">1</field>
<field name="Units">centimeters</field>
</param>
<param humanName="Bus address of sensor" name="RNGFND_ADDR" documentation="This sets the bus address of the sensor, where applicable. Used for the LightWare I2C sensor to allow for multiple sensors on different addresses. A value of 0 disables the sensor." user="Standard">
<field name="Range">0 127</field>
<field name="Increment">1</field>
</param>
<param humanName="Bus address of 2nd rangefinder" name="RNGFND2_ADDR" documentation="This sets the bus address of the sensor, where applicable. Used for the LightWare I2C sensor to allow for multiple sensors on different addresses. A value of 0 disables the sensor." user="Advanced">
<field name="Range">0 127</field>
<field name="Increment">1</field>
</param>
<param humanName="Second Rangefinder type" name="RNGFND3_TYPE" documentation="What type of rangefinder device that is connected">
<values>
<value code="0">None</value>
<value code="1">Analog</value>
<value code="2">APM2-MaxbotixI2C</value>
<value code="3">APM2-PulsedLightI2C</value>
<value code="4">PX4-I2C</value>
<value code="5">PX4-PWM</value>
<value code="6">BBB-PRU</value>
<value code="7">LightWareI2C</value>
<value code="8">LightWareSerial</value>
<value code="9">Bebop</value>
<value code="10">MAVLink</value>
</values>
</param>
<param humanName="Rangefinder pin" name="RNGFND3_PIN" documentation="Analog pin that rangefinder is connected to. Set this to 0..9 for the APM2 analog pins. Set to 64 on an APM1 for the dedicated 'airspeed' port on the end of the board. Set to 11 on PX4 for the analog 'airspeed' port. Set to 15 on the Pixhawk for the analog 'airspeed' port.">
<values>
<value code="-1">Not Used</value>
<value code=" 0">APM2-A0</value>
<value code=" 1">APM2-A1</value>
<value code=" 2">APM2-A2</value>
<value code=" 3">APM2-A3</value>
<value code=" 4">APM2-A4</value>
<value code=" 5">APM2-A5</value>
<value code=" 6">APM2-A6</value>
<value code=" 7">APM2-A7</value>
<value code=" 8">APM2-A8</value>
<value code=" 9">APM2-A9</value>
<value code=" 11">PX4-airspeed port</value>
<value code=" 15">Pixhawk-airspeed port</value>
<value code=" 64">APM1-airspeed port</value>
</values>
</param>
<param humanName="Rangefinder scaling" name="RNGFND3_SCALING" documentation="Scaling factor between rangefinder reading and distance. For the linear and inverted functions this is in meters per volt. For the hyperbolic function the units are meterVolts.">
<field name="Units">meters/Volt</field>
<field name="Increment">0.001</field>
</param>
<param humanName="rangefinder offset" name="RNGFND3_OFFSET" documentation="Offset in volts for zero distance">
<field name="Units">Volts</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Rangefinder function" name="RNGFND3_FUNCTION" documentation="Control over what function is used to calculate distance. For a linear function, the distance is (voltage-offset)*scaling. For a inverted function the distance is (offset-voltage)*scaling. For a hyperbolic function the distance is scaling/(voltage-offset). The functions return the distance in meters.">
<values>
<value code="0">Linear</value>
<value code="1">Inverted</value>
<value code="2">Hyperbolic</value>
</values>
</param>
<param humanName="Rangefinder minimum distance" name="RNGFND3_MIN_CM" documentation="Minimum distance in centimeters that rangefinder can reliably read">
<field name="Units">centimeters</field>
<field name="Increment">1</field>
</param>
<param humanName="Rangefinder maximum distance" name="RNGFND3_MAX_CM" documentation="Maximum distance in centimeters that rangefinder can reliably read">
<field name="Units">centimeters</field>
<field name="Increment">1</field>
</param>
<param humanName="Rangefinder stop pin" name="RNGFND3_STOP_PIN" documentation="Digital pin that enables/disables rangefinder measurement for an analog rangefinder. A value of -1 means no pin. If this is set, then the pin is set to 1 to enable the rangefinder and set to 0 to disable it. This can be used to ensure that multiple sonar rangefinders don't interfere with each other.">
<values>
<value code="-1">Not Used</value>
<value code="50">Pixhawk AUXOUT1</value>
<value code="51">Pixhawk AUXOUT2</value>
<value code="52">Pixhawk AUXOUT3</value>
<value code="53">Pixhawk AUXOUT4</value>
<value code="54">Pixhawk AUXOUT5</value>
<value code="55">Pixhawk AUXOUT6</value>
<value code="111">PX4 FMU Relay1</value>
<value code="112">PX4 FMU Relay2</value>
<value code="113">PX4IO Relay1</value>
<value code="114">PX4IO Relay2</value>
<value code="115">PX4IO ACC1</value>
<value code="116">PX4IO ACC2</value>
</values>
</param>
<param humanName="Sonar settle time" name="RNGFND3_SETTLE" documentation="The time in milliseconds that the rangefinder reading takes to settle. This is only used when a STOP_PIN is specified. It determines how long we have to wait for the rangefinder to give a reading after we set the STOP_PIN high. For a sonar rangefinder with a range of around 7m this would need to be around 50 milliseconds to allow for the sonar pulse to travel to the target and back again.">
<field name="Units">milliseconds</field>
<field name="Increment">1</field>
</param>
<param humanName="Ratiometric" name="RNGFND3_RMETRIC" documentation="This parameter sets whether an analog rangefinder is ratiometric. Most analog rangefinders are ratiometric, meaning that their output voltage is influenced by the supply voltage. Some analog rangefinders (such as the SF/02) have their own internal voltage regulators so they are not ratiometric.">
<values>
<value code="0">No</value>
<value code="1">Yes</value>
</values>
</param>
<param humanName="Distance (in cm) from the second range finder to the ground" name="RNGFND3_GNDCLEAR" documentation="This parameter sets the expected range measurement(in cm) that the second range finder should return when the vehicle is on the ground." user="Advanced">
<field name="Range">0 127</field>
<field name="Increment">1</field>
<field name="Units">centimeters</field>
</param>
<param humanName="Bus address of 2nd rangefinder" name="RNGFND3_ADDR" documentation="This sets the bus address of the sensor, where applicable. Used for the LightWare I2C sensor to allow for multiple sensors on different addresses. A value of 0 disables the sensor." user="Advanced">
<field name="Range">0 127</field>
<field name="Increment">1</field>
</param>
<param humanName="Second Rangefinder type" name="RNGFND4_TYPE" documentation="What type of rangefinder device that is connected">
<values>
<value code="0">None</value>
<value code="1">Analog</value>
<value code="2">APM2-MaxbotixI2C</value>
<value code="3">APM2-PulsedLightI2C</value>
<value code="4">PX4-I2C</value>
<value code="5">PX4-PWM</value>
<value code="6">BBB-PRU</value>
<value code="7">LightWareI2C</value>
<value code="8">LightWareSerial</value>
<value code="9">Bebop</value>
<value code="10">MAVLink</value>
</values>
</param>
<param humanName="Rangefinder pin" name="RNGFND4_PIN" documentation="Analog pin that rangefinder is connected to. Set this to 0..9 for the APM2 analog pins. Set to 64 on an APM1 for the dedicated 'airspeed' port on the end of the board. Set to 11 on PX4 for the analog 'airspeed' port. Set to 15 on the Pixhawk for the analog 'airspeed' port.">
<values>
<value code="-1">Not Used</value>
<value code=" 0">APM2-A0</value>
<value code=" 1">APM2-A1</value>
<value code=" 2">APM2-A2</value>
<value code=" 3">APM2-A3</value>
<value code=" 4">APM2-A4</value>
<value code=" 5">APM2-A5</value>
<value code=" 6">APM2-A6</value>
<value code=" 7">APM2-A7</value>
<value code=" 8">APM2-A8</value>
<value code=" 9">APM2-A9</value>
<value code=" 11">PX4-airspeed port</value>
<value code=" 15">Pixhawk-airspeed port</value>
<value code=" 64">APM1-airspeed port</value>
</values>
</param>
<param humanName="Rangefinder scaling" name="RNGFND4_SCALING" documentation="Scaling factor between rangefinder reading and distance. For the linear and inverted functions this is in meters per volt. For the hyperbolic function the units are meterVolts.">
<field name="Units">meters/Volt</field>
<field name="Increment">0.001</field>
</param>
<param humanName="rangefinder offset" name="RNGFND4_OFFSET" documentation="Offset in volts for zero distance">
<field name="Units">Volts</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Rangefinder function" name="RNGFND4_FUNCTION" documentation="Control over what function is used to calculate distance. For a linear function, the distance is (voltage-offset)*scaling. For a inverted function the distance is (offset-voltage)*scaling. For a hyperbolic function the distance is scaling/(voltage-offset). The functions return the distance in meters.">
<values>
<value code="0">Linear</value>
<value code="1">Inverted</value>
<value code="2">Hyperbolic</value>
</values>
</param>
<param humanName="Rangefinder minimum distance" name="RNGFND4_MIN_CM" documentation="Minimum distance in centimeters that rangefinder can reliably read">
<field name="Units">centimeters</field>
<field name="Increment">1</field>
</param>
<param humanName="Rangefinder maximum distance" name="RNGFND4_MAX_CM" documentation="Maximum distance in centimeters that rangefinder can reliably read">
<field name="Units">centimeters</field>
<field name="Increment">1</field>
</param>
<param humanName="Rangefinder stop pin" name="RNGFND4_STOP_PIN" documentation="Digital pin that enables/disables rangefinder measurement for an analog rangefinder. A value of -1 means no pin. If this is set, then the pin is set to 1 to enable the rangefinder and set to 0 to disable it. This can be used to ensure that multiple sonar rangefinders don't interfere with each other.">
<values>
<value code="-1">Not Used</value>
<value code="50">Pixhawk AUXOUT1</value>
<value code="51">Pixhawk AUXOUT2</value>
<value code="52">Pixhawk AUXOUT3</value>
<value code="53">Pixhawk AUXOUT4</value>
<value code="54">Pixhawk AUXOUT5</value>
<value code="55">Pixhawk AUXOUT6</value>
<value code="111">PX4 FMU Relay1</value>
<value code="112">PX4 FMU Relay2</value>
<value code="113">PX4IO Relay1</value>
<value code="114">PX4IO Relay2</value>
<value code="115">PX4IO ACC1</value>
<value code="116">PX4IO ACC2</value>
</values>
</param>
<param humanName="Sonar settle time" name="RNGFND4_SETTLE" documentation="The time in milliseconds that the rangefinder reading takes to settle. This is only used when a STOP_PIN is specified. It determines how long we have to wait for the rangefinder to give a reading after we set the STOP_PIN high. For a sonar rangefinder with a range of around 7m this would need to be around 50 milliseconds to allow for the sonar pulse to travel to the target and back again.">
<field name="Units">milliseconds</field>
<field name="Increment">1</field>
</param>
<param humanName="Ratiometric" name="RNGFND4_RMETRIC" documentation="This parameter sets whether an analog rangefinder is ratiometric. Most analog rangefinders are ratiometric, meaning that their output voltage is influenced by the supply voltage. Some analog rangefinders (such as the SF/02) have their own internal voltage regulators so they are not ratiometric.">
<values>
<value code="0">No</value>
<value code="1">Yes</value>
</values>
</param>
<param humanName="Distance (in cm) from the second range finder to the ground" name="RNGFND4_GNDCLEAR" documentation="This parameter sets the expected range measurement(in cm) that the second range finder should return when the vehicle is on the ground." user="Advanced">
<field name="Range">0 127</field>
<field name="Increment">1</field>
<field name="Units">centimeters</field>
</param>
<param humanName="Bus address of 2nd rangefinder" name="RNGFND4_ADDR" documentation="This sets the bus address of the sensor, where applicable. Used for the LightWare I2C sensor to allow for multiple sensors on different addresses. A value of 0 disables the sensor." user="Advanced">
<field name="Range">0 127</field>
<field name="Increment">1</field>
</param>
</parameters>
<parameters name="TERRAIN_">
<param humanName="Terrain data enable" name="TERRAIN_ENABLE" documentation="enable terrain data. This enables the vehicle storing a database of terrain data on the SD card. The terrain data is requested from the ground station as needed, and stored for later use on the SD card. To be useful the ground station must support TERRAIN_REQUEST messages and have access to a terrain database, such as the SRTM database.">
<values>
<value code="0">Disable</value>
<value code="1">Enable</value>
</values>
</param>
<param humanName="Terrain grid spacing" name="TERRAIN_SPACING" documentation="Distance between terrain grid points in meters. This controls the horizontal resolution of the terrain data that is stored on te SD card and requested from the ground station. If your GCS is using the worldwide SRTM database then a resolution of 100 meters is appropriate. Some parts of the world may have higher resolution data available, such as 30 meter data available in the SRTM database in the USA. The grid spacing also controls how much data is kept in memory during flight. A larger grid spacing will allow for a larger amount of data in memory. A grid spacing of 100 meters results in the vehicle keeping 12 grid squares in memory with each grid square having a size of 2.7 kilometers by 3.2 kilometers. Any additional grid squares are stored on the SD once they are fetched from the GCS and will be demand loaded as needed.">
<field name="Units">meters</field>
<field name="Increment">1</field>
</param>
</parameters>
<parameters name="ADSB_">
<param humanName="Enable ADSB" name="ADSB_ENABLE" documentation="Enable ADS-B" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="ADSB based Collision Avoidance Behavior" name="ADSB_BEHAVIOR" documentation="ADSB based Collision Avoidance Behavior selector" user="Advanced">
<values>
<value code="0">None</value>
<value code="1">Loiter</value>
<value code="2">LoiterAndDescend</value>
</values>
</param>
</parameters>
<parameters name="TUNE_">
<param humanName="Transmitter tuning channel" name="TUNE_CHAN" documentation="This sets the channel for transmitter tuning. This should be connected to a knob or slider on your transmitter. It needs to be setup to use the PWM range given by TUNE_CHAN_MIN to TUNE_CHAN_MAX" user="Standard">
<values>
<value code="0">Disable</value>
<value code="5">Chan5</value>
<value code="6">Chan6</value>
<value code="7">Chan7</value>
<value code="8">Chan8</value>
<value code="9">Chan9</value>
<value code="10">Chan10</value>
<value code="11">Chan11</value>
<value code="12">Chan12</value>
<value code="13">Chan13</value>
<value code="14">Chan14</value>
<value code="15">Chan15</value>
<value code="16">Chan16</value>
</values>
</param>
<param humanName="Transmitter tuning channel minimum pwm" name="TUNE_CHAN_MIN" documentation="This sets the PWM lower limit for the tuning channel" user="Standard">
<field name="Range">900 2100</field>
</param>
<param humanName="Transmitter tuning channel maximum pwm" name="TUNE_CHAN_MAX" documentation="This sets the PWM upper limit for the tuning channel" user="Standard">
<field name="Range">900 2100</field>
</param>
<param humanName="Transmitter tuning selector channel" name="TUNE_SELECTOR" documentation="This sets the channel for the transmitter tuning selector switch. This should be a 2 position switch, preferably spring loaded. A PWM above 1700 means high, below 1300 means low. If no selector is set then you won't be able to switch between parameters during flight or re-center the tuning knob" user="Standard">
<values>
<value code="0">Disable</value>
<value code="1">Chan1</value>
<value code="2">Chan3</value>
<value code="3">Chan3</value>
<value code="4">Chan4</value>
<value code="5">Chan5</value>
<value code="6">Chan6</value>
<value code="7">Chan7</value>
<value code="8">Chan8</value>
<value code="9">Chan9</value>
<value code="10">Chan10</value>
<value code="11">Chan11</value>
<value code="12">Chan12</value>
<value code="13">Chan13</value>
<value code="14">Chan14</value>
<value code="15">Chan15</value>
<value code="16">Chan16</value>
</values>
</param>
<param humanName="Transmitter tuning range" name="TUNE_RANGE" documentation="This sets the range over which tuning will change a parameter. A value of 2 means the tuning parameter will go from 0.5 times the start value to 2x the start value over the range of the tuning channel" user="Standard">
</param>
<param humanName="Revert on mode change" name="TUNE_MODE_REVERT" documentation="This controls whether tuning values will revert on a flight mode change." user="Standard">
<values>
<value code="0">Disable</value>
<value code="1">Enable</value>
</values>
</param>
<param humanName="Controller error threshold" name="TUNE_ERR_THRESH" documentation="This sets the controller error threshold above which an alarm will sound and a message will be sent to the GCS to warn of controller instability" user="Standard">
<field name="Range">0 1</field>
</param>
</parameters>
<parameters name="Q_A_">
<param humanName="Roll axis rate controller P gain" name="Q_A_RAT_RLL_P" documentation="Roll axis rate controller P gain.  Converts the difference between desired roll rate and actual roll rate into a motor speed output" user="Standard">
<field name="Range">0.08 0.30</field>
<field name="Increment">0.005</field>
</param>
<param humanName="Roll axis rate controller I gain" name="Q_A_RAT_RLL_I" documentation="Roll axis rate controller I gain.  Corrects long-term difference in desired roll rate vs actual roll rate" user="Standard">
<field name="Range">0.01 0.5</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Roll axis rate controller I gain maximum" name="Q_A_RAT_RLL_IMAX" documentation="Roll axis rate controller I gain maximum.  Constrains the maximum motor output that the I gain will output" user="Standard">
<field name="Range">0 1</field>
<field name="Increment">0.01</field>
<field name="Units">Percent</field>
</param>
<param humanName="Roll axis rate controller D gain" name="Q_A_RAT_RLL_D" documentation="Roll axis rate controller D gain.  Compensates for short-term change in desired roll rate vs actual roll rate" user="Standard">
<field name="Range">0.0 0.02</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Roll axis rate conroller input frequency in Hz" name="Q_A_RAT_RLL_FILT" documentation="Roll axis rate conroller input frequency in Hz">
<field name="Range">1 100</field>
<field name="Increment">1</field>
<field name="Units">Hz</field>
</param>
<param humanName="Pitch axis rate controller P gain" name="Q_A_RAT_PIT_P" documentation="Pitch axis rate controller P gain.  Converts the difference between desired pitch rate and actual pitch rate into a motor speed output" user="Standard">
<field name="Range">0.08 0.30</field>
<field name="Increment">0.005</field>
</param>
<param humanName="Pitch axis rate controller I gain" name="Q_A_RAT_PIT_I" documentation="Pitch axis rate controller I gain.  Corrects long-term difference in desired pitch rate vs actual pitch rate" user="Standard">
<field name="Range">0.01 0.5</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Pitch axis rate controller I gain maximum" name="Q_A_RAT_PIT_IMAX" documentation="Pitch axis rate controller I gain maximum.  Constrains the maximum motor output that the I gain will output" user="Standard">
<field name="Range">0 1</field>
<field name="Increment">0.01</field>
<field name="Units">Percent</field>
</param>
<param humanName="Pitch axis rate controller D gain" name="Q_A_RAT_PIT_D" documentation="Pitch axis rate controller D gain.  Compensates for short-term change in desired pitch rate vs actual pitch rate" user="Standard">
<field name="Range">0.0 0.02</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Pitch axis rate conroller input frequency in Hz" name="Q_A_RAT_PIT_FILT" documentation="Pitch axis rate conroller input frequency in Hz">
<field name="Range">1 100</field>
<field name="Increment">1</field>
<field name="Units">Hz</field>
</param>
<param humanName="Yaw axis rate controller P gain" name="Q_A_RAT_YAW_P" documentation="Yaw axis rate controller P gain.  Converts the difference between desired yaw rate and actual yaw rate into a motor speed output" user="Standard">
<field name="Range">0.10 0.50</field>
<field name="Increment">0.005</field>
</param>
<param humanName="Yaw axis rate controller I gain" name="Q_A_RAT_YAW_I" documentation="Yaw axis rate controller I gain.  Corrects long-term difference in desired yaw rate vs actual yaw rate" user="Standard">
<field name="Range">0.010 0.05</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Yaw axis rate controller I gain maximum" name="Q_A_RAT_YAW_IMAX" documentation="Yaw axis rate controller I gain maximum.  Constrains the maximum motor output that the I gain will output" user="Standard">
<field name="Range">0 1</field>
<field name="Increment">0.01</field>
<field name="Units">Percent</field>
</param>
<param humanName="Yaw axis rate controller D gain" name="Q_A_RAT_YAW_D" documentation="Yaw axis rate controller D gain.  Compensates for short-term change in desired yaw rate vs actual yaw rate" user="Standard">
<field name="Range">0.000 0.02</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Yaw axis rate conroller input frequency in Hz" name="Q_A_RAT_YAW_FILT" documentation="Yaw axis rate conroller input frequency in Hz">
<field name="Range">1 100</field>
<field name="Increment">1</field>
<field name="Units">Hz</field>
</param>
<param humanName="Throttle Mix Minimum" name="Q_A_THR_MIX_MIN" documentation="Throttle vs attitude control prioritisation used when landing (higher values mean we prioritise attitude control over throttle)" user="Advanced">
<field name="Range">0.1 0.25</field>
</param>
<param humanName="Throttle Mix Maximum" name="Q_A_THR_MIX_MAX" documentation="Throttle vs attitude control prioritisation used during active flight (higher values mean we prioritise attitude control over throttle)" user="Advanced">
<field name="Range">0.5 0.9</field>
</param>
</parameters>
<parameters name="RC1_">
<param humanName="RC min PWM" name="RC1_MIN" documentation="RC minimum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC trim PWM" name="RC1_TRIM" documentation="RC trim (neutral) PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC max PWM" name="RC1_MAX" documentation="RC maximum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC reverse" name="RC1_REV" documentation="Reverse servo operation. Set to 1 for normal (forward) operation. Set to -1 to reverse this channel." user="Advanced">
<values>
<value code="-1">Reversed</value>
<value code="1">Normal</value>
</values>
</param>
<param humanName="RC dead-zone" name="RC1_DZ" documentation="dead zone around trim or bottom" user="Advanced">
<field name="Range">0 200</field>
<field name="Units">pwm</field>
</param>
</parameters>
<parameters name="RC2_">
<param humanName="RC min PWM" name="RC2_MIN" documentation="RC minimum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC trim PWM" name="RC2_TRIM" documentation="RC trim (neutral) PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC max PWM" name="RC2_MAX" documentation="RC maximum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC reverse" name="RC2_REV" documentation="Reverse servo operation. Set to 1 for normal (forward) operation. Set to -1 to reverse this channel." user="Advanced">
<values>
<value code="-1">Reversed</value>
<value code="1">Normal</value>
</values>
</param>
<param humanName="RC dead-zone" name="RC2_DZ" documentation="dead zone around trim or bottom" user="Advanced">
<field name="Range">0 200</field>
<field name="Units">pwm</field>
</param>
</parameters>
<parameters name="RC3_">
<param humanName="RC min PWM" name="RC3_MIN" documentation="RC minimum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC trim PWM" name="RC3_TRIM" documentation="RC trim (neutral) PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC max PWM" name="RC3_MAX" documentation="RC maximum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC reverse" name="RC3_REV" documentation="Reverse servo operation. Set to 1 for normal (forward) operation. Set to -1 to reverse this channel." user="Advanced">
<values>
<value code="-1">Reversed</value>
<value code="1">Normal</value>
</values>
</param>
<param humanName="RC dead-zone" name="RC3_DZ" documentation="dead zone around trim or bottom" user="Advanced">
<field name="Range">0 200</field>
<field name="Units">pwm</field>
</param>
</parameters>
<parameters name="RC4_">
<param humanName="RC min PWM" name="RC4_MIN" documentation="RC minimum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC trim PWM" name="RC4_TRIM" documentation="RC trim (neutral) PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC max PWM" name="RC4_MAX" documentation="RC maximum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC reverse" name="RC4_REV" documentation="Reverse servo operation. Set to 1 for normal (forward) operation. Set to -1 to reverse this channel." user="Advanced">
<values>
<value code="-1">Reversed</value>
<value code="1">Normal</value>
</values>
</param>
<param humanName="RC dead-zone" name="RC4_DZ" documentation="dead zone around trim or bottom" user="Advanced">
<field name="Range">0 200</field>
<field name="Units">pwm</field>
</param>
</parameters>
<parameters name="RC5_">
<param humanName="RC min PWM" name="RC5_MIN" documentation="RC minimum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC trim PWM" name="RC5_TRIM" documentation="RC trim (neutral) PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC max PWM" name="RC5_MAX" documentation="RC maximum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC reverse" name="RC5_REV" documentation="Reverse servo operation. Set to 1 for normal (forward) operation. Set to -1 to reverse this channel." user="Advanced">
<values>
<value code="-1">Reversed</value>
<value code="1">Normal</value>
</values>
</param>
<param humanName="RC dead-zone" name="RC5_DZ" documentation="dead zone around trim or bottom" user="Advanced">
<field name="Range">0 200</field>
<field name="Units">pwm</field>
</param>
<param humanName="Servo out function" name="RC5_FUNCTION" documentation="Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">RCPassThru</value>
<value code="2">Flap</value>
<value code="3">Flap_auto</value>
<value code="4">Aileron</value>
<value code="6">mount_pan</value>
<value code="7">mount_tilt</value>
<value code="8">mount_roll</value>
<value code="9">mount_open</value>
<value code="10">camera_trigger</value>
<value code="11">release</value>
<value code="12">mount2_pan</value>
<value code="13">mount2_tilt</value>
<value code="14">mount2_roll</value>
<value code="15">mount2_open</value>
<value code="16">DifferentialSpoiler1</value>
<value code="17">DifferentialSpoiler2</value>
<value code="18">AileronWithInput</value>
<value code="19">Elevator</value>
<value code="20">ElevatorWithInput</value>
<value code="21">Rudder</value>
<value code="24">Flaperon1</value>
<value code="25">Flaperon2</value>
<value code="26">GroundSteering</value>
<value code="27">Parachute</value>
<value code="28">EPM</value>
<value code="29">LandingGear</value>
<value code="30">EngineRunEnable</value>
<value code="31">HeliRSC</value>
<value code="32">HeliTailRSC</value>
<value code="33">Motor1</value>
<value code="34">Motor2</value>
<value code="35">Motor3</value>
<value code="36">Motor4</value>
<value code="37">Motor5</value>
<value code="38">Motor6</value>
<value code="39">Motor7</value>
<value code="40">Motor8</value>
<value code="51">RCIN1</value>
<value code="52">RCIN2</value>
<value code="53">RCIN3</value>
<value code="54">RCIN4</value>
<value code="55">RCIN5</value>
<value code="56">RCIN6</value>
<value code="57">RCIN7</value>
<value code="58">RCIN8</value>
<value code="59">RCIN9</value>
<value code="60">RCIN10</value>
<value code="61">RCIN11</value>
<value code="62">RCIN12</value>
<value code="63">RCIN13</value>
<value code="64">RCIN14</value>
<value code="65">RCIN15</value>
<value code="66">RCIN16</value>
</values>
</param>
</parameters>
<parameters name="RC6_">
<param humanName="RC min PWM" name="RC6_MIN" documentation="RC minimum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC trim PWM" name="RC6_TRIM" documentation="RC trim (neutral) PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC max PWM" name="RC6_MAX" documentation="RC maximum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC reverse" name="RC6_REV" documentation="Reverse servo operation. Set to 1 for normal (forward) operation. Set to -1 to reverse this channel." user="Advanced">
<values>
<value code="-1">Reversed</value>
<value code="1">Normal</value>
</values>
</param>
<param humanName="RC dead-zone" name="RC6_DZ" documentation="dead zone around trim or bottom" user="Advanced">
<field name="Range">0 200</field>
<field name="Units">pwm</field>
</param>
<param humanName="Servo out function" name="RC6_FUNCTION" documentation="Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">RCPassThru</value>
<value code="2">Flap</value>
<value code="3">Flap_auto</value>
<value code="4">Aileron</value>
<value code="6">mount_pan</value>
<value code="7">mount_tilt</value>
<value code="8">mount_roll</value>
<value code="9">mount_open</value>
<value code="10">camera_trigger</value>
<value code="11">release</value>
<value code="12">mount2_pan</value>
<value code="13">mount2_tilt</value>
<value code="14">mount2_roll</value>
<value code="15">mount2_open</value>
<value code="16">DifferentialSpoiler1</value>
<value code="17">DifferentialSpoiler2</value>
<value code="18">AileronWithInput</value>
<value code="19">Elevator</value>
<value code="20">ElevatorWithInput</value>
<value code="21">Rudder</value>
<value code="24">Flaperon1</value>
<value code="25">Flaperon2</value>
<value code="26">GroundSteering</value>
<value code="27">Parachute</value>
<value code="28">EPM</value>
<value code="29">LandingGear</value>
<value code="30">EngineRunEnable</value>
<value code="31">HeliRSC</value>
<value code="32">HeliTailRSC</value>
<value code="33">Motor1</value>
<value code="34">Motor2</value>
<value code="35">Motor3</value>
<value code="36">Motor4</value>
<value code="37">Motor5</value>
<value code="38">Motor6</value>
<value code="39">Motor7</value>
<value code="40">Motor8</value>
<value code="51">RCIN1</value>
<value code="52">RCIN2</value>
<value code="53">RCIN3</value>
<value code="54">RCIN4</value>
<value code="55">RCIN5</value>
<value code="56">RCIN6</value>
<value code="57">RCIN7</value>
<value code="58">RCIN8</value>
<value code="59">RCIN9</value>
<value code="60">RCIN10</value>
<value code="61">RCIN11</value>
<value code="62">RCIN12</value>
<value code="63">RCIN13</value>
<value code="64">RCIN14</value>
<value code="65">RCIN15</value>
<value code="66">RCIN16</value>
</values>
</param>
</parameters>
<parameters name="RC7_">
<param humanName="RC min PWM" name="RC7_MIN" documentation="RC minimum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC trim PWM" name="RC7_TRIM" documentation="RC trim (neutral) PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC max PWM" name="RC7_MAX" documentation="RC maximum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC reverse" name="RC7_REV" documentation="Reverse servo operation. Set to 1 for normal (forward) operation. Set to -1 to reverse this channel." user="Advanced">
<values>
<value code="-1">Reversed</value>
<value code="1">Normal</value>
</values>
</param>
<param humanName="RC dead-zone" name="RC7_DZ" documentation="dead zone around trim or bottom" user="Advanced">
<field name="Range">0 200</field>
<field name="Units">pwm</field>
</param>
<param humanName="Servo out function" name="RC7_FUNCTION" documentation="Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">RCPassThru</value>
<value code="2">Flap</value>
<value code="3">Flap_auto</value>
<value code="4">Aileron</value>
<value code="6">mount_pan</value>
<value code="7">mount_tilt</value>
<value code="8">mount_roll</value>
<value code="9">mount_open</value>
<value code="10">camera_trigger</value>
<value code="11">release</value>
<value code="12">mount2_pan</value>
<value code="13">mount2_tilt</value>
<value code="14">mount2_roll</value>
<value code="15">mount2_open</value>
<value code="16">DifferentialSpoiler1</value>
<value code="17">DifferentialSpoiler2</value>
<value code="18">AileronWithInput</value>
<value code="19">Elevator</value>
<value code="20">ElevatorWithInput</value>
<value code="21">Rudder</value>
<value code="24">Flaperon1</value>
<value code="25">Flaperon2</value>
<value code="26">GroundSteering</value>
<value code="27">Parachute</value>
<value code="28">EPM</value>
<value code="29">LandingGear</value>
<value code="30">EngineRunEnable</value>
<value code="31">HeliRSC</value>
<value code="32">HeliTailRSC</value>
<value code="33">Motor1</value>
<value code="34">Motor2</value>
<value code="35">Motor3</value>
<value code="36">Motor4</value>
<value code="37">Motor5</value>
<value code="38">Motor6</value>
<value code="39">Motor7</value>
<value code="40">Motor8</value>
<value code="51">RCIN1</value>
<value code="52">RCIN2</value>
<value code="53">RCIN3</value>
<value code="54">RCIN4</value>
<value code="55">RCIN5</value>
<value code="56">RCIN6</value>
<value code="57">RCIN7</value>
<value code="58">RCIN8</value>
<value code="59">RCIN9</value>
<value code="60">RCIN10</value>
<value code="61">RCIN11</value>
<value code="62">RCIN12</value>
<value code="63">RCIN13</value>
<value code="64">RCIN14</value>
<value code="65">RCIN15</value>
<value code="66">RCIN16</value>
</values>
</param>
</parameters>
<parameters name="RC8_">
<param humanName="RC min PWM" name="RC8_MIN" documentation="RC minimum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC trim PWM" name="RC8_TRIM" documentation="RC trim (neutral) PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC max PWM" name="RC8_MAX" documentation="RC maximum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC reverse" name="RC8_REV" documentation="Reverse servo operation. Set to 1 for normal (forward) operation. Set to -1 to reverse this channel." user="Advanced">
<values>
<value code="-1">Reversed</value>
<value code="1">Normal</value>
</values>
</param>
<param humanName="RC dead-zone" name="RC8_DZ" documentation="dead zone around trim or bottom" user="Advanced">
<field name="Range">0 200</field>
<field name="Units">pwm</field>
</param>
<param humanName="Servo out function" name="RC8_FUNCTION" documentation="Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">RCPassThru</value>
<value code="2">Flap</value>
<value code="3">Flap_auto</value>
<value code="4">Aileron</value>
<value code="6">mount_pan</value>
<value code="7">mount_tilt</value>
<value code="8">mount_roll</value>
<value code="9">mount_open</value>
<value code="10">camera_trigger</value>
<value code="11">release</value>
<value code="12">mount2_pan</value>
<value code="13">mount2_tilt</value>
<value code="14">mount2_roll</value>
<value code="15">mount2_open</value>
<value code="16">DifferentialSpoiler1</value>
<value code="17">DifferentialSpoiler2</value>
<value code="18">AileronWithInput</value>
<value code="19">Elevator</value>
<value code="20">ElevatorWithInput</value>
<value code="21">Rudder</value>
<value code="24">Flaperon1</value>
<value code="25">Flaperon2</value>
<value code="26">GroundSteering</value>
<value code="27">Parachute</value>
<value code="28">EPM</value>
<value code="29">LandingGear</value>
<value code="30">EngineRunEnable</value>
<value code="31">HeliRSC</value>
<value code="32">HeliTailRSC</value>
<value code="33">Motor1</value>
<value code="34">Motor2</value>
<value code="35">Motor3</value>
<value code="36">Motor4</value>
<value code="37">Motor5</value>
<value code="38">Motor6</value>
<value code="39">Motor7</value>
<value code="40">Motor8</value>
<value code="51">RCIN1</value>
<value code="52">RCIN2</value>
<value code="53">RCIN3</value>
<value code="54">RCIN4</value>
<value code="55">RCIN5</value>
<value code="56">RCIN6</value>
<value code="57">RCIN7</value>
<value code="58">RCIN8</value>
<value code="59">RCIN9</value>
<value code="60">RCIN10</value>
<value code="61">RCIN11</value>
<value code="62">RCIN12</value>
<value code="63">RCIN13</value>
<value code="64">RCIN14</value>
<value code="65">RCIN15</value>
<value code="66">RCIN16</value>
</values>
</param>
</parameters>
<parameters name="RC9_">
<param humanName="RC min PWM" name="RC9_MIN" documentation="RC minimum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC trim PWM" name="RC9_TRIM" documentation="RC trim (neutral) PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC max PWM" name="RC9_MAX" documentation="RC maximum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC reverse" name="RC9_REV" documentation="Reverse servo operation. Set to 1 for normal (forward) operation. Set to -1 to reverse this channel." user="Advanced">
<values>
<value code="-1">Reversed</value>
<value code="1">Normal</value>
</values>
</param>
<param humanName="RC dead-zone" name="RC9_DZ" documentation="dead zone around trim or bottom" user="Advanced">
<field name="Range">0 200</field>
<field name="Units">pwm</field>
</param>
<param humanName="Servo out function" name="RC9_FUNCTION" documentation="Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">RCPassThru</value>
<value code="2">Flap</value>
<value code="3">Flap_auto</value>
<value code="4">Aileron</value>
<value code="6">mount_pan</value>
<value code="7">mount_tilt</value>
<value code="8">mount_roll</value>
<value code="9">mount_open</value>
<value code="10">camera_trigger</value>
<value code="11">release</value>
<value code="12">mount2_pan</value>
<value code="13">mount2_tilt</value>
<value code="14">mount2_roll</value>
<value code="15">mount2_open</value>
<value code="16">DifferentialSpoiler1</value>
<value code="17">DifferentialSpoiler2</value>
<value code="18">AileronWithInput</value>
<value code="19">Elevator</value>
<value code="20">ElevatorWithInput</value>
<value code="21">Rudder</value>
<value code="24">Flaperon1</value>
<value code="25">Flaperon2</value>
<value code="26">GroundSteering</value>
<value code="27">Parachute</value>
<value code="28">EPM</value>
<value code="29">LandingGear</value>
<value code="30">EngineRunEnable</value>
<value code="31">HeliRSC</value>
<value code="32">HeliTailRSC</value>
<value code="33">Motor1</value>
<value code="34">Motor2</value>
<value code="35">Motor3</value>
<value code="36">Motor4</value>
<value code="37">Motor5</value>
<value code="38">Motor6</value>
<value code="39">Motor7</value>
<value code="40">Motor8</value>
<value code="51">RCIN1</value>
<value code="52">RCIN2</value>
<value code="53">RCIN3</value>
<value code="54">RCIN4</value>
<value code="55">RCIN5</value>
<value code="56">RCIN6</value>
<value code="57">RCIN7</value>
<value code="58">RCIN8</value>
<value code="59">RCIN9</value>
<value code="60">RCIN10</value>
<value code="61">RCIN11</value>
<value code="62">RCIN12</value>
<value code="63">RCIN13</value>
<value code="64">RCIN14</value>
<value code="65">RCIN15</value>
<value code="66">RCIN16</value>
</values>
</param>
</parameters>
<parameters name="RC10_">
<param humanName="RC min PWM" name="RC10_MIN" documentation="RC minimum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC trim PWM" name="RC10_TRIM" documentation="RC trim (neutral) PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC max PWM" name="RC10_MAX" documentation="RC maximum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC reverse" name="RC10_REV" documentation="Reverse servo operation. Set to 1 for normal (forward) operation. Set to -1 to reverse this channel." user="Advanced">
<values>
<value code="-1">Reversed</value>
<value code="1">Normal</value>
</values>
</param>
<param humanName="RC dead-zone" name="RC10_DZ" documentation="dead zone around trim or bottom" user="Advanced">
<field name="Range">0 200</field>
<field name="Units">pwm</field>
</param>
<param humanName="Servo out function" name="RC10_FUNCTION" documentation="Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">RCPassThru</value>
<value code="2">Flap</value>
<value code="3">Flap_auto</value>
<value code="4">Aileron</value>
<value code="6">mount_pan</value>
<value code="7">mount_tilt</value>
<value code="8">mount_roll</value>
<value code="9">mount_open</value>
<value code="10">camera_trigger</value>
<value code="11">release</value>
<value code="12">mount2_pan</value>
<value code="13">mount2_tilt</value>
<value code="14">mount2_roll</value>
<value code="15">mount2_open</value>
<value code="16">DifferentialSpoiler1</value>
<value code="17">DifferentialSpoiler2</value>
<value code="18">AileronWithInput</value>
<value code="19">Elevator</value>
<value code="20">ElevatorWithInput</value>
<value code="21">Rudder</value>
<value code="24">Flaperon1</value>
<value code="25">Flaperon2</value>
<value code="26">GroundSteering</value>
<value code="27">Parachute</value>
<value code="28">EPM</value>
<value code="29">LandingGear</value>
<value code="30">EngineRunEnable</value>
<value code="31">HeliRSC</value>
<value code="32">HeliTailRSC</value>
<value code="33">Motor1</value>
<value code="34">Motor2</value>
<value code="35">Motor3</value>
<value code="36">Motor4</value>
<value code="37">Motor5</value>
<value code="38">Motor6</value>
<value code="39">Motor7</value>
<value code="40">Motor8</value>
<value code="51">RCIN1</value>
<value code="52">RCIN2</value>
<value code="53">RCIN3</value>
<value code="54">RCIN4</value>
<value code="55">RCIN5</value>
<value code="56">RCIN6</value>
<value code="57">RCIN7</value>
<value code="58">RCIN8</value>
<value code="59">RCIN9</value>
<value code="60">RCIN10</value>
<value code="61">RCIN11</value>
<value code="62">RCIN12</value>
<value code="63">RCIN13</value>
<value code="64">RCIN14</value>
<value code="65">RCIN15</value>
<value code="66">RCIN16</value>
</values>
</param>
</parameters>
<parameters name="RC11_">
<param humanName="RC min PWM" name="RC11_MIN" documentation="RC minimum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC trim PWM" name="RC11_TRIM" documentation="RC trim (neutral) PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC max PWM" name="RC11_MAX" documentation="RC maximum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC reverse" name="RC11_REV" documentation="Reverse servo operation. Set to 1 for normal (forward) operation. Set to -1 to reverse this channel." user="Advanced">
<values>
<value code="-1">Reversed</value>
<value code="1">Normal</value>
</values>
</param>
<param humanName="RC dead-zone" name="RC11_DZ" documentation="dead zone around trim or bottom" user="Advanced">
<field name="Range">0 200</field>
<field name="Units">pwm</field>
</param>
<param humanName="Servo out function" name="RC11_FUNCTION" documentation="Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">RCPassThru</value>
<value code="2">Flap</value>
<value code="3">Flap_auto</value>
<value code="4">Aileron</value>
<value code="6">mount_pan</value>
<value code="7">mount_tilt</value>
<value code="8">mount_roll</value>
<value code="9">mount_open</value>
<value code="10">camera_trigger</value>
<value code="11">release</value>
<value code="12">mount2_pan</value>
<value code="13">mount2_tilt</value>
<value code="14">mount2_roll</value>
<value code="15">mount2_open</value>
<value code="16">DifferentialSpoiler1</value>
<value code="17">DifferentialSpoiler2</value>
<value code="18">AileronWithInput</value>
<value code="19">Elevator</value>
<value code="20">ElevatorWithInput</value>
<value code="21">Rudder</value>
<value code="24">Flaperon1</value>
<value code="25">Flaperon2</value>
<value code="26">GroundSteering</value>
<value code="27">Parachute</value>
<value code="28">EPM</value>
<value code="29">LandingGear</value>
<value code="30">EngineRunEnable</value>
<value code="31">HeliRSC</value>
<value code="32">HeliTailRSC</value>
<value code="33">Motor1</value>
<value code="34">Motor2</value>
<value code="35">Motor3</value>
<value code="36">Motor4</value>
<value code="37">Motor5</value>
<value code="38">Motor6</value>
<value code="39">Motor7</value>
<value code="40">Motor8</value>
<value code="51">RCIN1</value>
<value code="52">RCIN2</value>
<value code="53">RCIN3</value>
<value code="54">RCIN4</value>
<value code="55">RCIN5</value>
<value code="56">RCIN6</value>
<value code="57">RCIN7</value>
<value code="58">RCIN8</value>
<value code="59">RCIN9</value>
<value code="60">RCIN10</value>
<value code="61">RCIN11</value>
<value code="62">RCIN12</value>
<value code="63">RCIN13</value>
<value code="64">RCIN14</value>
<value code="65">RCIN15</value>
<value code="66">RCIN16</value>
</values>
</param>
</parameters>
<parameters name="RC12_">
<param humanName="RC min PWM" name="RC12_MIN" documentation="RC minimum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC trim PWM" name="RC12_TRIM" documentation="RC trim (neutral) PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC max PWM" name="RC12_MAX" documentation="RC maximum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC reverse" name="RC12_REV" documentation="Reverse servo operation. Set to 1 for normal (forward) operation. Set to -1 to reverse this channel." user="Advanced">
<values>
<value code="-1">Reversed</value>
<value code="1">Normal</value>
</values>
</param>
<param humanName="RC dead-zone" name="RC12_DZ" documentation="dead zone around trim or bottom" user="Advanced">
<field name="Range">0 200</field>
<field name="Units">pwm</field>
</param>
<param humanName="Servo out function" name="RC12_FUNCTION" documentation="Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">RCPassThru</value>
<value code="2">Flap</value>
<value code="3">Flap_auto</value>
<value code="4">Aileron</value>
<value code="6">mount_pan</value>
<value code="7">mount_tilt</value>
<value code="8">mount_roll</value>
<value code="9">mount_open</value>
<value code="10">camera_trigger</value>
<value code="11">release</value>
<value code="12">mount2_pan</value>
<value code="13">mount2_tilt</value>
<value code="14">mount2_roll</value>
<value code="15">mount2_open</value>
<value code="16">DifferentialSpoiler1</value>
<value code="17">DifferentialSpoiler2</value>
<value code="18">AileronWithInput</value>
<value code="19">Elevator</value>
<value code="20">ElevatorWithInput</value>
<value code="21">Rudder</value>
<value code="24">Flaperon1</value>
<value code="25">Flaperon2</value>
<value code="26">GroundSteering</value>
<value code="27">Parachute</value>
<value code="28">EPM</value>
<value code="29">LandingGear</value>
<value code="30">EngineRunEnable</value>
<value code="31">HeliRSC</value>
<value code="32">HeliTailRSC</value>
<value code="33">Motor1</value>
<value code="34">Motor2</value>
<value code="35">Motor3</value>
<value code="36">Motor4</value>
<value code="37">Motor5</value>
<value code="38">Motor6</value>
<value code="39">Motor7</value>
<value code="40">Motor8</value>
<value code="51">RCIN1</value>
<value code="52">RCIN2</value>
<value code="53">RCIN3</value>
<value code="54">RCIN4</value>
<value code="55">RCIN5</value>
<value code="56">RCIN6</value>
<value code="57">RCIN7</value>
<value code="58">RCIN8</value>
<value code="59">RCIN9</value>
<value code="60">RCIN10</value>
<value code="61">RCIN11</value>
<value code="62">RCIN12</value>
<value code="63">RCIN13</value>
<value code="64">RCIN14</value>
<value code="65">RCIN15</value>
<value code="66">RCIN16</value>
</values>
</param>
</parameters>
<parameters name="RC13_">
<param humanName="RC min PWM" name="RC13_MIN" documentation="RC minimum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC trim PWM" name="RC13_TRIM" documentation="RC trim (neutral) PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC max PWM" name="RC13_MAX" documentation="RC maximum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC reverse" name="RC13_REV" documentation="Reverse servo operation. Set to 1 for normal (forward) operation. Set to -1 to reverse this channel." user="Advanced">
<values>
<value code="-1">Reversed</value>
<value code="1">Normal</value>
</values>
</param>
<param humanName="RC dead-zone" name="RC13_DZ" documentation="dead zone around trim or bottom" user="Advanced">
<field name="Range">0 200</field>
<field name="Units">pwm</field>
</param>
<param humanName="Servo out function" name="RC13_FUNCTION" documentation="Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">RCPassThru</value>
<value code="2">Flap</value>
<value code="3">Flap_auto</value>
<value code="4">Aileron</value>
<value code="6">mount_pan</value>
<value code="7">mount_tilt</value>
<value code="8">mount_roll</value>
<value code="9">mount_open</value>
<value code="10">camera_trigger</value>
<value code="11">release</value>
<value code="12">mount2_pan</value>
<value code="13">mount2_tilt</value>
<value code="14">mount2_roll</value>
<value code="15">mount2_open</value>
<value code="16">DifferentialSpoiler1</value>
<value code="17">DifferentialSpoiler2</value>
<value code="18">AileronWithInput</value>
<value code="19">Elevator</value>
<value code="20">ElevatorWithInput</value>
<value code="21">Rudder</value>
<value code="24">Flaperon1</value>
<value code="25">Flaperon2</value>
<value code="26">GroundSteering</value>
<value code="27">Parachute</value>
<value code="28">EPM</value>
<value code="29">LandingGear</value>
<value code="30">EngineRunEnable</value>
<value code="31">HeliRSC</value>
<value code="32">HeliTailRSC</value>
<value code="33">Motor1</value>
<value code="34">Motor2</value>
<value code="35">Motor3</value>
<value code="36">Motor4</value>
<value code="37">Motor5</value>
<value code="38">Motor6</value>
<value code="39">Motor7</value>
<value code="40">Motor8</value>
<value code="51">RCIN1</value>
<value code="52">RCIN2</value>
<value code="53">RCIN3</value>
<value code="54">RCIN4</value>
<value code="55">RCIN5</value>
<value code="56">RCIN6</value>
<value code="57">RCIN7</value>
<value code="58">RCIN8</value>
<value code="59">RCIN9</value>
<value code="60">RCIN10</value>
<value code="61">RCIN11</value>
<value code="62">RCIN12</value>
<value code="63">RCIN13</value>
<value code="64">RCIN14</value>
<value code="65">RCIN15</value>
<value code="66">RCIN16</value>
</values>
</param>
</parameters>
<parameters name="RC14_">
<param humanName="RC min PWM" name="RC14_MIN" documentation="RC minimum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC trim PWM" name="RC14_TRIM" documentation="RC trim (neutral) PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC max PWM" name="RC14_MAX" documentation="RC maximum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC reverse" name="RC14_REV" documentation="Reverse servo operation. Set to 1 for normal (forward) operation. Set to -1 to reverse this channel." user="Advanced">
<values>
<value code="-1">Reversed</value>
<value code="1">Normal</value>
</values>
</param>
<param humanName="RC dead-zone" name="RC14_DZ" documentation="dead zone around trim or bottom" user="Advanced">
<field name="Range">0 200</field>
<field name="Units">pwm</field>
</param>
<param humanName="Servo out function" name="RC14_FUNCTION" documentation="Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">RCPassThru</value>
<value code="2">Flap</value>
<value code="3">Flap_auto</value>
<value code="4">Aileron</value>
<value code="6">mount_pan</value>
<value code="7">mount_tilt</value>
<value code="8">mount_roll</value>
<value code="9">mount_open</value>
<value code="10">camera_trigger</value>
<value code="11">release</value>
<value code="12">mount2_pan</value>
<value code="13">mount2_tilt</value>
<value code="14">mount2_roll</value>
<value code="15">mount2_open</value>
<value code="16">DifferentialSpoiler1</value>
<value code="17">DifferentialSpoiler2</value>
<value code="18">AileronWithInput</value>
<value code="19">Elevator</value>
<value code="20">ElevatorWithInput</value>
<value code="21">Rudder</value>
<value code="24">Flaperon1</value>
<value code="25">Flaperon2</value>
<value code="26">GroundSteering</value>
<value code="27">Parachute</value>
<value code="28">EPM</value>
<value code="29">LandingGear</value>
<value code="30">EngineRunEnable</value>
<value code="31">HeliRSC</value>
<value code="32">HeliTailRSC</value>
<value code="33">Motor1</value>
<value code="34">Motor2</value>
<value code="35">Motor3</value>
<value code="36">Motor4</value>
<value code="37">Motor5</value>
<value code="38">Motor6</value>
<value code="39">Motor7</value>
<value code="40">Motor8</value>
<value code="51">RCIN1</value>
<value code="52">RCIN2</value>
<value code="53">RCIN3</value>
<value code="54">RCIN4</value>
<value code="55">RCIN5</value>
<value code="56">RCIN6</value>
<value code="57">RCIN7</value>
<value code="58">RCIN8</value>
<value code="59">RCIN9</value>
<value code="60">RCIN10</value>
<value code="61">RCIN11</value>
<value code="62">RCIN12</value>
<value code="63">RCIN13</value>
<value code="64">RCIN14</value>
<value code="65">RCIN15</value>
<value code="66">RCIN16</value>
</values>
</param>
</parameters>
<parameters name="RC15_">
<param humanName="RC min PWM" name="RC15_MIN" documentation="RC minimum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC trim PWM" name="RC15_TRIM" documentation="RC trim (neutral) PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC max PWM" name="RC15_MAX" documentation="RC maximum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC reverse" name="RC15_REV" documentation="Reverse servo operation. Set to 1 for normal (forward) operation. Set to -1 to reverse this channel." user="Advanced">
<values>
<value code="-1">Reversed</value>
<value code="1">Normal</value>
</values>
</param>
<param humanName="RC dead-zone" name="RC15_DZ" documentation="dead zone around trim or bottom" user="Advanced">
<field name="Range">0 200</field>
<field name="Units">pwm</field>
</param>
<param humanName="Servo out function" name="RC15_FUNCTION" documentation="Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">RCPassThru</value>
<value code="2">Flap</value>
<value code="3">Flap_auto</value>
<value code="4">Aileron</value>
<value code="6">mount_pan</value>
<value code="7">mount_tilt</value>
<value code="8">mount_roll</value>
<value code="9">mount_open</value>
<value code="10">camera_trigger</value>
<value code="11">release</value>
<value code="12">mount2_pan</value>
<value code="13">mount2_tilt</value>
<value code="14">mount2_roll</value>
<value code="15">mount2_open</value>
<value code="16">DifferentialSpoiler1</value>
<value code="17">DifferentialSpoiler2</value>
<value code="18">AileronWithInput</value>
<value code="19">Elevator</value>
<value code="20">ElevatorWithInput</value>
<value code="21">Rudder</value>
<value code="24">Flaperon1</value>
<value code="25">Flaperon2</value>
<value code="26">GroundSteering</value>
<value code="27">Parachute</value>
<value code="28">EPM</value>
<value code="29">LandingGear</value>
<value code="30">EngineRunEnable</value>
<value code="31">HeliRSC</value>
<value code="32">HeliTailRSC</value>
<value code="33">Motor1</value>
<value code="34">Motor2</value>
<value code="35">Motor3</value>
<value code="36">Motor4</value>
<value code="37">Motor5</value>
<value code="38">Motor6</value>
<value code="39">Motor7</value>
<value code="40">Motor8</value>
<value code="51">RCIN1</value>
<value code="52">RCIN2</value>
<value code="53">RCIN3</value>
<value code="54">RCIN4</value>
<value code="55">RCIN5</value>
<value code="56">RCIN6</value>
<value code="57">RCIN7</value>
<value code="58">RCIN8</value>
<value code="59">RCIN9</value>
<value code="60">RCIN10</value>
<value code="61">RCIN11</value>
<value code="62">RCIN12</value>
<value code="63">RCIN13</value>
<value code="64">RCIN14</value>
<value code="65">RCIN15</value>
<value code="66">RCIN16</value>
</values>
</param>
</parameters>
<parameters name="RC16_">
<param humanName="RC min PWM" name="RC16_MIN" documentation="RC minimum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC trim PWM" name="RC16_TRIM" documentation="RC trim (neutral) PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC max PWM" name="RC16_MAX" documentation="RC maximum PWM pulse width. Typically 1000 is lower limit, 1500 is neutral and 2000 is upper limit." user="Advanced">
<field name="Range">800 2200</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="RC reverse" name="RC16_REV" documentation="Reverse servo operation. Set to 1 for normal (forward) operation. Set to -1 to reverse this channel." user="Advanced">
<values>
<value code="-1">Reversed</value>
<value code="1">Normal</value>
</values>
</param>
<param humanName="RC dead-zone" name="RC16_DZ" documentation="dead zone around trim or bottom" user="Advanced">
<field name="Range">0 200</field>
<field name="Units">pwm</field>
</param>
<param humanName="Servo out function" name="RC16_FUNCTION" documentation="Setting this to Disabled(0) will setup this output for control by auto missions or MAVLink servo set commands. any other value will enable the corresponding function" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">RCPassThru</value>
<value code="2">Flap</value>
<value code="3">Flap_auto</value>
<value code="4">Aileron</value>
<value code="6">mount_pan</value>
<value code="7">mount_tilt</value>
<value code="8">mount_roll</value>
<value code="9">mount_open</value>
<value code="10">camera_trigger</value>
<value code="11">release</value>
<value code="12">mount2_pan</value>
<value code="13">mount2_tilt</value>
<value code="14">mount2_roll</value>
<value code="15">mount2_open</value>
<value code="16">DifferentialSpoiler1</value>
<value code="17">DifferentialSpoiler2</value>
<value code="18">AileronWithInput</value>
<value code="19">Elevator</value>
<value code="20">ElevatorWithInput</value>
<value code="21">Rudder</value>
<value code="24">Flaperon1</value>
<value code="25">Flaperon2</value>
<value code="26">GroundSteering</value>
<value code="27">Parachute</value>
<value code="28">EPM</value>
<value code="29">LandingGear</value>
<value code="30">EngineRunEnable</value>
<value code="31">HeliRSC</value>
<value code="32">HeliTailRSC</value>
<value code="33">Motor1</value>
<value code="34">Motor2</value>
<value code="35">Motor3</value>
<value code="36">Motor4</value>
<value code="37">Motor5</value>
<value code="38">Motor6</value>
<value code="39">Motor7</value>
<value code="40">Motor8</value>
<value code="51">RCIN1</value>
<value code="52">RCIN2</value>
<value code="53">RCIN3</value>
<value code="54">RCIN4</value>
<value code="55">RCIN5</value>
<value code="56">RCIN6</value>
<value code="57">RCIN7</value>
<value code="58">RCIN8</value>
<value code="59">RCIN9</value>
<value code="60">RCIN10</value>
<value code="61">RCIN11</value>
<value code="62">RCIN12</value>
<value code="63">RCIN13</value>
<value code="64">RCIN14</value>
<value code="65">RCIN15</value>
<value code="66">RCIN16</value>
</values>
</param>
</parameters>
<parameters name="RLL2SRV_">
<param humanName="Roll Time Constant" name="RLL2SRV_TCONST" documentation="This controls the time constant in seconds from demanded to achieved bank angle. A value of 0.5 is a good default and will work with nearly all models. Advanced users may want to reduce this time to obtain a faster response but there is no point setting a time less than the aircraft can achieve." user="Advanced">
<field name="Range">0.4 1.0</field>
<field name="Increment">0.1</field>
<field name="Units">seconds</field>
</param>
<param humanName="Proportional Gain" name="RLL2SRV_P" documentation="This is the gain from bank angle error to aileron." user="User">
<field name="Range">0.1 4.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Damping Gain" name="RLL2SRV_D" documentation="This is the gain from roll rate to aileron. This adjusts the damping of the roll control loop. It has the same effect as RLL2SRV_D in the old PID controller but without the spikes in servo demands. This gain helps to reduce rolling in turbulence. It should be increased in 0.01 increments as too high a value can lead to a high frequency roll oscillation that could overstress the airframe." user="User">
<field name="Range">0 0.1</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Integrator Gain" name="RLL2SRV_I" documentation="This is the gain from the integral of bank angle to aileron. It has the same effect as RLL2SRV_I in the old PID controller. Increasing this gain causes the controller to trim out steady offsets due to an out of trim aircraft." user="User">
<field name="Range">0 1.0</field>
<field name="Increment">0.05</field>
</param>
<param humanName="Maximum Roll Rate" name="RLL2SRV_RMAX" documentation="This sets the maximum roll rate that the controller will demand (degrees/sec). Setting it to zero disables the limit. If this value is set too low, then the roll can't keep up with the navigation demands and the plane will start weaving. If it is set too high (or disabled by setting to zero) then ailerons will get large inputs at the start of turns. A limit of 60 degrees/sec is a good default." user="Advanced">
<field name="Range">0 180</field>
<field name="Increment">1</field>
<field name="Units">degrees/second</field>
</param>
<param humanName="Integrator limit" name="RLL2SRV_IMAX" documentation="This limits the number of degrees of aileron in centi-degrees over which the integrator will operate. At the default setting of 3000 centi-degrees, the integrator will be limited to +- 30 degrees of servo travel. The maximum servo deflection is +- 45 centi-degrees, so the default value represents a 2/3rd of the total control throw which is adequate unless the aircraft is severely out of trim." user="Advanced">
<field name="Range">0 4500</field>
<field name="Increment">1</field>
</param>
<param humanName="Feed forward Gain" name="RLL2SRV_FF" documentation="This is the gain from demanded rate to aileron output. " user="User">
<field name="Range">0.1 4.0</field>
<field name="Increment">0.1</field>
</param>
</parameters>
<parameters name="PTCH2SRV_">
<param humanName="Pitch Time Constant" name="PTCH2SRV_TCONST" documentation="This controls the time constant in seconds from demanded to achieved pitch angle. A value of 0.5 is a good default and will work with nearly all models. Advanced users may want to reduce this time to obtain a faster response but there is no point setting a time less than the aircraft can achieve." user="Advanced">
<field name="Range">0.4 1.0</field>
<field name="Increment">0.1</field>
<field name="Units">seconds</field>
</param>
<param humanName="Proportional Gain" name="PTCH2SRV_P" documentation="This is the gain from pitch angle to elevator. This gain works the same way as PTCH2SRV_P in the old PID controller and can be set to the same value." user="User">
<field name="Range">0.1 3.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Damping Gain" name="PTCH2SRV_D" documentation="This is the gain from pitch rate to elevator. This adjusts the damping of the pitch control loop. It has the same effect as PTCH2SRV_D in the old PID controller and can be set to the same value, but without the spikes in servo demands. This gain helps to reduce pitching in turbulence. Some airframes such as flying wings that have poor pitch damping can benefit from increasing this gain term. This should be increased in 0.01 increments as too high a value can lead to a high frequency pitch oscillation that could overstress the airframe." user="User">
<field name="Range">0 0.1</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Integrator Gain" name="PTCH2SRV_I" documentation="This is the gain applied to the integral of pitch angle. It has the same effect as PTCH2SRV_I in the old PID controller and can be set to the same value. Increasing this gain causes the controller to trim out constant offsets between demanded and measured pitch angle." user="User">
<field name="Range">0 0.5</field>
<field name="Increment">0.05</field>
</param>
<param humanName="Pitch up max rate" name="PTCH2SRV_RMAX_UP" documentation="This sets the maximum nose up pitch rate that the controller will demand (degrees/sec). Setting it to zero disables the limit." user="Advanced">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">degrees/second</field>
</param>
<param humanName="Pitch down max rate" name="PTCH2SRV_RMAX_DN" documentation="This sets the maximum nose down pitch rate that the controller will demand (degrees/sec). Setting it to zero disables the limit." user="Advanced">
<field name="Range">0 100</field>
<field name="Increment">1</field>
<field name="Units">degrees/second</field>
</param>
<param humanName="Roll compensation" name="PTCH2SRV_RLL" documentation="This is the gain term that is applied to the pitch rate offset calculated as required to keep the nose level during turns. The default value is 1 which will work for all models. Advanced users can use it to correct for height variation in turns. If height is lost initially in turns this can be increased in small increments of 0.05 to compensate. If height is gained initially in turns then it can be decreased." user="User">
<field name="Range">0.7 1.5</field>
<field name="Increment">0.05</field>
</param>
<param humanName="Integrator limit" name="PTCH2SRV_IMAX" documentation="This limits the number of centi-degrees of elevator over which the integrator will operate. At the default setting of 3000 centi-degrees, the integrator will be limited to +- 30 degrees of servo travel. The maximum servo deflection is +- 45 degrees, so the default value represents a 2/3rd of the total control throw which is adequate for most aircraft unless they are severely out of trim or have very limited elevator control effectiveness." user="Advanced">
<field name="Range">0 4500</field>
<field name="Increment">1</field>
</param>
<param humanName="Feed forward Gain" name="PTCH2SRV_FF" documentation="This is the gain from demanded rate to elevator output. " user="User">
<field name="Range">0.1 4.0</field>
<field name="Increment">0.1</field>
</param>
</parameters>
<parameters name="YAW2SRV_">
<param humanName="Sideslip control gain" name="YAW2SRV_SLIP" documentation="This is the gain from measured lateral acceleration to demanded yaw rate. It should be set to zero unless active control of sideslip is desired. This will only work effectively if there is enough fuselage side area to generate a measureable lateral acceleration when the model sideslips. Flying wings and most gliders cannot use this term. This term should only be adjusted after the basic yaw damper gain YAW2SRV_DAMP is tuned and the YAW2SRV_INT integrator gain has been set. Set this gain to zero if only yaw damping is required.">
<field name="Range">0 4</field>
<field name="Increment">0.25</field>
</param>
<param humanName="Sideslip control integrator" name="YAW2SRV_INT" documentation="This is the integral gain from lateral acceleration error. This gain should only be non-zero if active control over sideslip is desired. If active control over sideslip is required then this can be set to 1.0 as a first try.">
<field name="Range">0 2</field>
<field name="Increment">0.25</field>
</param>
<param humanName="Yaw damping" name="YAW2SRV_DAMP" documentation="This is the gain from yaw rate to rudder. It acts as a damper on yaw motion. If a basic yaw damper is required, this gain term can be incremented, whilst leaving the YAW2SRV_SLIP and YAW2SRV_INT gains at zero. Note that unlike with a standard PID controller, if this damping term is zero then the integrator will also be disabled.">
<field name="Range">0 2</field>
<field name="Increment">0.25</field>
</param>
<param humanName="Yaw coordination gain" name="YAW2SRV_RLL" documentation="This is the gain term that is applied to the yaw rate offset calculated as required to keep the yaw rate consistent with the turn rate for a coordinated turn. The default value is 1 which will work for all models. Advanced users can use it to correct for any tendency to yaw away from or into the turn once the turn is established. Increase to make the model yaw more initially and decrease to make the model yaw less initially. If values greater than 1.1 or less than 0.9 are required then it normally indicates a problem with the airspeed calibration.">
<field name="Range">0.8 1.2</field>
<field name="Increment">0.05</field>
</param>
<param humanName="Integrator limit" name="YAW2SRV_IMAX" documentation="This limits the number of centi-degrees of rudder over which the integrator will operate. At the default setting of 1500 centi-degrees, the integrator will be limited to +- 15 degrees of servo travel. The maximum servo deflection is +- 45 degrees, so the default value represents a 1/3rd of the total control throw which is adequate for most aircraft unless they are severely out of trim or have very limited rudder control effectiveness." user="Advanced">
<field name="Range">0 4500</field>
<field name="Increment">1</field>
</param>
</parameters>
<parameters name="STEER2SRV_">
<param humanName="Steering Time Constant" name="STEER2SRV_TCONST" documentation="This controls the time constant in seconds from demanded to achieved steering angle. A value of 0.75 is a good default and will work with nearly all rovers. Ground steering in aircraft needs a bit smaller time constant, and a value of 0.5 is recommended for best ground handling in fixed wing aircraft. A value of 0.75 means that the controller will try to correct any deviation between the desired and actual steering angle in 0.75 seconds. Advanced users may want to reduce this time to obtain a faster response but there is no point setting a time less than the vehicle can achieve." user="Advanced">
<field name="Range">0.4 1.0</field>
<field name="Increment">0.1</field>
<field name="Units">seconds</field>
</param>
<param humanName="Steering turning gain" name="STEER2SRV_P" documentation="The proportional gain for steering. This should be approximately equal to the diameter of the turning circle of the vehicle at low speed and maximum steering angle" user="User">
<field name="Range">0.1 10.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Integrator Gain" name="STEER2SRV_I" documentation="This is the gain from the integral of steering angle. Increasing this gain causes the controller to trim out steady offsets due to an out of trim vehicle." user="User">
<field name="Range">0 1.0</field>
<field name="Increment">0.05</field>
</param>
<param humanName="Damping Gain" name="STEER2SRV_D" documentation="This adjusts the damping of the steering control loop. This gain helps to reduce steering jitter with vibration. It should be increased in 0.01 increments as too high a value can lead to a high frequency steering oscillation that could overstress the vehicle." user="User">
<field name="Range">0 0.1</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Integrator limit" name="STEER2SRV_IMAX" documentation="This limits the number of degrees of steering in centi-degrees over which the integrator will operate. At the default setting of 1500 centi-degrees, the integrator will be limited to +- 15 degrees of servo travel. The maximum servo deflection is +- 45 centi-degrees, so the default value represents a 1/3rd of the total control throw which is adequate unless the vehicle is severely out of trim." user="Advanced">
<field name="Range">0 4500</field>
<field name="Increment">1</field>
</param>
<param humanName="Minimum speed" name="STEER2SRV_MINSPD" documentation="This is the minimum assumed ground speed in meters/second for steering. Having a minimum speed prevents oscillations when the vehicle first starts moving. The vehicle can still drive slower than this limit, but the steering calculations will be done based on this minimum speed." user="User">
<field name="Range">0 5</field>
<field name="Increment">0.1</field>
<field name="Units">m/s</field>
</param>
<param humanName="Steering feed forward" name="STEER2SRV_FF" documentation="The feed forward gain for steering this is the ratio of the achieved turn rate to applied steering. A value of 1 means that the vehicle would yaw at a rate of 45 degrees per second with full steering deflection at 1m/s ground speed." user="User">
<field name="Range">0.0 10.0</field>
<field name="Increment">0.1</field>
</param>
</parameters>
<parameters name="COMPASS_">
<param humanName="Compass offsets in milligauss on the X axis" name="COMPASS_OFS_X" documentation="Offset to be added to the compass x-axis values to compensate for metal in the frame">
<field name="Range">-400 400</field>
<field name="Increment">1</field>
<field name="Units">milligauss</field>
</param>
<param humanName="Compass offsets in milligauss on the Y axis" name="COMPASS_OFS_Y" documentation="Offset to be added to the compass y-axis values to compensate for metal in the frame">
<field name="Range">-400 400</field>
<field name="Increment">1</field>
<field name="Units">milligauss</field>
</param>
<param humanName="Compass offsets in milligauss on the Z axis" name="COMPASS_OFS_Z" documentation="Offset to be added to the compass z-axis values to compensate for metal in the frame">
<field name="Range">-400 400</field>
<field name="Increment">1</field>
<field name="Units">milligauss</field>
</param>
<param humanName="Compass declination" name="COMPASS_DEC" documentation="An angle to compensate between the true north and magnetic north" user="Standard">
<field name="Range">-3.142 3.142</field>
<field name="Increment">0.01</field>
<field name="Units">Radians</field>
</param>
<param humanName="Learn compass offsets automatically" name="COMPASS_LEARN" documentation="Enable or disable the automatic learning of compass offsets. You can enable learning either using a compass-only method that is suitable only for fixed wing aircraft or using the offsets learnt by the active EKF state estimator. If this option is enabled then the learnt offsets are saved when you disarm the vehicle." user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Internal-Learning</value>
<value code="2">EKF-Learning</value>
</values>
</param>
<param humanName="Use compass for yaw" name="COMPASS_USE" documentation="Enable or disable the use of the compass (instead of the GPS) for determining heading" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Auto Declination" name="COMPASS_AUTODEC" documentation="Enable or disable the automatic calculation of the declination based on gps location" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Motor interference compensation type" name="COMPASS_MOTCT" documentation="Set motor interference compensation type to disabled, throttle or current.  Do not change manually." user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Use Throttle</value>
<value code="2">Use Current</value>
</values>
</param>
<param humanName="Motor interference compensation for body frame X axis" name="COMPASS_MOT_X" documentation="Multiplied by the current throttle and added to the compass's x-axis values to compensate for motor interference">
<field name="Range">-1000 1000</field>
<field name="Increment">1</field>
<field name="Units">Offset per Amp or at Full Throttle</field>
</param>
<param humanName="Motor interference compensation for body frame Y axis" name="COMPASS_MOT_Y" documentation="Multiplied by the current throttle and added to the compass's y-axis values to compensate for motor interference">
<field name="Range">-1000 1000</field>
<field name="Increment">1</field>
<field name="Units">Offset per Amp or at Full Throttle</field>
</param>
<param humanName="Motor interference compensation for body frame Z axis" name="COMPASS_MOT_Z" documentation="Multiplied by the current throttle and added to the compass's z-axis values to compensate for motor interference">
<field name="Range">-1000 1000</field>
<field name="Increment">1</field>
<field name="Units">Offset per Amp or at Full Throttle</field>
</param>
<param humanName="Compass orientation" name="COMPASS_ORIENT" documentation="The orientation of the compass relative to the autopilot board. This will default to the right value for each board type, but can be changed if you have an external compass. See the documentation for your external compass for the right value. The correct orientation should give the X axis forward, the Y axis to the right and the Z axis down. So if your aircraft is pointing west it should show a positive value for the Y axis, and a value close to zero for the X axis. On a PX4 or Pixhawk with an external compass the correct value is zero if the compass is correctly oriented. NOTE: This orientation is combined with any AHRS_ORIENTATION setting." 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">Roll270Yaw136</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">Yaw293Pitch68Roll90</value>
</values>
</param>
<param humanName="Compass is attached via an external cable" name="COMPASS_EXTERNAL" documentation="Configure compass so it is attached externally. This is auto-detected on PX4 and Pixhawk. Set to 1 if the compass is externally connected. When externally connected the COMPASS_ORIENT option operates independently of the AHRS_ORIENTATION board orientation option. If set to 0 or 1 then auto-detection by bus connection can override the value. If set to 2 then auto-detection will be disabled." user="Advanced">
<values>
<value code="0">Internal</value>
<value code="1">External</value>
<value code="2">ForcedExternal</value>
</values>
</param>
<param humanName="Compass2 offsets in milligauss on the X axis" name="COMPASS_OFS2_X" documentation="Offset to be added to compass2's x-axis values to compensate for metal in the frame">
<field name="Range">-400 400</field>
<field name="Increment">1</field>
<field name="Units">milligauss</field>
</param>
<param humanName="Compass2 offsets in milligauss on the Y axis" name="COMPASS_OFS2_Y" documentation="Offset to be added to compass2's y-axis values to compensate for metal in the frame">
<field name="Range">-400 400</field>
<field name="Increment">1</field>
<field name="Units">milligauss</field>
</param>
<param humanName="Compass2 offsets in milligauss on the Z axis" name="COMPASS_OFS2_Z" documentation="Offset to be added to compass2's z-axis values to compensate for metal in the frame">
<field name="Range">-400 400</field>
<field name="Increment">1</field>
<field name="Units">milligauss</field>
</param>
<param humanName="Motor interference compensation to compass2 for body frame X axis" name="COMPASS_MOT2_X" documentation="Multiplied by the current throttle and added to compass2's x-axis values to compensate for motor interference">
<field name="Range">-1000 1000</field>
<field name="Increment">1</field>
<field name="Units">Offset per Amp or at Full Throttle</field>
</param>
<param humanName="Motor interference compensation to compass2 for body frame Y axis" name="COMPASS_MOT2_Y" documentation="Multiplied by the current throttle and added to compass2's y-axis values to compensate for motor interference">
<field name="Range">-1000 1000</field>
<field name="Increment">1</field>
<field name="Units">Offset per Amp or at Full Throttle</field>
</param>
<param humanName="Motor interference compensation to compass2 for body frame Z axis" name="COMPASS_MOT2_Z" documentation="Multiplied by the current throttle and added to compass2's z-axis values to compensate for motor interference">
<field name="Range">-1000 1000</field>
<field name="Increment">1</field>
<field name="Units">Offset per Amp or at Full Throttle</field>
</param>
<param humanName="Choose primary compass" name="COMPASS_PRIMARY" documentation="If more than one compass is available this selects which compass is the primary. Normally 0=External, 1=Internal. If no External compass is attached this parameter is ignored" user="Advanced">
<values>
<value code="0">FirstCompass</value>
<value code="1">SecondCompass</value>
<value code="2">ThirdCompass</value>
</values>
</param>
<param humanName="Compass3 offsets in milligauss on the X axis" name="COMPASS_OFS3_X" documentation="Offset to be added to compass3's x-axis values to compensate for metal in the frame">
<field name="Range">-400 400</field>
<field name="Increment">1</field>
<field name="Units">milligauss</field>
</param>
<param humanName="Compass3 offsets in milligauss on the Y axis" name="COMPASS_OFS3_Y" documentation="Offset to be added to compass3's y-axis values to compensate for metal in the frame">
<field name="Range">-400 400</field>
<field name="Increment">1</field>
<field name="Units">milligauss</field>
</param>
<param humanName="Compass3 offsets in milligauss on the Z axis" name="COMPASS_OFS3_Z" documentation="Offset to be added to compass3's z-axis values to compensate for metal in the frame">
<field name="Range">-400 400</field>
<field name="Increment">1</field>
<field name="Units">milligauss</field>
</param>
<param humanName="Motor interference compensation to compass3 for body frame X axis" name="COMPASS_MOT3_X" documentation="Multiplied by the current throttle and added to compass3's x-axis values to compensate for motor interference">
<field name="Range">-1000 1000</field>
<field name="Increment">1</field>
<field name="Units">Offset per Amp or at Full Throttle</field>
</param>
<param humanName="Motor interference compensation to compass3 for body frame Y axis" name="COMPASS_MOT3_Y" documentation="Multiplied by the current throttle and added to compass3's y-axis values to compensate for motor interference">
<field name="Range">-1000 1000</field>
<field name="Increment">1</field>
<field name="Units">Offset per Amp or at Full Throttle</field>
</param>
<param humanName="Motor interference compensation to compass3 for body frame Z axis" name="COMPASS_MOT3_Z" documentation="Multiplied by the current throttle and added to compass3's z-axis values to compensate for motor interference">
<field name="Range">-1000 1000</field>
<field name="Increment">1</field>
<field name="Units">Offset per Amp or at Full Throttle</field>
</param>
<param humanName="Compass device id" name="COMPASS_DEV_ID" documentation="Compass device id.  Automatically detected, do not set manually">
</param>
<param humanName="Compass2 device id" name="COMPASS_DEV_ID2" documentation="Second compass's device id.  Automatically detected, do not set manually">
</param>
<param humanName="Compass3 device id" name="COMPASS_DEV_ID3" documentation="Third compass's device id.  Automatically detected, do not set manually">
</param>
<param humanName="Compass2 used for yaw" name="COMPASS_USE2" documentation="Enable or disable the second compass for determining heading." user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Compass2 orientation" name="COMPASS_ORIENT2" documentation="The orientation of the second compass relative to the frame (if external) or autopilot board (if internal)." 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">Roll270Yaw136</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">Yaw293Pitch68Roll90</value>
</values>
</param>
<param humanName="Compass2 is attached via an external cable" name="COMPASS_EXTERN2" documentation="Configure second compass so it is attached externally. This is auto-detected on PX4 and Pixhawk. If set to 0 or 1 then auto-detection by bus connection can override the value. If set to 2 then auto-detection will be disabled." user="Advanced">
<values>
<value code="0">Internal</value>
<value code="1">External</value>
<value code="2">ForcedExternal</value>
</values>
</param>
<param humanName="Compass3 used for yaw" name="COMPASS_USE3" documentation="Enable or disable the third compass for determining heading." user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Compass3 orientation" name="COMPASS_ORIENT3" documentation="The orientation of the third compass relative to the frame (if external) or autopilot board (if internal)." 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">Roll270Yaw136</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">Yaw293Pitch68Roll90</value>
</values>
</param>
<param humanName="Compass3 is attached via an external cable" name="COMPASS_EXTERN3" documentation="Configure third compass so it is attached externally. This is auto-detected on PX4 and Pixhawk. If set to 0 or 1 then auto-detection by bus connection can override the value. If set to 2 then auto-detection will be disabled." user="Advanced">
<values>
<value code="0">Internal</value>
<value code="1">External</value>
<value code="2">ForcedExternal</value>
</values>
</param>
<param humanName="Compass soft-iron diagonal X component" name="COMPASS_DIA_X" documentation="DIA_X in the compass soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass soft-iron diagonal Y component" name="COMPASS_DIA_Y" documentation="DIA_Y in the compass soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass soft-iron diagonal Z component" name="COMPASS_DIA_Z" documentation="DIA_Z in the compass soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass soft-iron off-diagonal X component" name="COMPASS_ODI_X" documentation="ODI_X in the compass soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass soft-iron off-diagonal Y component" name="COMPASS_ODI_Y" documentation="ODI_Y in the compass soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass soft-iron off-diagonal Z component" name="COMPASS_ODI_Z" documentation="ODI_Z in the compass soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass2 soft-iron diagonal X component" name="COMPASS_DIA2_X" documentation="DIA_X in the compass2 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass2 soft-iron diagonal Y component" name="COMPASS_DIA2_Y" documentation="DIA_Y in the compass2 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass2 soft-iron diagonal Z component" name="COMPASS_DIA2_Z" documentation="DIA_Z in the compass2 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass2 soft-iron off-diagonal X component" name="COMPASS_ODI2_X" documentation="ODI_X in the compass2 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass2 soft-iron off-diagonal Y component" name="COMPASS_ODI2_Y" documentation="ODI_Y in the compass2 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass2 soft-iron off-diagonal Z component" name="COMPASS_ODI2_Z" documentation="ODI_Z in the compass2 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass3 soft-iron diagonal X component" name="COMPASS_DIA3_X" documentation="DIA_X in the compass3 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass3 soft-iron diagonal Y component" name="COMPASS_DIA3_Y" documentation="DIA_Y in the compass3 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass3 soft-iron diagonal Z component" name="COMPASS_DIA3_Z" documentation="DIA_Z in the compass3 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass3 soft-iron off-diagonal X component" name="COMPASS_ODI3_X" documentation="ODI_X in the compass3 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass3 soft-iron off-diagonal Y component" name="COMPASS_ODI3_Y" documentation="ODI_Y in the compass3 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass3 soft-iron off-diagonal Z component" name="COMPASS_ODI3_Z" documentation="ODI_Z in the compass3 soft-iron calibration matrix: [[DIA_X, ODI_X, ODI_Y], [ODI_X, DIA_Y, ODI_Z], [ODI_Y, ODI_Z, DIA_Z]]">
</param>
<param humanName="Compass calibration fitness" name="COMPASS_CAL_FIT" documentation="This controls the fitness level required for a successful compass calibration. A lower value makes for a stricter fit (less likely to pass). This is the value used for the primary magnetometer. Other magnetometers get double the value." user="Advanced">
<field name="Range">4 20</field>
<field name="Increment">0.1</field>
</param>
</parameters>
<parameters name="SCHED_">
<param humanName="Scheduler debug level" name="SCHED_DEBUG" documentation='Set to non-zero to enable scheduler debug messages. When set to show "Slips" the scheduler will display a message whenever a scheduled task is delayed due to too much CPU load. When set to ShowOverruns the scheduled will display a message whenever a task takes longer than the limit promised in the task table.' user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="2">ShowSlips</value>
<value code="3">ShowOverruns</value>
</values>
</param>
<param humanName="Scheduling main loop rate" name="SCHED_LOOP_RATE" documentation="This controls the rate of the main control loop in Hz. This should only be changed by developers. This only takes effect on restart" user="Advanced">
<values>
<value code="50">50Hz</value>
<value code="100">100Hz</value>
<value code="200">200Hz</value>
<value code="250">250Hz</value>
<value code="300">300Hz</value>
<value code="400">400Hz</value>
</values>
<field name="RebootRequired">True</field>
</param>
</parameters>
<parameters name="RCMAP_">
<param humanName="Roll channel" name="RCMAP_ROLL" documentation="Roll channel number. This is useful when you have a RC transmitter that can't change the channel order easily. Roll is normally on channel 1, but you can move it to any channel with this parameter.  Reboot is required for changes to take effect." user="Advanced">
<field name="Range">1 8</field>
<field name="Increment">1</field>
<field name="RebootRequired">True</field>
</param>
<param humanName="Pitch channel" name="RCMAP_PITCH" documentation="Pitch channel number. This is useful when you have a RC transmitter that can't change the channel order easily. Pitch is normally on channel 2, but you can move it to any channel with this parameter.  Reboot is required for changes to take effect." user="Advanced">
<field name="Range">1 8</field>
<field name="Increment">1</field>
<field name="RebootRequired">True</field>
</param>
<param humanName="Throttle channel" name="RCMAP_THROTTLE" documentation="Throttle channel number. This is useful when you have a RC transmitter that can't change the channel order easily. Throttle is normally on channel 3, but you can move it to any channel with this parameter. Warning APM 2.X: Changing the throttle channel could produce unexpected fail-safe results if connection between receiver and on-board PPM Encoder is lost. Disabling on-board PPM Encoder is recommended.  Reboot is required for changes to take effect." user="Advanced">
<field name="Range">1 8</field>
<field name="Increment">1</field>
<field name="RebootRequired">True</field>
</param>
<param humanName="Yaw channel" name="RCMAP_YAW" documentation="Yaw channel number. This is useful when you have a RC transmitter that can't change the channel order easily. Yaw (also known as rudder) is normally on channel 4, but you can move it to any channel with this parameter.  Reboot is required for changes to take effect." user="Advanced">
<field name="Range">1 8</field>
<field name="Increment">1</field>
<field name="RebootRequired">True</field>
</param>
</parameters>
<parameters name="INS_">
<param humanName="IMU Product ID" name="INS_PRODUCT_ID" documentation="Which type of IMU is installed (read-only)." user="Advanced">
<values>
<value code="0">Unknown</value>
<value code="1">unused</value>
<value code="2">unused</value>
<value code="88">unused</value>
<value code="3">SITL</value>
<value code="4">PX4v1</value>
<value code="5">PX4v2</value>
<value code="256">unused</value>
<value code="257">Linux</value>
</values>
</param>
<param humanName="Gyro offsets of X axis" name="INS_GYROFFS_X" documentation="Gyro sensor offsets of X axis. This is setup on each boot during gyro calibrations" user="Advanced">
<field name="Units">rad/s</field>
</param>
<param humanName="Gyro offsets of Y axis" name="INS_GYROFFS_Y" documentation="Gyro sensor offsets of Y axis. This is setup on each boot during gyro calibrations" user="Advanced">
<field name="Units">rad/s</field>
</param>
<param humanName="Gyro offsets of Z axis" name="INS_GYROFFS_Z" documentation="Gyro sensor offsets of Z axis. This is setup on each boot during gyro calibrations" user="Advanced">
<field name="Units">rad/s</field>
</param>
<param humanName="Gyro2 offsets of X axis" name="INS_GYR2OFFS_X" documentation="Gyro2 sensor offsets of X axis. This is setup on each boot during gyro calibrations" user="Advanced">
<field name="Units">rad/s</field>
</param>
<param humanName="Gyro2 offsets of Y axis" name="INS_GYR2OFFS_Y" documentation="Gyro2 sensor offsets of Y axis. This is setup on each boot during gyro calibrations" user="Advanced">
<field name="Units">rad/s</field>
</param>
<param humanName="Gyro2 offsets of Z axis" name="INS_GYR2OFFS_Z" documentation="Gyro2 sensor offsets of Z axis. This is setup on each boot during gyro calibrations" user="Advanced">
<field name="Units">rad/s</field>
</param>
<param humanName="Gyro3 offsets of X axis" name="INS_GYR3OFFS_X" documentation="Gyro3 sensor offsets of X axis. This is setup on each boot during gyro calibrations" user="Advanced">
<field name="Units">rad/s</field>
</param>
<param humanName="Gyro3 offsets of Y axis" name="INS_GYR3OFFS_Y" documentation="Gyro3 sensor offsets of Y axis. This is setup on each boot during gyro calibrations" user="Advanced">
<field name="Units">rad/s</field>
</param>
<param humanName="Gyro3 offsets of Z axis" name="INS_GYR3OFFS_Z" documentation="Gyro3 sensor offsets of Z axis. This is setup on each boot during gyro calibrations" user="Advanced">
<field name="Units">rad/s</field>
</param>
<param humanName="Accelerometer scaling of X axis" name="INS_ACCSCAL_X" documentation="Accelerometer scaling of X axis.  Calculated during acceleration calibration routine" user="Advanced">
<field name="Range">0.8 1.2</field>
</param>
<param humanName="Accelerometer scaling of Y axis" name="INS_ACCSCAL_Y" documentation="Accelerometer scaling of Y axis  Calculated during acceleration calibration routine" user="Advanced">
<field name="Range">0.8 1.2</field>
</param>
<param humanName="Accelerometer scaling of Z axis" name="INS_ACCSCAL_Z" documentation="Accelerometer scaling of Z axis  Calculated during acceleration calibration routine" user="Advanced">
<field name="Range">0.8 1.2</field>
</param>
<param humanName="Accelerometer offsets of X axis" name="INS_ACCOFFS_X" documentation="Accelerometer offsets of X axis. This is setup using the acceleration calibration or level operations" user="Advanced">
<field name="Range">-3.5 3.5</field>
<field name="Units">m/s/s</field>
</param>
<param humanName="Accelerometer offsets of Y axis" name="INS_ACCOFFS_Y" documentation="Accelerometer offsets of Y axis. This is setup using the acceleration calibration or level operations" user="Advanced">
<field name="Range">-3.5 3.5</field>
<field name="Units">m/s/s</field>
</param>
<param humanName="Accelerometer offsets of Z axis" name="INS_ACCOFFS_Z" documentation="Accelerometer offsets of Z axis. This is setup using the acceleration calibration or level operations" user="Advanced">
<field name="Range">-3.5 3.5</field>
<field name="Units">m/s/s</field>
</param>
<param humanName="Accelerometer2 scaling of X axis" name="INS_ACC2SCAL_X" documentation="Accelerometer2 scaling of X axis.  Calculated during acceleration calibration routine" user="Advanced">
<field name="Range">0.8 1.2</field>
</param>
<param humanName="Accelerometer2 scaling of Y axis" name="INS_ACC2SCAL_Y" documentation="Accelerometer2 scaling of Y axis  Calculated during acceleration calibration routine" user="Advanced">
<field name="Range">0.8 1.2</field>
</param>
<param humanName="Accelerometer2 scaling of Z axis" name="INS_ACC2SCAL_Z" documentation="Accelerometer2 scaling of Z axis  Calculated during acceleration calibration routine" user="Advanced">
<field name="Range">0.8 1.2</field>
</param>
<param humanName="Accelerometer2 offsets of X axis" name="INS_ACC2OFFS_X" documentation="Accelerometer2 offsets of X axis. This is setup using the acceleration calibration or level operations" user="Advanced">
<field name="Range">-3.5 3.5</field>
<field name="Units">m/s/s</field>
</param>
<param humanName="Accelerometer2 offsets of Y axis" name="INS_ACC2OFFS_Y" documentation="Accelerometer2 offsets of Y axis. This is setup using the acceleration calibration or level operations" user="Advanced">
<field name="Range">-3.5 3.5</field>
<field name="Units">m/s/s</field>
</param>
<param humanName="Accelerometer2 offsets of Z axis" name="INS_ACC2OFFS_Z" documentation="Accelerometer2 offsets of Z axis. This is setup using the acceleration calibration or level operations" user="Advanced">
<field name="Range">-3.5 3.5</field>
<field name="Units">m/s/s</field>
</param>
<param humanName="Accelerometer3 scaling of X axis" name="INS_ACC3SCAL_X" documentation="Accelerometer3 scaling of X axis.  Calculated during acceleration calibration routine" user="Advanced">
<field name="Range">0.8 1.2</field>
</param>
<param humanName="Accelerometer3 scaling of Y axis" name="INS_ACC3SCAL_Y" documentation="Accelerometer3 scaling of Y axis  Calculated during acceleration calibration routine" user="Advanced">
<field name="Range">0.8 1.2</field>
</param>
<param humanName="Accelerometer3 scaling of Z axis" name="INS_ACC3SCAL_Z" documentation="Accelerometer3 scaling of Z axis  Calculated during acceleration calibration routine" user="Advanced">
<field name="Range">0.8 1.2</field>
</param>
<param humanName="Accelerometer3 offsets of X axis" name="INS_ACC3OFFS_X" documentation="Accelerometer3 offsets of X axis. This is setup using the acceleration calibration or level operations" user="Advanced">
<field name="Range">-3.5 3.5</field>
<field name="Units">m/s/s</field>
</param>
<param humanName="Accelerometer3 offsets of Y axis" name="INS_ACC3OFFS_Y" documentation="Accelerometer3 offsets of Y axis. This is setup using the acceleration calibration or level operations" user="Advanced">
<field name="Range">-3.5 3.5</field>
<field name="Units">m/s/s</field>
</param>
<param humanName="Accelerometer3 offsets of Z axis" name="INS_ACC3OFFS_Z" documentation="Accelerometer3 offsets of Z axis. This is setup using the acceleration calibration or level operations" user="Advanced">
<field name="Range">-3.5 3.5</field>
<field name="Units">m/s/s</field>
</param>
<param humanName="Gyro filter cutoff frequency" name="INS_GYRO_FILTER" documentation="Filter cutoff frequency for gyroscopes. This can be set to a lower value to try to cope with very high vibration levels in aircraft. This option takes effect on the next reboot. A value of zero means no filtering (not recommended!)" user="Advanced">
<field name="Range">0 127</field>
<field name="Units">Hz</field>
</param>
<param humanName="Accel filter cutoff frequency" name="INS_ACCEL_FILTER" documentation="Filter cutoff frequency for accelerometers. This can be set to a lower value to try to cope with very high vibration levels in aircraft. This option takes effect on the next reboot. A value of zero means no filtering (not recommended!)" user="Advanced">
<field name="Range">0 127</field>
<field name="Units">Hz</field>
</param>
<param humanName="Use first IMU for attitude, velocity and position estimates" name="INS_USE" documentation="Use first IMU for attitude, velocity and position estimates" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Use second IMU for attitude, velocity and position estimates" name="INS_USE2" documentation="Use second IMU for attitude, velocity and position estimates" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Use third IMU for attitude, velocity and position estimates" name="INS_USE3" documentation="Use third IMU for attitude, velocity and position estimates" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Stillness threshold for detecting if we are moving" name="INS_STILL_THRESH" documentation="Threshold to tolerate vibration to determine if vehicle is motionless. This depends on the frame type and if there is a constant vibration due to motors before launch or after landing. Total motionless is about 0.05. Suggested values: Planes/rover use 0.1, multirotors use 1, tradHeli uses 5" user="Advanced">
<field name="Range">0.05 50</field>
</param>
<param humanName="Gyro Calibration scheme" name="INS_GYR_CAL" documentation="Conrols when automatic gyro calibration is performed" user="Advanced">
<values>
<value code="0">Never</value>
<value code=" 1">Start-up only</value>
</values>
</param>
<param humanName="Accel cal trim option" name="INS_TRIM_OPTION" documentation="Specifies how the accel cal routine determines the trims" user="Advanced">
<values>
<value code="0">Don't adjust the trims</value>
<value code="1">Assume first orientation was level</value>
<value code="2">Assume ACC_BODYFIX is perfectly aligned to the vehicle</value>
</values>
</param>
<param humanName="Body-fixed accelerometer" name="INS_ACC_BODYFIX" documentation="The body-fixed accelerometer to be used for trim calculation" user="Advanced">
<values>
<value code="1">IMU 1</value>
<value code="2">IMU 2</value>
<value code="3">IMU 3</value>
</values>
</param>
</parameters>
<parameters name="AHRS_">
<param humanName="AHRS GPS gain" name="AHRS_GPS_GAIN" documentation="This controls how 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.">
<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." 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.">
<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">
<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.">
<field name="Range">0 127</field>
<field name="Increment">1</field>
<field name="Units">m/s</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="User">
<field name="Range">-0.1745 +0.1745</field>
<field name="Increment">0.01</field>
<field name="Units">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="User">
<field name="Range">-0.1745 +0.1745</field>
<field name="Increment">0.01</field>
<field name="Units">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">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">Roll270Yaw136</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>
</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 whether the NavEKF Kalman filter is used for attitude and position estimation and whether fallback to the DCM algorithm is allowed. Note that on copters "disabled" is not available, and will be the same as "enabled - no fallback"' user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
<value code="2">Enable EKF2</value>
</values>
</param>
</parameters>
<parameters name="ARSPD_">
<param humanName="Airspeed enable" name="ARSPD_ENABLE" documentation="enable airspeed sensor">
<values>
<value code="0">Disable</value>
<value code="1">Enable</value>
</values>
</param>
<param humanName="Airspeed use" name="ARSPD_USE" documentation="use airspeed for flight control">
<values>
<value code="1">Use</value>
<value code="0">Don't Use</value>
</values>
</param>
<param humanName="Airspeed offset" name="ARSPD_OFFSET" documentation="Airspeed calibration offset">
<field name="Increment">0.1</field>
</param>
<param humanName="Airspeed ratio" name="ARSPD_RATIO" documentation="Airspeed calibration ratio">
<field name="Increment">0.1</field>
</param>
<param humanName="Airspeed pin" name="ARSPD_PIN" documentation="The analog pin number that the airspeed sensor is connected to. Set this to 0..9 for the APM2 analog pins. Set to 64 on an APM1 for the dedicated airspeed port on the end of the board. Set to 11 on PX4 for the analog airspeed port. Set to 15 on the Pixhawk for the analog airspeed port. Set to 65 on the PX4 or Pixhawk for an EagleTree or MEAS I2C airspeed sensor." user="Advanced">
</param>
<param humanName="Automatic airspeed ratio calibration" name="ARSPD_AUTOCAL" documentation="If this is enabled then the APM 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" name="ARSPD_TUBE_ORDER" 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" 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>
</parameters>
<parameters name="NAVL1_">
<param humanName="L1 control period" name="NAVL1_PERIOD" documentation="Period in seconds of L1 tracking loop. This parameter is the primary control for agressiveness of turns in auto mode. This needs to be larger for less responsive airframes. The default of 20 is quite conservative, but for most RC aircraft will lead to reasonable flight. For smaller more agile aircraft a value closer to 15 is appropriate, or even as low as 10 for some very agile aircraft. When tuning, change this value in small increments, as a value that is much too small (say 5 or 10 below the right value) can lead to very radical turns, and a risk of stalling.">
<field name="Range">1 60</field>
<field name="Increment">1</field>
<field name="Units">seconds</field>
</param>
<param humanName="L1 control damping ratio" name="NAVL1_DAMPING" documentation="Damping ratio for L1 control. Increase this in increments of 0.05 if you are getting overshoot in path tracking. You should not need a value below 0.7 or above 0.85.">
<field name="Range">0.6 1.0</field>
<field name="Increment">0.05</field>
</param>
<param humanName="L1 control crosstrack integrator gain" name="NAVL1_XTRACK_I" documentation="Crosstrack error integrator gain. This gain is applied to the crosstrack error to ensure it converges to zero. Set to zero to disable. Smaller values converge slower, higher values will cause crosstrack error oscillation.">
<field name="Range">0 0.1</field>
<field name="Increment">0.01</field>
</param>
</parameters>
<parameters name="TECS_">
<param humanName="Maximum Climb Rate (metres/sec)" name="TECS_CLMB_MAX" documentation="This is the best climb rate that the aircraft can achieve with the throttle set to THR_MAX and the airspeed set to the default value. For electric aircraft make sure this number can be achieved towards the end of flight when the battery voltage has reduced. The setting of this parameter can be checked by commanding a positive altitude change of 100m in loiter, RTL or guided mode. If the throttle required to climb is close to THR_MAX and the aircraft is maintaining airspeed, then this parameter is set correctly. If the airspeed starts to reduce, then the parameter is set to high, and if the throttle demand require to climb and maintain speed is noticeably less than THR_MAX, then either CLMB_MAX should be increased or THR_MAX reduced." user="User">
<field name="Range">0.1 20.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Minimum Sink Rate (metres/sec)" name="TECS_SINK_MIN" documentation="This is the sink rate of the aircraft with the throttle set to THR_MIN and the same airspeed as used to measure CLMB_MAX." user="User">
<field name="Range">0.1 10.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Controller time constant (sec)" name="TECS_TIME_CONST" documentation="This is the time constant of the TECS control algorithm. Smaller values make it faster to respond, large values make it slower to respond." user="Advanced">
<field name="Range">3.0 10.0</field>
<field name="Increment">0.2</field>
</param>
<param humanName="Controller throttle damping" name="TECS_THR_DAMP" documentation="This is the damping gain for the throttle demand loop. Increase to add damping  to correct for oscillations in speed and height." user="Advanced">
<field name="Range">0.1 1.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Controller integrator" name="TECS_INTEG_GAIN" documentation="This is the integrator gain on the control loop. Increase to increase the rate at which speed and height offsets are trimmed out" user="Advanced">
<field name="Range">0.0 0.5</field>
<field name="Increment">0.02</field>
</param>
<param humanName="Vertical Acceleration Limit (metres/sec^2)" name="TECS_VERT_ACC" documentation="This is the maximum vertical acceleration either up or down that the  controller will use to correct speed or height errors." user="Advanced">
<field name="Range">1.0 10.0</field>
<field name="Increment">0.5</field>
</param>
<param humanName="Height complementary filter frequency (radians/sec)" name="TECS_HGT_OMEGA" documentation="This is the cross-over frequency of the complementary filter used to fuse vertical acceleration and baro alt to obtain an estimate of height rate and height." user="Advanced">
<field name="Range">1.0 5.0</field>
<field name="Increment">0.05</field>
</param>
<param humanName="Speed complementary filter frequency (radians/sec)" name="TECS_SPD_OMEGA" documentation="This is the cross-over frequency of the complementary filter used to fuse longitudinal acceleration and airspeed to obtain a lower noise and lag estimate of airspeed." user="Advanced">
<field name="Range">0.5 2.0</field>
<field name="Increment">0.05</field>
</param>
<param humanName="Bank angle compensation gain" name="TECS_RLL2THR" documentation="Increasing this gain turn increases the amount of throttle that will be used to compensate for the additional drag created by turning. Ideally this should be set to approximately 10 x the extra sink rate in m/s created by a 45 degree bank turn. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns. Efficient high aspect-ratio aircraft (eg powered sailplanes) can use a lower value, whereas inefficient low aspect-ratio models (eg delta wings) can use a higher value." user="Advanced">
<field name="Range">5.0 30.0</field>
<field name="Increment">1.0</field>
</param>
<param humanName="Weighting applied to speed control" name="TECS_SPDWEIGHT" documentation="This parameter adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. This will normally improve height accuracy but give larger airspeed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. This will normally reduce airsped errors, but give larger height errors.&#9;A value of 1.0 gives a balanced response and is the default." user="Advanced">
<field name="Range">0.0 2.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Controller pitch damping" name="TECS_PTCH_DAMP" documentation="This is the damping gain for the pitch demand loop. Increase to add damping  to correct for oscillations in speed and height." user="Advanced">
<field name="Range">0.1 1.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Maximum Descent Rate (metres/sec)" name="TECS_SINK_MAX" documentation="This sets the maximum descent rate that the controller will use.  If this value is too large, the aircraft will reach the pitch angle limit first and be unable to achieve the descent rate. This should be set to a value that can be achieved at the lower pitch angle limit." user="User">
<field name="Range">0.0 20.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Airspeed during landing approach (m/s)" name="TECS_LAND_ARSPD" documentation="When performing an autonomus landing, this value is used as the goal airspeed during approach.  Note that this parameter is not useful if your platform does not have an airspeed sensor (use TECS_LAND_THR instead).  If negative then this value is not used during landing." user="User">
<field name="Range">-1 127</field>
<field name="Increment">1</field>
</param>
<param humanName="Cruise throttle during landing approach (percentage)" name="TECS_LAND_THR" documentation="Use this parameter instead of LAND_ARSPD if your platform does not have an airspeed sensor.  It is the cruise throttle during landing approach.  If this value is negative then it is disabled and TECS_LAND_ARSPD is used instead." user="User">
<field name="Range">-1 100</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Weighting applied to speed control during landing." name="TECS_LAND_SPDWGT" documentation="Same as SPDWEIGHT parameter, with the exception that this parameter is applied during landing flight stages.  A value closer to 2 will result in the plane ignoring height error during landing and our experience has been that the plane will therefore keep the nose up -- sometimes good for a glider landing (with the side effect that you will likely glide a ways past the landing point).  A value closer to 0 results in the plane ignoring speed error -- use caution when lowering the value below 1 -- ignoring speed could result in a stall. Values between 0 and 2 are valid values for a fixed landing weight. When using -1 the weight will be scaled during the landing. At the start of the landing approach it starts with TECS_SPDWEIGHT and scales down to 0 by the time you reach the land point. Example: Halfway down the landing approach you'll effectively have a weight of TECS_SPDWEIGHT/2." user="Advanced">
<field name="Range">-1.0 2.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Maximum pitch in auto flight" name="TECS_PITCH_MAX" documentation="This controls maximum pitch up in automatic throttle modes. If this is set to zero then LIM_PITCH_MAX is used instead. The purpose of this parameter is to allow the use of a smaller pitch range when in automatic flight than what is used in FBWA mode." user="Advanced">
<field name="Range">0 45</field>
<field name="Increment">1</field>
</param>
<param humanName="Minimum pitch in auto flight" name="TECS_PITCH_MIN" documentation="This controls minimum pitch in automatic throttle modes. If this is set to zero then LIM_PITCH_MIN is used instead. The purpose of this parameter is to allow the use of a smaller pitch range when in automatic flight than what is used in FBWA mode. Note that TECS_PITCH_MIN should be a negative number." user="Advanced">
<field name="Range">-45 0</field>
<field name="Increment">1</field>
</param>
<param humanName="Sink rate for final landing stage" name="TECS_LAND_SINK" documentation="The sink rate in meters/second for the final stage of landing." user="Advanced">
<field name="Range">0.0 2.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Land controller time constant (sec)" name="TECS_LAND_TCONST" documentation="This is the time constant of the TECS control algorithm when in final landing stage of flight. It should be smaller than TECS_TIME_CONST to allow for faster flare" user="Advanced">
<field name="Range">1.0 5.0</field>
<field name="Increment">0.2</field>
</param>
<param humanName="Controller sink rate to pitch gain during flare" name="TECS_LAND_DAMP" documentation="This is the sink rate gain for the pitch demand loop when in final landing stage of flight. It should be larger than TECS_PTCH_DAMP to allow for better sink rate control during flare." user="Advanced">
<field name="Range">0.1 1.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Maximum pitch during final stage of landing" name="TECS_LAND_PMAX" documentation="This limits the pitch used during the final stage of automatic landing. During the final landing stage most planes need to keep their pitch small to avoid stalling. A maximum of 10 degrees is usually good. A value of zero means to use the normal pitch limits." user="Advanced">
<field name="Range">-5 40</field>
<field name="Increment">1</field>
</param>
<param humanName="Sink rate max for landing approach stage" name="TECS_APPR_SMAX" documentation="The sink rate max for the landing approach stage of landing. This will need to be large for steep landing approaches especially when using reverse thrust. If 0, then use TECS_SINK_MAX." user="Advanced">
<field name="Range">0.0 20.0</field>
<field name="Increment">0.1</field>
<field name="Units">m/s</field>
</param>
<param humanName="Land sink rate change" name="TECS_LAND_SRC" documentation="When zero, the flare sink rate (TECS_LAND_SINK) is a fixed sink demand. With this enabled the flare sinkrate will increase/decrease the flare sink demand as you get further beyond the LAND waypoint. Has no effect before the waypoint. This value is added to TECS_LAND_SINK proportional to distance traveled after wp. With an increasing sink rate you can still land in a given distance if you're traveling too fast and cruise passed the land point. A positive value will force the plane to land sooner proportional to distance passed land point. A negative number will tell the plane to slowly climb allowing for a pitched-up stall landing. Recommend 0.2 as initial value." user="Advanced">
<field name="Range">-2.0 2.0</field>
<field name="Increment">0.1</field>
<field name="Units">m/s/m</field>
</param>
<param humanName="Controller throttle damping when landing" name="TECS_LAND_TDAMP" documentation="This is the damping gain for the throttle demand loop during and auto-landing. Same as TECS_THR_DAMP but only in effect during an auto-land. Increase to add damping to correct for oscillations in speed and height. When set to 0 landing throttle damp is controlled by TECS_THR_DAMP." user="Advanced">
<field name="Range">0.1 1.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Controller integrator during landing" name="TECS_LAND_IGAIN" documentation="This is the integrator gain on the control loop during landing. When set to 0 then TECS_INTEG_GAIN is used. Increase to increase the rate at which speed and height offsets are trimmed out. Typically values lower than TECS_INTEG_GAIN work best" user="Advanced">
<field name="Range">0.0 0.5</field>
<field name="Increment">0.02</field>
</param>
<param humanName="Controller integrator during takeoff" name="TECS_TKOFF_IGAIN" documentation="This is the integrator gain on the control loop during takeoff. When set to 0 then TECS_INTEG_GAIN is used. Increase to increase the rate at which speed and height offsets are trimmed out. Typically values higher than TECS_INTEG_GAIN work best" user="Advanced">
<field name="Range">0.0 0.5</field>
<field name="Increment">0.02</field>
</param>
<param name="TECS_LAND_PDAMP" documentation="This is the damping gain for the pitch demand loop. Increase to add damping  to correct for oscillations in speed and height. If set to 0 then TECS_PTCH_DAMP will be used instead." user="Advanced">
<field name="Range">0.1 1.0</field>
<field name="Increment">0.1</field>
</param>
</parameters>
<parameters name="MNT">
<param humanName="Mount default operating mode" name="MNT_DEFLT_MODE" documentation="Mount default operating mode on startup and after control is returned from autopilot" user="Standard">
<values>
<value code="0">Retracted</value>
<value code="1">Neutral</value>
<value code="2">MavLink Targeting</value>
<value code="3">RC Targeting</value>
<value code="4">GPS Point</value>
</values>
</param>
<param humanName="Mount roll angle when in retracted position" name="MNT_RETRACT_X" documentation="Mount roll angle when in retracted position" user="Standard">
<field name="Range">-180.00 179.99</field>
<field name="Increment">1</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Mount tilt/pitch angle when in retracted position" name="MNT_RETRACT_Y" documentation="Mount tilt/pitch angle when in retracted position" user="Standard">
<field name="Range">-180.00 179.99</field>
<field name="Increment">1</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Mount yaw/pan angle when in retracted position" name="MNT_RETRACT_Z" documentation="Mount yaw/pan angle when in retracted position" user="Standard">
<field name="Range">-180.00 179.99</field>
<field name="Increment">1</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Mount roll angle when in neutral position" name="MNT_NEUTRAL_X" documentation="Mount roll angle when in neutral position" user="Standard">
<field name="Range">-180.00 179.99</field>
<field name="Increment">1</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Mount tilt/pitch angle when in neutral position" name="MNT_NEUTRAL_Y" documentation="Mount tilt/pitch angle when in neutral position" user="Standard">
<field name="Range">-180.00 179.99</field>
<field name="Increment">1</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Mount pan/yaw angle when in neutral position" name="MNT_NEUTRAL_Z" documentation="Mount pan/yaw angle when in neutral position" user="Standard">
<field name="Range">-180.00 179.99</field>
<field name="Increment">1</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Stabilize mount's roll angle" name="MNT_STAB_ROLL" documentation="enable roll stabilisation relative to Earth" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Stabilize mount's pitch/tilt angle" name="MNT_STAB_TILT" documentation="enable tilt/pitch stabilisation relative to Earth" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Stabilize mount pan/yaw angle" name="MNT_STAB_PAN" documentation="enable pan/yaw stabilisation relative to Earth" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="roll RC input channel" name="MNT_RC_IN_ROLL" documentation="0 for none, any other for the RC channel to be used to control roll movements" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="5">RC5</value>
<value code="6">RC6</value>
<value code="7">RC7</value>
<value code="8">RC8</value>
<value code="9">RC9</value>
<value code="10">RC10</value>
<value code="11">RC11</value>
<value code="12">RC12</value>
</values>
</param>
<param humanName="Minimum roll angle" name="MNT_ANGMIN_ROL" documentation="Minimum physical roll angular position of mount." user="Standard">
<field name="Range">-18000 17999</field>
<field name="Increment">1</field>
<field name="Units">Centi-Degrees</field>
</param>
<param humanName="Maximum roll angle" name="MNT_ANGMAX_ROL" documentation="Maximum physical roll angular position of the mount" user="Standard">
<field name="Range">-18000 17999</field>
<field name="Increment">1</field>
<field name="Units">Centi-Degrees</field>
</param>
<param humanName="tilt (pitch) RC input channel" name="MNT_RC_IN_TILT" documentation="0 for none, any other for the RC channel to be used to control tilt (pitch) movements" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="5">RC5</value>
<value code="6">RC6</value>
<value code="7">RC7</value>
<value code="8">RC8</value>
<value code="9">RC9</value>
<value code="10">RC10</value>
<value code="11">RC11</value>
<value code="12">RC12</value>
</values>
</param>
<param humanName="Minimum tilt angle" name="MNT_ANGMIN_TIL" documentation="Minimum physical tilt (pitch) angular position of mount." user="Standard">
<field name="Range">-18000 17999</field>
<field name="Increment">1</field>
<field name="Units">Centi-Degrees</field>
</param>
<param humanName="Maximum tilt angle" name="MNT_ANGMAX_TIL" documentation="Maximum physical tilt (pitch) angular position of the mount" user="Standard">
<field name="Range">-18000 17999</field>
<field name="Increment">1</field>
<field name="Units">Centi-Degrees</field>
</param>
<param humanName="pan (yaw) RC input channel" name="MNT_RC_IN_PAN" documentation="0 for none, any other for the RC channel to be used to control pan (yaw) movements" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="5">RC5</value>
<value code="6">RC6</value>
<value code="7">RC7</value>
<value code="8">RC8</value>
<value code="9">RC9</value>
<value code="10">RC10</value>
<value code="11">RC11</value>
<value code="12">RC12</value>
</values>
</param>
<param humanName="Minimum pan angle" name="MNT_ANGMIN_PAN" documentation="Minimum physical pan (yaw) angular position of mount." user="Standard">
<field name="Range">-18000 17999</field>
<field name="Increment">1</field>
<field name="Units">Centi-Degrees</field>
</param>
<param humanName="Maximum pan angle" name="MNT_ANGMAX_PAN" documentation="Maximum physical pan (yaw) angular position of the mount" user="Standard">
<field name="Range">-18000 17999</field>
<field name="Increment">1</field>
<field name="Units">Centi-Degrees</field>
</param>
<param humanName="mount joystick speed" name="MNT_JSTICK_SPD" documentation="0 for position control, small for low speeds, 100 for max speed. A good general value is 10 which gives a movement speed of 3 degrees per second." user="Standard">
<field name="Range">0 100</field>
<field name="Increment">1</field>
</param>
<param humanName="Roll stabilization lead time" name="MNT_LEAD_RLL" documentation="Causes the servo angle output to lead the current angle of the vehicle by some amount of time based on current angular rate, compensating for servo delay. Increase until the servo is responsive but doesn't overshoot. Does nothing with pan stabilization enabled." user="Standard">
<field name="Range">0.0 0.2</field>
<field name="Increment">.005</field>
<field name="Units">Seconds</field>
</param>
<param humanName="Pitch stabilization lead time" name="MNT_LEAD_PTCH" documentation="Causes the servo angle output to lead the current angle of the vehicle by some amount of time based on current angular rate. Increase until the servo is responsive but doesn't overshoot. Does nothing with pan stabilization enabled." user="Standard">
<field name="Range">0.0 0.2</field>
<field name="Increment">.005</field>
<field name="Units">Seconds</field>
</param>
<param humanName="Mount Type" name="MNT_TYPE" documentation="Mount Type (None, Servo or MAVLink)" user="Standard">
<values>
<value code="0">None</value>
<value code=" 1">Servo</value>
<value code=" 2">3DR Solo</value>
<value code=" 3">Alexmos Serial</value>
<value code=" 4">SToRM32 MAVLink</value>
<value code=" 5">SToRM32 Serial</value>
</values>
<field name="RebootRequired">True</field>
</param>
<param humanName="Mount default operating mode" name="MNT2_DEFLT_MODE" documentation="Mount default operating mode on startup and after control is returned from autopilot" user="Standard">
<values>
<value code="0">Retracted</value>
<value code="1">Neutral</value>
<value code="2">MavLink Targeting</value>
<value code="3">RC Targeting</value>
<value code="4">GPS Point</value>
</values>
</param>
<param humanName="Mount2 roll angle when in retracted position" name="MNT2_RETRACT_X" documentation="Mount2 roll angle when in retracted position" user="Standard">
<field name="Range">-180.00 179.99</field>
<field name="Increment">1</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Mount2 tilt/pitch angle when in retracted position" name="MNT2_RETRACT_Y" documentation="Mount2 tilt/pitch angle when in retracted position" user="Standard">
<field name="Range">-180.00 179.99</field>
<field name="Increment">1</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Mount2 yaw/pan angle when in retracted position" name="MNT2_RETRACT_Z" documentation="Mount2 yaw/pan angle when in retracted position" user="Standard">
<field name="Range">-180.00 179.99</field>
<field name="Increment">1</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Mount2 roll angle when in neutral position" name="MNT2_NEUTRAL_X" documentation="Mount2 roll angle when in neutral position" user="Standard">
<field name="Range">-180.00 179.99</field>
<field name="Increment">1</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Mount2 tilt/pitch angle when in neutral position" name="MNT2_NEUTRAL_Y" documentation="Mount2 tilt/pitch angle when in neutral position" user="Standard">
<field name="Range">-180.00 179.99</field>
<field name="Increment">1</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Mount2 pan/yaw angle when in neutral position" name="MNT2_NEUTRAL_Z" documentation="Mount2 pan/yaw angle when in neutral position" user="Standard">
<field name="Range">-180.00 179.99</field>
<field name="Increment">1</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Stabilize Mount2's roll angle" name="MNT2_STAB_ROLL" documentation="enable roll stabilisation relative to Earth" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Stabilize Mount2's pitch/tilt angle" name="MNT2_STAB_TILT" documentation="enable tilt/pitch stabilisation relative to Earth" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Stabilize mount2 pan/yaw angle" name="MNT2_STAB_PAN" documentation="enable pan/yaw stabilisation relative to Earth" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Mount2's roll RC input channel" name="MNT2_RC_IN_ROLL" documentation="0 for none, any other for the RC channel to be used to control roll movements" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="5">RC5</value>
<value code="6">RC6</value>
<value code="7">RC7</value>
<value code="8">RC8</value>
<value code="9">RC9</value>
<value code="10">RC10</value>
<value code="11">RC11</value>
<value code="12">RC12</value>
</values>
</param>
<param humanName="Mount2's minimum roll angle" name="MNT2_ANGMIN_ROL" documentation="Mount2's minimum physical roll angular position" user="Standard">
<field name="Range">-18000 17999</field>
<field name="Increment">1</field>
<field name="Units">Centi-Degrees</field>
</param>
<param humanName="Mount2's maximum roll angle" name="MNT2_ANGMAX_ROL" documentation="Mount2's maximum physical roll angular position" user="Standard">
<field name="Range">-18000 17999</field>
<field name="Increment">1</field>
<field name="Units">Centi-Degrees</field>
</param>
<param humanName="Mount2's tilt (pitch) RC input channel" name="MNT2_RC_IN_TILT" documentation="0 for none, any other for the RC channel to be used to control tilt (pitch) movements" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="5">RC5</value>
<value code="6">RC6</value>
<value code="7">RC7</value>
<value code="8">RC8</value>
<value code="9">RC9</value>
<value code="10">RC10</value>
<value code="11">RC11</value>
<value code="12">RC12</value>
</values>
</param>
<param humanName="Mount2's minimum tilt angle" name="MNT2_ANGMIN_TIL" documentation="Mount2's minimum physical tilt (pitch) angular position" user="Standard">
<field name="Range">-18000 17999</field>
<field name="Increment">1</field>
<field name="Units">Centi-Degrees</field>
</param>
<param humanName="Mount2's maximum tilt angle" name="MNT2_ANGMAX_TIL" documentation="Mount2's maximum physical tilt (pitch) angular position" user="Standard">
<field name="Range">-18000 17999</field>
<field name="Increment">1</field>
<field name="Units">Centi-Degrees</field>
</param>
<param humanName="Mount2's pan (yaw) RC input channel" name="MNT2_RC_IN_PAN" documentation="0 for none, any other for the RC channel to be used to control pan (yaw) movements" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="5">RC5</value>
<value code="6">RC6</value>
<value code="7">RC7</value>
<value code="8">RC8</value>
<value code="9">RC9</value>
<value code="10">RC10</value>
<value code="11">RC11</value>
<value code="12">RC12</value>
</values>
</param>
<param humanName="Mount2's minimum pan angle" name="MNT2_ANGMIN_PAN" documentation="Mount2's minimum physical pan (yaw) angular position" user="Standard">
<field name="Range">-18000 17999</field>
<field name="Increment">1</field>
<field name="Units">Centi-Degrees</field>
</param>
<param humanName="Mount2's maximum pan angle" name="MNT2_ANGMAX_PAN" documentation="MOunt2's maximum physical pan (yaw) angular position" user="Standard">
<field name="Range">-18000 17999</field>
<field name="Increment">1</field>
<field name="Units">Centi-Degrees</field>
</param>
<param humanName="Mount2's Roll stabilization lead time" name="MNT2_LEAD_RLL" documentation="Causes the servo angle output to lead the current angle of the vehicle by some amount of time based on current angular rate, compensating for servo delay. Increase until the servo is responsive but doesn't overshoot. Does nothing with pan stabilization enabled." user="Standard">
<field name="Range">0.0 0.2</field>
<field name="Increment">.005</field>
<field name="Units">Seconds</field>
</param>
<param humanName="Mount2's Pitch stabilization lead time" name="MNT2_LEAD_PTCH" documentation="Causes the servo angle output to lead the current angle of the vehicle by some amount of time based on current angular rate. Increase until the servo is responsive but doesn't overshoot. Does nothing with pan stabilization enabled." user="Standard">
<field name="Range">0.0 0.2</field>
<field name="Increment">.005</field>
<field name="Units">Seconds</field>
</param>
<param humanName="Mount2 Type" name="MNT2_TYPE" documentation="Mount Type (None, Servo or MAVLink)" user="Standard">
<values>
<value code="0">None</value>
<value code=" 1">Servo</value>
<value code=" 2">3DR Solo</value>
<value code=" 3">Alexmos Serial</value>
<value code=" 4">SToRM32 MAVLink</value>
<value code=" 5">SToRM32 Serial</value>
</values>
</param>
</parameters>
<parameters name="LOG">
<param humanName="DataFlash Backend Storage type" name="LOG_BACKEND_TYPE" documentation="0 for None, 1 for File, 2 for dataflash mavlink, 3 for both file and dataflash" user="Standard">
<values>
<value code="0">None</value>
<value code="1">File</value>
<value code="2">MAVLink</value>
<value code="3">BothFileAndMAVLink</value>
</values>
</param>
<param humanName="Maximum DataFlash File Backend buffer size (in kilobytes)" name="LOG_FILE_BUFSIZE" documentation='The DataFlash_File backend uses a buffer to store data before writing to the block device.  Raising this value may reduce "gaps" in your SD card logging.  This buffer size may be reduced depending on available memory.  PixHawk requires at least 4 kilobytes.  Maximum value available here is 64 kilobytes.' user="Standard">
</param>
<param humanName="Enable logging while disarmed" name="LOG_DISARMED" documentation="If LOG_DISARMED is set to 1 then logging will be enabled while disarmed. This can make for very large logfiles but can help a lot when tracking down startup issues" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Enable logging of information needed for Replay" name="LOG_REPLAY" documentation="If LOG_REPLAY is set to 1 then the EKF2 state estimator will log detailed information needed for diagnosing problems with the Kalman filter. It is suggested that you also raise LOG_FILE_BUFSIZE to give more buffer space for logging and use a high quality microSD card to ensure no sensor data is lost" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
</parameters>
<parameters name="BATT">
<param humanName="Battery monitoring" name="BATT_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">SMBus</value>
<value code="6">Bebop</value>
</values>
</param>
<param humanName="Battery Voltage sensing pin" name="BATT_VOLT_PIN" documentation="Setting this to 0 ~ 13 will enable battery voltage sensing on pins A0 ~ A13. For the 3DR power brick on APM2.5 it should be set to 13. On the PX4 it should be set to 100. On the Pixhawk powered from the PM connector it should be set to 2." user="Standard">
<values>
<value code="-1">Disabled</value>
<value code=" 0">A0</value>
<value code=" 1">A1</value>
<value code=" 2">Pixhawk</value>
<value code=" 13">A13</value>
<value code=" 100">PX4</value>
</values>
</param>
<param humanName="Battery Current sensing pin" name="BATT_CURR_PIN" documentation="Setting this to 0 ~ 13 will enable battery current sensing on pins A0 ~ A13. For the 3DR power brick on APM2.5 it should be set to 12. On the PX4 it should be set to 101. On the Pixhawk powered from the PM connector it should be set to 3." user="Standard">
<values>
<value code="-1">Disabled</value>
<value code=" 1">A1</value>
<value code=" 2">A2</value>
<value code=" 3">Pixhawk</value>
<value code=" 12">A12</value>
<value code=" 101">PX4</value>
</values>
</param>
<param humanName="Voltage Multiplier" name="BATT_VOLT_MULT" documentation="Used to convert the voltage of the voltage sensing pin (BATT_VOLT_PIN) to the actual battery's voltage (pin_voltage * VOLT_MULT). For the 3DR Power brick on APM2 or Pixhawk, this should be set to 10.1. For the Pixhawk with the 3DR 4in1 ESC this should be 12.02. For the PX4 using the PX4IO power supply this should be set to 1." user="Advanced">
</param>
<param humanName="Amps per volt" name="BATT_AMP_PERVOLT" documentation="Number of amps that a 1V reading on the current sensor corresponds to. On the APM2 or 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">Amps/Volt</field>
</param>
<param humanName="AMP offset" name="BATT_AMP_OFFSET" documentation="Voltage offset at zero current on current sensor" user="Standard">
<field name="Units">Volts</field>
</param>
<param humanName="Battery capacity" name="BATT_CAPACITY" documentation="Capacity of the battery in mAh when full" user="Standard">
<field name="Increment">50</field>
<field name="Units">mAh</field>
</param>
<param humanName="Maximum allowed power (Watts)" name="BATT_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">Watts</field>
</param>
<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">SMBus</value>
<value code="6">Bebop</value>
</values>
</param>
<param humanName="Battery Voltage sensing pin" name="BATT2_VOLT_PIN" documentation="Setting this to 0 ~ 13 will enable battery voltage sensing on pins A0 ~ A13. For the 3DR power brick on APM2.5 it should be set to 13. On the PX4 it should be set to 100. On the Pixhawk powered from the PM connector it should be set to 2." user="Standard">
<values>
<value code="-1">Disabled</value>
<value code=" 0">A0</value>
<value code=" 1">A1</value>
<value code=" 2">Pixhawk</value>
<value code=" 13">A13</value>
<value code=" 100">PX4</value>
</values>
</param>
<param humanName="Battery Current sensing pin" name="BATT2_CURR_PIN" documentation="Setting this to 0 ~ 13 will enable battery current sensing on pins A0 ~ A13. For the 3DR power brick on APM2.5 it should be set to 12. On the PX4 it should be set to 101. On the Pixhawk powered from the PM connector it should be set to 3." user="Standard">
<values>
<value code="-1">Disabled</value>
<value code=" 1">A1</value>
<value code=" 2">A2</value>
<value code=" 3">Pixhawk</value>
<value code=" 12">A12</value>
<value code=" 101">PX4</value>
</values>
</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 on APM2 or Pixhawk, this should be set to 10.1. For the Pixhawk with the 3DR 4in1 ESC this should be 12.02. For the PX4 using the PX4IO power supply this should be set to 1." user="Advanced">
</param>
<param humanName="Amps per volt" name="BATT2_AMP_PERVOL" documentation="Number of amps that a 1V reading on the current sensor corresponds to. On the APM2 or 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">Amps/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">Volts</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>
</param>
<param humanName="Maximum allowed current" 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">Amps</field>
</param>
</parameters>
<parameters name="BRD_">
<param humanName="Auxiliary pin config" name="BRD_PWM_COUNT" documentation="Control assigning of FMU pins to PWM output, timer capture and GPIO. All unassigned pins can be used for GPIO">
<values>
<value code="0">No PWMs</value>
<value code="2">Two PWMs</value>
<value code="4">Four PWMs</value>
<value code="6">Six PWMs</value>
<value code="7">Three PWMs and One Capture</value>
</values>
<field name="RebootRequired">True</field>
</param>
<param humanName="Serial 1 flow control" name="BRD_SER1_RTSCTS" documentation="Enable flow control on serial 1 (telemetry 1) on Pixhawk. You must have the RTS and CTS pins connected to your radio. The standard DF13 6 pin connector for a 3DR radio does have those pins connected. If this is set to 2 then flow control will be auto-detected by checking for the output buffer filling on startup. Note that the PX4v1 does not have hardware flow control pins on this port, so you should leave this disabled.">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
<value code="2">Auto</value>
</values>
<field name="RebootRequired">True</field>
</param>
<param humanName="Serial 2 flow control" name="BRD_SER2_RTSCTS" documentation="Enable flow control on serial 2 (telemetry 2) on Pixhawk and PX4. You must have the RTS and CTS pins connected to your radio. The standard DF13 6 pin connector for a 3DR radio does have those pins connected. If this is set to 2 then flow control will be auto-detected by checking for the output buffer filling on startup.">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
<value code="2">Auto</value>
</values>
<field name="RebootRequired">True</field>
</param>
<param humanName=" Enable use of safety arming switch" name="BRD_SAFETYENABLE" documentation="Disabling this option will disable the use of the safety switch on PX4 for arming. Use of the safety switch is highly recommended, so you should leave this option set to 1 except in unusual circumstances.">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
<field name="RebootRequired">True</field>
</param>
<param humanName=" SBUS output rate" name="BRD_SBUS_OUT" documentation="This sets the SBUS output frame rate in Hz">
<values>
<value code="0">Disabled</value>
<value code="1">50Hz</value>
<value code="2">75Hz</value>
<value code="3">100Hz</value>
<value code="4">150Hz</value>
<value code="5">200Hz</value>
<value code="6">250Hz</value>
<value code="7">300Hz</value>
</values>
<field name="RebootRequired">True</field>
</param>
<param humanName="User-defined serial number" name="BRD_SERIAL_NUM" documentation="User-defined serial number of this vehicle, it can be any arbitrary number you want and has no effect on the autopilot" user="Standard">
<field name="Range">-32767 32768</field>
</param>
<param humanName=" Enable use of UAVCAN devices" name="BRD_CAN_ENABLE" documentation="Enabling this option on a Pixhawk enables UAVCAN devices. Note that this uses about 25k of memory">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Channels to which ignore the safety switch state" name="BRD_SAFETY_MASK" documentation="A bitmask which controls what channels can move while the safety witch has not been pressed">
<field name="Bitmask">0:Ch1,1:Ch2,2:Ch3,3:Ch4,4:Ch5,5:Ch6,6:Ch7,7:Ch8</field>
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
<field name="RebootRequired">True</field>
</param>
</parameters>
<parameters name="AFS_">
<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. If set to 0 (which is the default) then no extra action is taken. If set to the magic value 42 then the plane will deliberately crash itself by setting maximum throws on all surfaces, and zero throttle" 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">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">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">millibar</field>
</param>
<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="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">seconds</field>
</param>
</parameters>
<parameters name="FLOW">
<param humanName="Optical flow enable/disable" name="FLOW_ENABLE" documentation="Setting this to Enabled(1) will enable optical flow. Setting this to Disabled(0) will disable optical flow" user="Standard">
<values>
<value code="0">Disabled</value>
<value code=" 1">Enabled</value>
</values>
</param>
<param humanName="X axis optical flow scale factor correction" name="FLOW_FXSCALER" documentation="This sets the parts per thousand scale factor correction applied to the flow sensor X axis optical rate. It can be used to correct for variations in effective focal length. Each positive increment of 1 increases the scale factor applied to the X axis optical flow reading by 0.1%. Negative values reduce the scale factor." user="Standard">
<field name="Range">-200 +200</field>
<field name="Increment">1</field>
</param>
<param humanName="Y axis optical flow scale factor correction" name="FLOW_FYSCALER" documentation="This sets the parts per thousand scale factor correction applied to the flow sensor Y axis optical rate. It can be used to correct for variations in effective focal length. Each positive increment of 1 increases the scale factor applied to the Y axis optical flow reading by 0.1%. Negative values reduce the scale factor." user="Standard">
<field name="Range">-200 +200</field>
<field name="Increment">1</field>
</param>
<param humanName="Flow sensor yaw alignment" name="FLOW_ORIENT_YAW" documentation="Specifies the number of centi-degrees that the flow sensor is yawed relative to the vehicle. A sensor with its X-axis pointing to the right of the vehicle X axis has a positive yaw angle." user="Standard">
<field name="Range">-18000 +18000</field>
<field name="Increment">1</field>
</param>
</parameters>
<parameters name="MIS_">
<param humanName="Total mission commands" name="MIS_TOTAL" documentation="The number of mission mission items that has been loaded by the ground station. Do not change this manually." user="Advanced">
<field name="Range">0 32766</field>
<field name="Increment">1</field>
</param>
<param humanName="Mission Restart when entering Auto mode" name="MIS_RESTART" documentation="Controls mission starting point when entering Auto mode (either restart from beginning of mission or resume from last command run)">
<values>
<value code="0">Resume Mission</value>
<value code=" 1">Restart Mission</value>
</values>
</param>
</parameters>
<parameters name="RALLY_">
<param humanName="Rally Total" name="RALLY_TOTAL" documentation="Number of rally points currently loaded" user="Advanced">
</param>
<param humanName="Rally Limit" name="RALLY_LIMIT_KM" documentation="Maximum distance to rally point. If the closest rally point is more than this number of kilometers from the current position and the home location is closer than any of the rally points from the current position then do RTL to home rather than to the closest rally point. This prevents a leftover rally point from a different airfield being used accidentally. If this is set to 0 then the closest rally point is always used." user="Advanced">
<field name="Increment">0.1</field>
<field name="Units">kilometers</field>
</param>
<param humanName="Rally Include Home" name="RALLY_INCL_HOME" documentation="Controls if Home is included as a Rally point (i.e. as a safe landing place) for RTL" user="Standard">
<values>
<value code="0">DoNotIncludeHome</value>
<value code="1">IncludeHome</value>
</values>
</param>
</parameters>
<parameters name="EKF_">
<param humanName="Enable EKF1" name="EKF_ENABLE" documentation="This enables EKF1 to be disabled when using alternative algorithms. When disabling it, the alternate EKF2 estimator must be enabled by setting EK2_ENABLED = 1 and flight control algorithms must be set to use the alternative estimator by setting AHRS_EKF_TYPE = 2." user="Advanced">
<values>
<value code="0">Disabled</value>
<value code=" 1">Enabled</value>
</values>
</param>
<param humanName="GPS horizontal velocity measurement noise scaler" name="EKF_VELNE_NOISE" documentation="This is the scaler that is applied to the speed accuracy reported by the receiver to estimate the horizontal velocity observation noise. If the model of receiver used does not provide a speed accurcy estimate, then a speed accuracy of 1 is assumed. Increasing it reduces the weighting on these measurements." user="Advanced">
<field name="Range">0.05 5.0</field>
<field name="Increment">0.05</field>
</param>
<param humanName="GPS vertical velocity measurement noise scaler" name="EKF_VELD_NOISE" documentation="This is the scaler that is applied to the speed accuracy reported by the receiver to estimate the vertical velocity observation noise. If the model of receiver used does not provide a speed accurcy estimate, then a speed accuracy of 1 is assumed. Increasing it reduces the weighting on this measurement." user="Advanced">
<field name="Range">0.05 5.0</field>
<field name="Increment">0.05</field>
</param>
<param humanName="GPS horizontal position measurement noise (m)" name="EKF_POSNE_NOISE" documentation="This is the RMS value of noise in the GPS horizontal position measurements. Increasing it reduces the weighting on these measurements." user="Advanced">
<field name="Range">0.1 10.0</field>
<field name="Increment">0.1</field>
<field name="Units">meters</field>
</param>
<param humanName="Altitude measurement noise (m)" name="EKF_ALT_NOISE" documentation="This is the RMS value of noise in the altitude measurement. Increasing it reduces the weighting on this measurement." user="Advanced">
<field name="Range">0.1 10.0</field>
<field name="Increment">0.1</field>
<field name="Units">meters</field>
</param>
<param humanName="Magnetometer measurement noise (Gauss)" name="EKF_MAG_NOISE" documentation="This is the RMS value of noise in magnetometer measurements. Increasing it reduces the weighting on these measurements." user="Advanced">
<field name="Range">0.01 0.5</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Equivalent airspeed measurement noise (m/s)" name="EKF_EAS_NOISE" documentation="This is the RMS value of noise in equivalent airspeed measurements. Increasing it reduces the weighting on these measurements." user="Advanced">
<field name="Range">0.5 5.0</field>
<field name="Increment">0.1</field>
<field name="Units">m/s</field>
</param>
<param humanName="Wind velocity process noise (m/s^2)" name="EKF_WIND_PNOISE" documentation="This noise controls the growth of wind state error estimates. Increasing it makes wind estimation faster and noisier." user="Advanced">
<field name="Range">0.01 1.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Height rate to wind procss noise scaler" name="EKF_WIND_PSCALE" documentation="Increasing this parameter increases how rapidly the wind states adapt when changing altitude, but does make wind speed estimation noiser." user="Advanced">
<field name="Range">0.0 1.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Rate gyro noise (rad/s)" name="EKF_GYRO_PNOISE" documentation="This noise controls the growth of estimated error due to gyro measurement errors excluding bias. Increasing it makes the flter trust the gyro measurements less and other measurements more." user="Advanced">
<field name="Range">0.001 0.05</field>
<field name="Increment">0.001</field>
<field name="Units">rad/s</field>
</param>
<param humanName="Accelerometer noise (m/s^2)" name="EKF_ACC_PNOISE" documentation="This noise controls the growth of estimated error due to accelerometer measurement errors excluding bias. Increasing it makes the flter trust the accelerometer measurements less and other measurements more." user="Advanced">
<field name="Range">0.05 1.0</field>
<field name="Increment">0.01</field>
<field name="Units">m/s/s</field>
</param>
<param humanName="Rate gyro bias process noise (rad/s)" name="EKF_GBIAS_PNOISE" documentation="This noise controls the growth of gyro bias state error estimates. Increasing it makes rate gyro bias estimation faster and noisier." user="Advanced">
<field name="Range">0.0000001 0.00001</field>
<field name="Units">rad/s</field>
</param>
<param humanName="Accelerometer bias process noise (m/s^2)" name="EKF_ABIAS_PNOISE" documentation="This noise controls the growth of the vertical acelerometer bias state error estimate. Increasing it makes accelerometer bias estimation faster and noisier." user="Advanced">
<field name="Range">0.00001 0.001</field>
<field name="Units">m/s/s</field>
</param>
<param humanName="Earth magnetic field process noise (gauss/s)" name="EKF_MAGE_PNOISE" documentation="This noise controls the growth of earth magnetic field state error estimates. Increasing it makes earth magnetic field bias estimation faster and noisier." user="Advanced">
<field name="Range">0.0001 0.01</field>
<field name="Units">gauss/s</field>
</param>
<param humanName="Body magnetic field process noise (gauss/s)" name="EKF_MAGB_PNOISE" documentation="This noise controls the growth of body magnetic field state error estimates. Increasing it makes compass offset estimation faster and noisier." user="Advanced">
<field name="Range">0.0001 0.01</field>
<field name="Units">gauss/s</field>
</param>
<param humanName="GPS velocity measurement delay (msec)" name="EKF_VEL_DELAY" documentation="This is the number of msec that the GPS velocity measurements lag behind the inertial measurements." user="Advanced">
<field name="Range">0 500</field>
<field name="Increment">10</field>
<field name="Units">milliseconds</field>
</param>
<param humanName="GPS position measurement delay (msec)" name="EKF_POS_DELAY" documentation="This is the number of msec that the GPS position measurements lag behind the inertial measurements." user="Advanced">
<field name="Range">0 500</field>
<field name="Increment">10</field>
<field name="Units">milliseconds</field>
</param>
<param humanName="GPS mode control" name="EKF_GPS_TYPE" documentation="This parameter controls use of GPS measurements : 0 = use 3D velocity &amp; 2D position, 1 = use 2D velocity and 2D position, 2 = use 2D position, 3 = use no GPS (optical flow will be used if available)" user="Advanced">
<values>
<value code="0">GPS 3D Vel and 2D Pos</value>
<value code=" 1">GPS 2D vel and 2D pos</value>
<value code=" 2">GPS 2D pos</value>
<value code=" 3">No GPS use optical flow</value>
</values>
</param>
<param humanName="GPS velocity measurement gate size" name="EKF_VEL_GATE" documentation="This parameter sets the number of standard deviations applied to the GPS velocity measurement innovation consistency check. Decreasing it makes it more likely that good measurements willbe rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
<field name="Range">1 100</field>
<field name="Increment">1</field>
</param>
<param humanName="GPS position measurement gate size" name="EKF_POS_GATE" documentation="This parameter sets the number of standard deviations applied to the GPS position measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
<field name="Range">1 100</field>
<field name="Increment">1</field>
</param>
<param humanName="Height measurement gate size" name="EKF_HGT_GATE" documentation="This parameter sets the number of standard deviations applied to the height measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
<field name="Range">1 100</field>
<field name="Increment">1</field>
</param>
<param humanName="Magnetometer measurement gate size" name="EKF_MAG_GATE" documentation="This parameter sets the number of standard deviations applied to the magnetometer measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
<field name="Range">1 100</field>
<field name="Increment">1</field>
</param>
<param humanName="Airspeed measurement gate size" name="EKF_EAS_GATE" documentation="This parameter sets the number of standard deviations applied to the airspeed measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
<field name="Range">1 100</field>
<field name="Increment">1</field>
</param>
<param humanName="Magnetometer calibration mode" name="EKF_MAG_CAL" documentation="EKF_MAG_CAL = 0 enables calibration based on flying speed and altitude and is the default setting for Plane users. EKF_MAG_CAL = 1 enables calibration based on manoeuvre level and is the default setting for Copter and Rover users. EKF_MAG_CAL = 2 prevents magnetometer calibration regardless of flight condition and is recommended if in-flight magnetometer calibration is unreliable." user="Advanced">
<values>
<value code="0">Speed and Height</value>
<value code="1">Acceleration</value>
<value code="2">Never</value>
<value code="3">Always</value>
</values>
</param>
<param humanName="GPS glitch accel gate size (cm/s^2)" name="EKF_GLITCH_ACCEL" documentation="This parameter controls the maximum amount of difference in horizontal acceleration between the value predicted by the filter and the value measured by the GPS before the GPS position data is rejected. If this value is set too low, then valid GPS data will be regularly discarded, and the position accuracy will degrade. If this parameter is set too high, then large GPS glitches will cause large rapid changes in position." user="Advanced">
<field name="Range">100 500</field>
<field name="Increment">50</field>
</param>
<param humanName="GPS glitch radius gate size (m)" name="EKF_GLITCH_RAD" documentation="This parameter controls the maximum amount of difference in horizontal position (in m) between the value predicted by the filter and the value measured by the GPS before the long term glitch protection logic is activated and the filter states are reset to the new GPS position. Position steps smaller than this value will be temporarily ignored, but will then be accepted and the filter will move to the new position. Position steps larger than this value will be ignored initially, but the filter will then apply an offset to the GPS position measurement." user="Advanced">
<field name="Range">10 50</field>
<field name="Increment">5</field>
<field name="Units">meters</field>
</param>
<param humanName="Terrain Gradient % RMS" name="EKF_GND_GRADIENT" documentation="This parameter sets the RMS terrain gradient percentage assumed by the terrain height estimation. Terrain height can be estimated using optical flow and/or range finder sensor data if fitted. Smaller values cause the terrain height estimate to be slower to respond to changes in measurement. Larger values cause the terrain height estimate to be faster to respond, but also more noisy. Generally this value can be reduced if operating over very flat terrain and increased if operating over uneven terrain." user="Advanced">
<field name="Range">1 50</field>
<field name="Increment">1</field>
</param>
<param humanName="Optical flow measurement noise (rad/s)" name="EKF_FLOW_NOISE" documentation="This is the RMS value of noise and errors in optical flow measurements. Increasing it reduces the weighting on these measurements." user="Advanced">
<field name="Range">0.05 1.0</field>
<field name="Increment">0.05</field>
<field name="Units">rad/s</field>
</param>
<param humanName="Optical Flow measurement gate size" name="EKF_FLOW_GATE" documentation="This parameter sets the number of standard deviations applied to the optical flow innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
<field name="Range">1 100</field>
<field name="Increment">1</field>
</param>
<param humanName="Optical Flow measurement delay (msec)" name="EKF_FLOW_DELAY" documentation="This is the number of msec that the optical flow measurements lag behind the inertial measurements. It is the time from the end of the optical flow averaging period and does not include the time delay due to the 100msec of averaging within the flow sensor." user="Advanced">
<field name="Range">0 500</field>
<field name="Increment">10</field>
<field name="Units">milliseconds</field>
</param>
<param humanName="Range finder measurement gate size" name="EKF_RNG_GATE" documentation="This parameter sets the number of standard deviations applied to the range finder innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
<field name="Range">1 100</field>
<field name="Increment">1</field>
</param>
<param humanName="Maximum valid optical flow rate" name="EKF_MAX_FLOW" documentation="This parameter sets the magnitude maximum optical flow rate in rad/sec that will be accepted by the filter" user="Advanced">
<field name="Range">1.0 4.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Fallback strictness" name="EKF_FALLBACK" documentation="This parameter controls the conditions necessary to trigger a fallback to DCM and INAV. A value of 1 will cause fallbacks to occur on loss of GPS and other conditions. A value of 0 will trust the EKF more." user="Advanced">
<values>
<value code="0">Trust EKF more</value>
<value code=" 1">Trust DCM more</value>
</values>
</param>
<param humanName="Primary height source" name="EKF_ALT_SOURCE" documentation="This parameter controls which height sensor is used by the EKF during optical flow navigation (when EKF_GPS_TYPE = 3). A value of will 0 cause it to always use baro altitude. A value of 1 will cause it to use range finder if available." user="Advanced">
<values>
<value code="0">Use Baro</value>
<value code=" 1">Use Range Finder</value>
</values>
</param>
<param humanName="GPS preflight check" name="EKF_GPS_CHECK" documentation="1 byte bitmap of GPS preflight checks to perform. Set to 0 to bypass all checks. Set to 255 perform all checks. Set to 3 to check just the number of satellites and HDoP. Set to 31 for the most rigorous checks that will still allow checks to pass when the copter is moving, eg launch from a boat." user="Advanced">
<field name="Bitmask">0:NSats,1:HDoP,2:speed error,3:horiz pos error,4:yaw error,5:pos drift,6:vert speed,7:horiz speed</field>
</param>
</parameters>
<parameters name="EK2_">
<param humanName="Enable EKF2" name="EK2_ENABLE" documentation="This enables EKF2. Enabling EKF2 only makes the maths run, it does not mean it will be used for flight control. To use it for flight control set AHRS_EKF_TYPE=2. A reboot or restart will need to be performed after changing the value of EK2_ENABLE for it to take effect." user="Advanced">
<values>
<value code="0">Disabled</value>
<value code=" 1">Enabled</value>
</values>
</param>
<param humanName="GPS mode control" name="EK2_GPS_TYPE" documentation="This controls use of GPS measurements : 0 = use 3D velocity &amp; 2D position, 1 = use 2D velocity and 2D position, 2 = use 2D position, 3 = use no GPS (optical flow will be used if available)" user="Advanced">
<values>
<value code="0">GPS 3D Vel and 2D Pos</value>
<value code=" 1">GPS 2D vel and 2D pos</value>
<value code=" 2">GPS 2D pos</value>
<value code=" 3">No GPS use optical flow</value>
</values>
</param>
<param humanName="GPS horizontal velocity measurement noise (m/s)" name="EK2_VELNE_M_NSE" documentation="This sets a lower limit on the speed accuracy reported by the GPS receiver that is used to set horizontal velocity observation noise. If the model of receiver used does not provide a speed accurcy estimate, then the parameter value will be used. Increasing it reduces the weighting of the GPS horizontal velocity measurements." user="Advanced">
<field name="Range">0.05 5.0</field>
<field name="Increment">0.05</field>
<field name="Units">m/s</field>
</param>
<param humanName="GPS vertical velocity measurement noise (m/s)" name="EK2_VELD_M_NSE" documentation="This sets a lower limit on the speed accuracy reported by the GPS receiver that is used to set vertical velocity observation noise. If the model of receiver used does not provide a speed accurcy estimate, then the parameter value will be used. Increasing it reduces the weighting of the GPS vertical velocity measurements." user="Advanced">
<field name="Range">0.05 5.0</field>
<field name="Increment">0.05</field>
<field name="Units">m/s</field>
</param>
<param humanName="GPS velocity innovation gate size" name="EK2_VEL_I_GATE" documentation="This sets the percentage number of standard deviations applied to the GPS velocity measurement innovation consistency check. Decreasing it makes it more likely that good measurements willbe rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
<field name="Range">100 1000</field>
<field name="Increment">25</field>
</param>
<param humanName="GPS horizontal position measurement noise (m)" name="EK2_POSNE_M_NSE" documentation="This sets the GPS horizontal position observation noise. Increasing it reduces the weighting of GPS horizontal position measurements." user="Advanced">
<field name="Range">0.1 10.0</field>
<field name="Increment">0.1</field>
<field name="Units">m</field>
</param>
<param humanName="GPS position measurement gate size" name="EK2_POS_I_GATE" documentation="This sets the percentage number of standard deviations applied to the GPS position measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
<field name="Range">100 1000</field>
<field name="Increment">25</field>
</param>
<param humanName="GPS glitch radius gate size (m)" name="EK2_GLITCH_RAD" documentation="This controls the maximum radial uncertainty in position between the value predicted by the filter and the value measured by the GPS before the filter position and velocity states are reset to the GPS. Making this value larger allows the filter to ignore larger GPS glitches but also means that non-GPS errors such as IMU and compass can create a larger error in position before the filter is forced back to the GPS position." user="Advanced">
<field name="Range">10 100</field>
<field name="Increment">5</field>
<field name="Units">m</field>
</param>
<param humanName="GPS measurement delay (msec)" name="EK2_GPS_DELAY" documentation="This is the number of msec that the GPS measurements lag behind the inertial measurements." user="Advanced">
<field name="Range">0 250</field>
<field name="Increment">10</field>
<field name="Units">msec</field>
</param>
<param humanName="Primary height source" name="EK2_ALT_SOURCE" documentation="This parameter controls which height sensor is used by the EKF. If the selected optionn cannot be used, it will default to Baro as the primary height source. Setting 0 will use the baro altitude at all times. Setting 1 uses the range finder and is only available in combination with optical flow navigation (EK2_GPS_TYPE = 3). Setting 2 uses GPS." user="Advanced">
<values>
<value code="0">Use Baro</value>
<value code=" 1">Use Range Finder</value>
<value code=" 2">Use GPS</value>
</values>
</param>
<param humanName="Altitude measurement noise (m)" name="EK2_ALT_M_NSE" documentation="This is the RMS value of noise in the altitude measurement. Increasing it reduces the weighting of the baro measurement and will make the filter respond more slowly to baro measurement errors, but will make it more sensitive to GPS and accelerometer errors." user="Advanced">
<field name="Range">0.1 10.0</field>
<field name="Increment">0.1</field>
<field name="Units">m</field>
</param>
<param humanName="Height measurement gate size" name="EK2_HGT_I_GATE" documentation="This sets the percentage number of standard deviations applied to the height measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
<field name="Range">100 1000</field>
<field name="Increment">25</field>
</param>
<param humanName="Height measurement delay (msec)" name="EK2_HGT_DELAY" documentation="This is the number of msec that the Height measurements lag behind the inertial measurements." user="Advanced">
<field name="Range">0 250</field>
<field name="Increment">10</field>
<field name="Units">msec</field>
</param>
<param humanName="Magnetometer measurement noise (Gauss)" name="EK2_MAG_M_NSE" documentation="This is the RMS value of noise in magnetometer measurements. Increasing it reduces the weighting on these measurements." user="Advanced">
<field name="Range">0.01 0.5</field>
<field name="Increment">0.01</field>
<field name="Units">gauss</field>
</param>
<param humanName="Magnetometer calibration mode" name="EK2_MAG_CAL" documentation="EKF_MAG_CAL = 0 enables calibration when airborne and is the default setting for Plane users. EKF_MAG_CAL = 1 enables calibration when manoeuvreing. EKF_MAG_CAL = 2 prevents magnetometer calibration regardless of flight condition, is recommended if the external magnetic field is varying and is the default for rovers. EKF_MAG_CAL = 3 enables calibration when the first in-air field and yaw reset has completed and is the default for copters. EKF_MAG_CAL = 4 enables calibration all the time. This determines when the filter will use the 3-axis magnetometer fusion model that estimates both earth and body fixed magnetic field states. This model is only suitable for use when the external magnetic field environment is stable." user="Advanced">
<values>
<value code="0">When flying</value>
<value code="1">When manoeuvring</value>
<value code="2">Never</value>
<value code="3">After first climb yaw reset</value>
<value code="4">Always</value>
</values>
</param>
<param humanName="Magnetometer measurement gate size" name="EK2_MAG_I_GATE" documentation="This sets the percentage number of standard deviations applied to the magnetometer measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
<field name="Range">100 1000</field>
<field name="Increment">25</field>
</param>
<param humanName="Equivalent airspeed measurement noise (m/s)" name="EK2_EAS_M_NSE" documentation="This is the RMS value of noise in equivalent airspeed measurements used by planes. Increasing it reduces the weighting of airspeed measurements and will make wind speed estimates less noisy and slower to converge. Increasing also increases navigation errors when dead-reckoning without GPS measurements." user="Advanced">
<field name="Range">0.5 5.0</field>
<field name="Increment">0.1</field>
<field name="Units">m/s</field>
</param>
<param humanName="Airspeed measurement gate size" name="EK2_EAS_I_GATE" documentation="This sets the percentage number of standard deviations applied to the airspeed measurement innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
<field name="Range">100 1000</field>
<field name="Increment">25</field>
</param>
<param humanName="Range finder measurement noise (m)" name="EK2_RNG_M_NSE" documentation="This is the RMS value of noise in the range finder measurement. Increasing it reduces the weighting on this measurement." user="Advanced">
<field name="Range">0.1 10.0</field>
<field name="Increment">0.1</field>
<field name="Units">m</field>
</param>
<param humanName="Range finder measurement gate size" name="EK2_RNG_I_GATE" documentation="This sets the percentage number of standard deviations applied to the range finder innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
<field name="Range">100 1000</field>
<field name="Increment">25</field>
</param>
<param humanName="Maximum valid optical flow rate" name="EK2_MAX_FLOW" documentation="This sets the magnitude maximum optical flow rate in rad/sec that will be accepted by the filter" user="Advanced">
<field name="Range">1.0 4.0</field>
<field name="Increment">0.1</field>
<field name="Units">rad/s</field>
</param>
<param humanName="Optical flow measurement noise (rad/s)" name="EK2_FLOW_M_NSE" documentation="This is the RMS value of noise and errors in optical flow measurements. Increasing it reduces the weighting on these measurements." user="Advanced">
<field name="Range">0.05 1.0</field>
<field name="Increment">0.05</field>
<field name="Units">rad/s</field>
</param>
<param humanName="Optical Flow measurement gate size" name="EK2_FLOW_I_GATE" documentation="This sets the percentage number of standard deviations applied to the optical flow innovation consistency check. Decreasing it makes it more likely that good measurements will be rejected. Increasing it makes it more likely that bad measurements will be accepted." user="Advanced">
<field name="Range">100 1000</field>
<field name="Increment">25</field>
</param>
<param humanName="Optical Flow measurement delay (msec)" name="EK2_FLOW_DELAY" documentation="This is the number of msec that the optical flow measurements lag behind the inertial measurements. It is the time from the end of the optical flow averaging period and does not include the time delay due to the 100msec of averaging within the flow sensor." user="Advanced">
<field name="Range">0 250</field>
<field name="Increment">10</field>
<field name="Units">msec</field>
</param>
<param humanName="Rate gyro noise (rad/s)" name="EK2_GYRO_P_NSE" documentation="This control disturbance noise controls the growth of estimated error due to gyro measurement errors excluding bias. Increasing it makes the flter trust the gyro measurements less and other measurements more." user="Advanced">
<field name="Range">0.0001 0.1</field>
<field name="Increment">0.0001</field>
<field name="Units">rad/s</field>
</param>
<param humanName="Accelerometer noise (m/s^2)" name="EK2_ACC_P_NSE" documentation="This control disturbance noise controls the growth of estimated error due to accelerometer measurement errors excluding bias. Increasing it makes the flter trust the accelerometer measurements less and other measurements more." user="Advanced">
<field name="Range">0.01 1.0</field>
<field name="Increment">0.01</field>
<field name="Units">m/s/s</field>
</param>
<param humanName="Rate gyro bias stability (rad/s/s)" name="EK2_GBIAS_P_NSE" documentation="This state  process noise controls growth of the gyro delta angle bias state error estimate. Increasing it makes rate gyro bias estimation faster and noisier." user="Advanced">
<field name="Range">0.00001 0.001</field>
<field name="Units">rad/s/s</field>
</param>
<param humanName="Rate gyro scale factor stability (1/s)" name="EK2_GSCL_P_NSE" documentation="This noise controls the rate of gyro scale factor learning. Increasing it makes rate gyro scale factor estimation faster and noisier." user="Advanced">
<field name="Range">0.000001 0.001</field>
<field name="Units">1/s</field>
</param>
<param humanName="Accelerometer bias stability (m/s^3)" name="EK2_ABIAS_P_NSE" documentation="This noise controls the growth of the vertical accelerometer delta velocity bias state error estimate. Increasing it makes accelerometer bias estimation faster and noisier." user="Advanced">
<field name="Range">0.00001 0.001</field>
<field name="Units">m/s/s/s</field>
</param>
<param humanName="Magnetic field process noise (gauss/s)" name="EK2_MAG_P_NSE" documentation="This state process noise controls the growth of magnetic field state error estimates. Increasing it makes magnetic field bias estimation faster and noisier." user="Advanced">
<field name="Range">0.0001 0.01</field>
<field name="Units">gauss/s</field>
</param>
<param humanName="Wind velocity process noise (m/s^2)" name="EK2_WIND_P_NSE" documentation="This state process noise controls the growth of wind state error estimates. Increasing it makes wind estimation faster and noisier." user="Advanced">
<field name="Range">0.01 1.0</field>
<field name="Increment">0.1</field>
<field name="Units">m/s/s</field>
</param>
<param humanName="Height rate to wind procss noise scaler" name="EK2_WIND_PSCALE" documentation="This controls how much the process noise on the wind states is increased when gaining or losing altitude to take into account changes in wind speed and direction with altitude. Increasing this parameter increases how rapidly the wind states adapt when changing altitude, but does make wind velocity estimation noiser." user="Advanced">
<field name="Range">0.0 1.0</field>
<field name="Increment">0.1</field>
</param>
<param humanName="GPS preflight check" name="EK2_GPS_CHECK" documentation="This is a 1 byte bitmap controlling which GPS preflight checks are performed. Set to 0 to bypass all checks. Set to 255 perform all checks. Set to 3 to check just the number of satellites and HDoP. Set to 31 for the most rigorous checks that will still allow checks to pass when the copter is moving, eg launch from a boat." user="Advanced">
<field name="Bitmask">0:NSats,1:HDoP,2:speed error,3:horiz pos error,4:yaw error,5:pos drift,6:vert speed,7:horiz speed</field>
</param>
<param humanName="Bitmask of active IMUs" name="EK2_IMU_MASK" documentation="1 byte bitmap of IMUs to use in EKF2. A separate instance of EKF2 will be started for each IMU selected. Set to 1 to use the first IMU only (default), set to 2 to use the second IMU only, set to 3 to use the first and second IMU. Additional IMU's can be used up to a maximum of 6 if memory and processing resources permit. There may be insufficient memory and processing resources to run multiple instances. If this occurs EKF2 will fail to start." user="Advanced">
<field name="Range">1 127</field>
</param>
<param humanName="GPS accuracy check scaler (%)" name="EK2_CHECK_SCALE" documentation="This scales the thresholds that are used to check GPS accuracy before it is used by the EKF. A value of 100 is the default. Values greater than 100 increase and values less than 100 reduce the maximum GPS error the EKF will accept. A value of 200 will double the allowable GPS error." user="Advanced">
<field name="Range">50 200</field>
<field name="Units">%</field>
</param>
<param humanName="Non-GPS operation position uncertainty (m)" name="EK2_NOAID_M_NSE" documentation="This sets the amount of position variation that the EKF allows for when operating without external measurements (eg GPS or optical flow). Increasing this parameter makes the EKF attitude estimate less sensitive to vehicle manoeuvres but more sensitive to IMU errors." user="Advanced">
<field name="Range">0.5 50.0</field>
<field name="Units">m/s</field>
</param>
<param humanName="EKF sensor logging IMU mask" name="EK2_LOG_MASK" documentation="This sets the IMU mask of sensors to do full logging for" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="1">FirstIMU</value>
<value code="3">FirstAndSecondIMU</value>
<value code="7">AllIMUs</value>
</values>
</param>
</parameters>
<parameters name="RPM">
<param humanName="RPM type" name="RPM_TYPE" documentation="What type of RPM sensor is connected">
<values>
<value code="0">None</value>
<value code="1">PX4-PWM</value>
</values>
</param>
<param humanName="RPM scaling" name="RPM_SCALING" documentation="Scaling factor between sensor reading and RPM.">
<field name="Increment">0.001</field>
</param>
<param humanName="Maximum RPM" name="RPM_MAX" documentation="Maximum RPM to report">
<field name="Increment">1</field>
</param>
<param humanName="Minimum RPM" name="RPM_MIN" documentation="Minimum RPM to report">
<field name="Increment">1</field>
</param>
<param humanName="Minimum Quality" name="RPM_MIN_QUAL" documentation="Minimum data quality to be used">
<field name="Increment">0.1</field>
</param>
<param humanName="Second RPM type" name="RPM2_TYPE" documentation="What type of RPM sensor is connected">
<values>
<value code="0">None</value>
<value code="1">PX4-PWM</value>
</values>
</param>
<param humanName="RPM scaling" name="RPM2_SCALING" documentation="Scaling factor between sensor reading and RPM.">
<field name="Increment">0.001</field>
</param>
</parameters>
<parameters name="RSSI_">
<param humanName="RSSI Type" name="RSSI_TYPE" documentation="Radio Receiver RSSI type. If your radio receiver supports RSSI of some kind, set it here, then set its associated RSSI_XXXXX parameters, if any." user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">AnalogPin</value>
<value code="2">RCChannelPwmValue</value>
</values>
</param>
<param humanName="Receiver RSSI analog sensing pin" name="RSSI_ANA_PIN" documentation="This selects an analog pin where the receiver RSSI voltage will be read." user="Standard">
<values>
<value code="0">APM2 A0</value>
<value code="1">APM2 A1</value>
<value code="13">APM2 A13</value>
<value code="11">Pixracer</value>
<value code="13">Pixhawk ADC4</value>
<value code="14">Pixhawk ADC3</value>
<value code="15"> Pixhawk ADC6</value>
<value code="103">Pixhawk SBUS</value>
</values>
</param>
<param humanName="Receiver RSSI voltage low" name="RSSI_PIN_LOW" documentation="This is the voltage value that the radio receiver will put on the RSSI_ANA_PIN when the signal strength is the weakest. Since some radio receivers put out inverted values from what you might otherwise expect, this isn't necessarily a lower value than RSSI_PIN_HIGH. " user="Standard">
<field name="Range">0 5.0</field>
<field name="Increment">0.01</field>
<field name="Units">Volt</field>
</param>
<param humanName="Receiver RSSI voltage high" name="RSSI_PIN_HIGH" documentation="This is the voltage value that the radio receiver will put on the RSSI_ANA_PIN when the signal strength is the strongest. Since some radio receivers put out inverted values from what you might otherwise expect, this isn't necessarily a higher value than RSSI_PIN_LOW. " user="Standard">
<field name="Range">0 5.0</field>
<field name="Increment">0.01</field>
<field name="Units">Volt</field>
</param>
<param humanName="Receiver RSSI channel number" name="RSSI_CHANNEL" documentation="The channel number where RSSI will be output by the radio receiver (5 and above)." user="Standard">
<field name="Units"></field>
</param>
<param humanName="Receiver RSSI PWM low value" name="RSSI_CHAN_LOW" documentation="This is the PWM value that the radio receiver will put on the RSSI_CHANNEL when the signal strength is the weakest. Since some radio receivers put out inverted values from what you might otherwise expect, this isn't necessarily a lower value than RSSI_CHAN_HIGH. " user="Standard">
<field name="Range">0 2000</field>
<field name="Units">Microseconds</field>
</param>
<param humanName="Receiver RSSI PWM high value" name="RSSI_CHAN_HIGH" documentation="This is the PWM value that the radio receiver will put on the RSSI_CHANNEL when the signal strength is the strongest. Since some radio receivers put out inverted values from what you might otherwise expect, this isn't necessarily a higher value than RSSI_CHAN_LOW. " user="Standard">
<field name="Range">0 2000</field>
<field name="Units">Microseconds</field>
</param>
</parameters>
<parameters name="NTF_">
<param humanName="LED Brightness" name="NTF_LED_BRIGHT" documentation="Select the RGB LED brightness level. When USB is connected brightness will never be higher than low regardless of the setting." user="Advanced">
<values>
<value code="0">Off</value>
<value code="1">Low</value>
<value code="2">Medium</value>
<value code="3">High</value>
</values>
</param>
<param humanName="Buzzer enable" name="NTF_BUZZ_ENABLE" documentation="Enable or disable the buzzer. Only for Linux and PX4 based boards." user="Advanced">
<values>
<value code="0">Disable</value>
<value code="1">Enable</value>
</values>
</param>
</parameters>
<parameters name="EPM_">
<param humanName="EPM Enable/Disable" name="EPM_ENABLE" documentation="EPM enable/disable" user="Standard">
<values>
<value code="0">Disabled</value>
<value code=" 1">Enabled</value>
</values>
</param>
<param humanName="EPM Grab PWM" name="EPM_GRAB" documentation="PWM value sent to EPM to initiate grabbing the cargo" user="Advanced">
<field name="Range">1000 2000</field>
</param>
<param humanName="EPM Release PWM" name="EPM_RELEASE" documentation="PWM value sent to EPM to release the cargo" user="Advanced">
<field name="Range">1000 2000</field>
</param>
<param humanName="EPM Neutral PWM" name="EPM_NEUTRAL" documentation="PWM value sent to EPM when not grabbing or releasing" user="Advanced">
<field name="Range">1000 2000</field>
</param>
<param humanName="EPM Regrab interval" name="EPM_REGRAB" documentation="Time in seconds that gripper will regrab the cargo to ensure grip has not weakend" user="Advanced">
<values>
<value code="0">Never</value>
<value code=" 15">every 15 seconds</value>
<value code=" 30">every 30 seconds</value>
<value code=" 60">once per minute</value>
</values>
</param>
</parameters>
<parameters name="LGR_">
<param humanName="Landing Gear Servo Retracted PWM Value" name="LGR_SERVO_RTRACT" documentation="Servo PWM value when landing gear is retracted" user="Standard">
<field name="Range">1000 2000</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
<param humanName="Landing Gear Servo Deployed PWM Value" name="LGR_SERVO_DEPLOY" documentation="Servo PWM value when landing gear is deployed" user="Standard">
<field name="Range">1000 2000</field>
<field name="Increment">1</field>
<field name="Units">pwm</field>
</param>
</parameters>
<parameters name="IM_">
<param humanName="Stabilize Mode Collective Point 1" name="IM_STAB_COL_1" documentation="Helicopter's minimum collective pitch setting at zero throttle input in Stabilize mode" user="Standard">
<field name="Range">0 500</field>
<field name="Increment">1</field>
<field name="Units">Percent*10</field>
</param>
<param humanName="Stabilize Mode Collective Point 2" name="IM_STAB_COL_2" documentation="Helicopter's collective pitch setting at mid-low throttle input in Stabilize mode" user="Standard">
<field name="Range">0 500</field>
<field name="Increment">1</field>
<field name="Units">Percent*10</field>
</param>
<param humanName="Stabilize Mode Collective Point 3" name="IM_STAB_COL_3" documentation="Helicopter's collective pitch setting at mid-high throttle input in Stabilize mode" user="Standard">
<field name="Range">500 1000</field>
<field name="Increment">1</field>
<field name="Units">Percent*10</field>
</param>
<param humanName="Stabilize Mode Collective Point 4" name="IM_STAB_COL_4" documentation="Helicopter's maximum collective pitch setting at full throttle input in Stabilize mode" user="Standard">
<field name="Range">500 1000</field>
<field name="Increment">1</field>
<field name="Units">Percent*10</field>
</param>
<param humanName="Acro Mode Collective Expo" name="IM_ACRO_COL_EXP" documentation="Used to soften collective pitch inputs near center point in Acro mode." user="Advanced">
<values>
<value code="0">Disabled</value>
<value code="0.1">Very Low</value>
<value code="0.2">Low</value>
<value code="0.3">Medium</value>
<value code="0.4">High</value>
<value code="0.5">Very High</value>
</values>
</param>
</parameters>
<parameters name="WPNAV_">
<param humanName="Waypoint Horizontal Speed Target" name="WPNAV_SPEED" documentation="Defines the speed in cm/s which the aircraft will attempt to maintain horizontally during a WP mission" user="Standard">
<field name="Range">0 2000</field>
<field name="Increment">50</field>
<field name="Units">cm/s</field>
</param>
<param humanName="Waypoint Radius" name="WPNAV_RADIUS" documentation="Defines the distance from a waypoint, that when crossed indicates the wp has been hit." user="Standard">
<field name="Range">100 1000</field>
<field name="Increment">1</field>
<field name="Units">cm</field>
</param>
<param humanName="Waypoint Climb Speed Target" name="WPNAV_SPEED_UP" documentation="Defines the speed in cm/s which the aircraft will attempt to maintain while climbing during a WP mission" user="Standard">
<field name="Range">0 1000</field>
<field name="Increment">50</field>
<field name="Units">cm/s</field>
</param>
<param humanName="Waypoint Descent Speed Target" name="WPNAV_SPEED_DN" documentation="Defines the speed in cm/s which the aircraft will attempt to maintain while descending during a WP mission" user="Standard">
<field name="Range">0 500</field>
<field name="Increment">10</field>
<field name="Units">cm/s</field>
</param>
<param humanName="Loiter Horizontal Maximum Speed" name="WPNAV_LOIT_SPEED" documentation="Defines the maximum speed in cm/s which the aircraft will travel horizontally while in loiter mode" user="Standard">
<field name="Range">0 2000</field>
<field name="Increment">50</field>
<field name="Units">cm/s</field>
</param>
<param humanName="Waypoint Acceleration " name="WPNAV_ACCEL" documentation="Defines the horizontal acceleration in cm/s/s used during missions" user="Standard">
<field name="Range">50 500</field>
<field name="Increment">10</field>
<field name="Units">cm/s/s</field>
</param>
<param humanName="Waypoint Vertical Acceleration" name="WPNAV_ACCEL_Z" documentation="Defines the vertical acceleration in cm/s/s used during missions" user="Standard">
<field name="Range">50 500</field>
<field name="Increment">10</field>
<field name="Units">cm/s/s</field>
</param>
<param humanName="Loiter maximum jerk" name="WPNAV_LOIT_JERK" documentation="Loiter maximum jerk in cm/s/s/s" user="Advanced">
<field name="Range">500 5000</field>
<field name="Increment">1</field>
<field name="Units">cm/s/s/s</field>
</param>
<param humanName="Loiter maximum acceleration" name="WPNAV_LOIT_MAXA" documentation="Loiter maximum acceleration in cm/s/s.  Higher values cause the copter to accelerate and stop more quickly." user="Advanced">
<field name="Range">100 981</field>
<field name="Increment">1</field>
<field name="Units">cm/s/s</field>
</param>
<param humanName="Loiter minimum acceleration" name="WPNAV_LOIT_MINA" documentation="Loiter minimum acceleration in cm/s/s. Higher values stop the copter more quickly when the stick is centered, but cause a larger jerk when the copter stops." user="Advanced">
<field name="Range">100 981</field>
<field name="Increment">1</field>
<field name="Units">cm/s/s</field>
</param>
</parameters>
<parameters name="CIRCLE_">
<param humanName="Circle Radius" name="CIRCLE_RADIUS" documentation="Defines the radius of the circle the vehicle will fly when in Circle flight mode" user="Standard">
<field name="Range">0 10000</field>
<field name="Increment">100</field>
<field name="Units">cm</field>
</param>
<param humanName="Circle rate" name="CIRCLE_RATE" documentation="Circle mode's turn rate in deg/sec.  Positive to turn clockwise, negative for counter clockwise" user="Standard">
<field name="Range">-90 90</field>
<field name="Increment">1</field>
<field name="Units">deg/s</field>
</param>
</parameters>
<parameters name="ATC_">
<param humanName="Yaw target slew rate" name="ATC_SLEW_YAW" documentation="Maximum rate the yaw target can be updated in Loiter, RTL, Auto flight modes" user="Advanced">
<field name="Range">500 18000</field>
<field name="Increment">100</field>
<field name="Units">Centi-Degrees/Sec</field>
</param>
<param humanName="Acceleration Max for Yaw" name="ATC_ACCEL_Y_MAX" documentation="Maximum acceleration in yaw axis" user="Advanced">
<field name="Range">0 72000</field>
<values>
<value code="0">Disabled</value>
<value code=" 18000">Slow</value>
<value code=" 36000">Medium</value>
<value code=" 54000">Fast</value>
</values>
<field name="Increment">1000</field>
<field name="Units">Centi-Degrees/Sec/Sec</field>
</param>
<param humanName="Rate Feedforward Enable" name="ATC_RATE_FF_ENAB" documentation="Controls whether body-frame rate feedfoward is enabled or disabled" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code=" 1">Enabled</value>
</values>
</param>
<param humanName="Acceleration Max for Roll" name="ATC_ACCEL_R_MAX" documentation="Maximum acceleration in roll axis" user="Advanced">
<field name="Range">0 180000</field>
<values>
<value code="0">Disabled</value>
<value code=" 72000">Slow</value>
<value code=" 108000">Medium</value>
<value code=" 162000">Fast</value>
</values>
<field name="Increment">1000</field>
<field name="Units">Centi-Degrees/Sec/Sec</field>
</param>
<param humanName="Acceleration Max for Pitch" name="ATC_ACCEL_P_MAX" documentation="Maximum acceleration in pitch axis" user="Advanced">
<field name="Range">0 180000</field>
<values>
<value code="0">Disabled</value>
<value code=" 72000">Slow</value>
<value code=" 108000">Medium</value>
<value code=" 162000">Fast</value>
</values>
<field name="Increment">1000</field>
<field name="Units">Centi-Degrees/Sec/Sec</field>
</param>
<param humanName="Angle Boost" name="ATC_ANGLE_BOOST" documentation="Angle Boost increases output throttle as the vehicle leans to reduce loss of altitude" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code=" 1">Enabled</value>
</values>
</param>
<param humanName="Roll axis angle controller P gain" name="ATC_ANG_RLL_P" documentation="Roll axis angle controller P gain.  Converts the error between the desired roll angle and actual angle to a desired roll rate" user="Standard">
<field name="Range">3.000 12.000</field>
</param>
<param humanName="Pitch axis angle controller P gain" name="ATC_ANG_PIT_P" documentation="Pitch axis angle controller P gain.  Converts the error between the desired pitch angle and actual angle to a desired pitch rate" user="Standard">
<field name="Range">3.000 12.000</field>
</param>
<param humanName="Yaw axis angle controller P gain" name="ATC_ANG_YAW_P" documentation="Yaw axis angle controller P gain.  Converts the error between the desired yaw angle and actual angle to a desired yaw rate" user="Standard">
<field name="Range">3.000 6.000</field>
</param>
<param humanName="Angle Limit (to maintain altitude) Time Constant" name="ATC_ANG_LIM_TC" documentation="Angle Limit (to maintain altitude) Time Constant" user="Advanced">
<field name="Range">0.5 10.0</field>
</param>
<param humanName="Roll axis rate controller P gain" name="ATC_RAT_RLL_P" documentation="Roll axis rate controller P gain.  Converts the difference between desired roll rate and actual roll rate into a motor speed output" user="Standard">
<field name="Range">0.08 0.30</field>
<field name="Increment">0.005</field>
</param>
<param humanName="Roll axis rate controller I gain" name="ATC_RAT_RLL_I" documentation="Roll axis rate controller I gain.  Corrects long-term difference in desired roll rate vs actual roll rate" user="Standard">
<field name="Range">0.01 0.5</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Roll axis rate controller I gain maximum" name="ATC_RAT_RLL_IMAX" documentation="Roll axis rate controller I gain maximum.  Constrains the maximum motor output that the I gain will output" user="Standard">
<field name="Range">0 1</field>
<field name="Increment">0.01</field>
<field name="Units">Percent</field>
</param>
<param humanName="Roll axis rate controller D gain" name="ATC_RAT_RLL_D" documentation="Roll axis rate controller D gain.  Compensates for short-term change in desired roll rate vs actual roll rate" user="Standard">
<field name="Range">0.0 0.02</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Roll axis rate conroller input frequency in Hz" name="ATC_RAT_RLL_FILT" documentation="Roll axis rate conroller input frequency in Hz">
<field name="Range">1 100</field>
<field name="Increment">1</field>
<field name="Units">Hz</field>
</param>
<param humanName="Pitch axis rate controller P gain" name="ATC_RAT_PIT_P" documentation="Pitch axis rate controller P gain.  Converts the difference between desired pitch rate and actual pitch rate into a motor speed output" user="Standard">
<field name="Range">0.08 0.30</field>
<field name="Increment">0.005</field>
</param>
<param humanName="Pitch axis rate controller I gain" name="ATC_RAT_PIT_I" documentation="Pitch axis rate controller I gain.  Corrects long-term difference in desired pitch rate vs actual pitch rate" user="Standard">
<field name="Range">0.01 0.5</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Pitch axis rate controller I gain maximum" name="ATC_RAT_PIT_IMAX" documentation="Pitch axis rate controller I gain maximum.  Constrains the maximum motor output that the I gain will output" user="Standard">
<field name="Range">0 1</field>
<field name="Increment">0.01</field>
<field name="Units">Percent</field>
</param>
<param humanName="Pitch axis rate controller D gain" name="ATC_RAT_PIT_D" documentation="Pitch axis rate controller D gain.  Compensates for short-term change in desired pitch rate vs actual pitch rate" user="Standard">
<field name="Range">0.0 0.02</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Pitch axis rate conroller input frequency in Hz" name="ATC_RAT_PIT_FILT" documentation="Pitch axis rate conroller input frequency in Hz">
<field name="Range">1 100</field>
<field name="Increment">1</field>
<field name="Units">Hz</field>
</param>
<param humanName="Yaw axis rate controller P gain" name="ATC_RAT_YAW_P" documentation="Yaw axis rate controller P gain.  Converts the difference between desired yaw rate and actual yaw rate into a motor speed output" user="Standard">
<field name="Range">0.10 0.50</field>
<field name="Increment">0.005</field>
</param>
<param humanName="Yaw axis rate controller I gain" name="ATC_RAT_YAW_I" documentation="Yaw axis rate controller I gain.  Corrects long-term difference in desired yaw rate vs actual yaw rate" user="Standard">
<field name="Range">0.010 0.05</field>
<field name="Increment">0.01</field>
</param>
<param humanName="Yaw axis rate controller I gain maximum" name="ATC_RAT_YAW_IMAX" documentation="Yaw axis rate controller I gain maximum.  Constrains the maximum motor output that the I gain will output" user="Standard">
<field name="Range">0 1</field>
<field name="Increment">0.01</field>
<field name="Units">Percent</field>
</param>
<param humanName="Yaw axis rate controller D gain" name="ATC_RAT_YAW_D" documentation="Yaw axis rate controller D gain.  Compensates for short-term change in desired yaw rate vs actual yaw rate" user="Standard">
<field name="Range">0.000 0.02</field>
<field name="Increment">0.001</field>
</param>
<param humanName="Yaw axis rate conroller input frequency in Hz" name="ATC_RAT_YAW_FILT" documentation="Yaw axis rate conroller input frequency in Hz">
<field name="Range">1 100</field>
<field name="Increment">1</field>
<field name="Units">Hz</field>
</param>
<param humanName="Throttle Mix Minimum" name="ATC_THR_MIX_MIN" documentation="Throttle vs attitude control prioritisation used when landing (higher values mean we prioritise attitude control over throttle)" user="Advanced">
<field name="Range">0.1 0.25</field>
</param>
<param humanName="Throttle Mix Maximum" name="ATC_THR_MIX_MAX" documentation="Throttle vs attitude control prioritisation used during active flight (higher values mean we prioritise attitude control over throttle)" user="Advanced">
<field name="Range">0.5 0.9</field>
</param>
</parameters>
<parameters name="POSCON_">
<param humanName="XY Acceleration filter cutoff frequency" name="POSCON__ACC_XY_FILT" documentation="Lower values will slow the response of the navigation controller and reduce twitchiness" user="Advanced">
<field name="Range">0.5 5</field>
<field name="Increment">0.1</field>
<field name="Units">Hz</field>
</param>
</parameters>
<parameters name="SPRAY_">
<param humanName="Sprayer enable/disable" name="SPRAY_ENABLE" documentation="Allows you to enable (1) or disable (0) the sprayer" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Pump speed" name="SPRAY_PUMP_RATE" documentation="Desired pump speed when travelling 1m/s expressed as a percentage" user="Standard">
<field name="Range">0 100</field>
<field name="Units">percentage</field>
</param>
<param humanName="Spinner rotation speed" name="SPRAY_SPINNER" documentation="Spinner's rotation speed in PWM (a higher rate will disperse the spray over a wider area horizontally)" user="Standard">
<field name="Range">1000 2000</field>
<field name="Units">ms</field>
</param>
<param humanName="Speed minimum" name="SPRAY_SPEED_MIN" documentation="Speed minimum at which we will begin spraying" user="Standard">
<field name="Range">0 1000</field>
<field name="Units">cm/s</field>
</param>
<param humanName="Pump speed minimum" name="SPRAY_PUMP_MIN" documentation="Minimum pump speed expressed as a percentage" user="Standard">
<field name="Range">0 100</field>
<field name="Units">percentage</field>
</param>
</parameters>
<parameters name="FENCE_">
<param humanName="Fence enable/disable" name="FENCE_ENABLE" documentation="Allows you to enable (1) or disable (0) the fence functionality" user="Standard">
<values>
<value code="0">Disabled</value>
<value code="1">Enabled</value>
</values>
</param>
<param humanName="Fence Type" name="FENCE_TYPE" documentation="Enabled fence types held as bitmask" user="Standard">
<values>
<value code="0">None</value>
<value code="1">Altitude</value>
<value code="2">Circle</value>
<value code="3">Altitude and Circle</value>
<value code="4">Polygon</value>
<value code="5">Altitude and Polygon</value>
<value code="6">Circle and Polygon</value>
<value code="7">All</value>
</values>
</param>
<param humanName="Fence Action" name="FENCE_ACTION" documentation="What action should be taken when fence is breached" user="Standard">
<values>
<value code="0">Report Only</value>
<value code="1">RTL or Land</value>
</values>
</param>
<param humanName="Fence Maximum Altitude" name="FENCE_ALT_MAX" documentation="Maximum altitude allowed before geofence triggers" user="Standard">
<field name="Range">10 1000</field>
<field name="Increment">1</field>
<field name="Units">Meters</field>
</param>
<param humanName="Circular Fence Radius" name="FENCE_RADIUS" documentation="Circle fence radius which when breached will cause an RTL" user="Standard">
<field name="Range">30 10000</field>
<field name="Units">Meters</field>
</param>
<param humanName="Fence Margin" name="FENCE_MARGIN" documentation="Distance that autopilot's should maintain from the fence to avoid a breach" user="Standard">
<field name="Range">1 10</field>
<field name="Units">Meters</field>
</param>
</parameters>
<parameters name="AVOID_">
<param humanName="Avoidance control enable/disable" name="AVOID_ENABLE" documentation="Enabled/disable stopping at fence" user="Standard">
<values>
<value code="0">None</value>
<value code="1">StopAtFence</value>
</values>
</param>
</parameters>
<parameters name="H_">
<param humanName="Servo 1 Position" name="H_SV1_POS" documentation="Angular location of swash servo #1" user="Standard">
<field name="Range">-180 180</field>
<field name="Increment">1</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Servo 2 Position" name="H_SV2_POS" documentation="Angular location of swash servo #2" user="Standard">
<field name="Range">-180 180</field>
<field name="Increment">1</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Servo 3 Position" name="H_SV3_POS" documentation="Angular location of swash servo #3" user="Standard">
<field name="Range">-180 180</field>
<field name="Increment">1</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Tail Type" name="H_TAIL_TYPE" documentation="Tail type selection.  Simpler yaw controller used if external gyro is selected" user="Standard">
<values>
<value code="0">Servo only</value>
<value code="1">Servo with ExtGyro</value>
<value code="2">DirectDrive VarPitch</value>
<value code="3">DirectDrive FixedPitch</value>
</values>
</param>
<param humanName="Swash Type" name="H_SWASH_TYPE" documentation="Swash Type Setting - either 3-servo CCPM or H1 Mechanical Mixing" user="Standard">
<values>
<value code="0">3-Servo CCPM</value>
<value code=" 1">H1 Mechanical Mixing</value>
</values>
</param>
<param humanName="External Gyro Gain" name="H_GYR_GAIN" documentation="PWM sent to external gyro on ch7 when tail type is Servo w/ ExtGyro" user="Standard">
<field name="Range">0 1000</field>
<field name="Increment">1</field>
<field name="Units">PWM</field>
</param>
<param humanName="Swashplate Phase Angle Compensation" name="H_PHANG" documentation="Phase angle correction for rotor head.  If pitching the swash forward induces a roll, this can be correct the problem" user="Advanced">
<field name="Range">-90 90</field>
<field name="Increment">1</field>
<field name="Units">Degrees</field>
</param>
<param humanName="Collective-Yaw Mixing" name="H_COLYAW" documentation="Feed-forward compensation to automatically add rudder input when collective pitch is increased. Can be positive or negative depending on mechanics.">
<field name="Range">-10 10</field>
<field name="Increment">0.1</field>
</param>
<param humanName="Flybar Mode Selector" name="H_FLYBAR_MODE" documentation="Flybar present or not.  Affects attitude controller used during ACRO flight mode" user="Standard">
<values>
<value code="0">NoFlybar</value>
<value code="1">Flybar</value>
</values>
</param>
<param humanName="Direct Drive VarPitch Tail ESC speed" name="H_TAIL_SPEED" documentation="Direct Drive VarPitch Tail ESC speed.  Only used when TailType is DirectDrive VarPitch" user="Standard">
<field name="Range">0 1000</field>
<field name="Increment">1</field>
<field name="Units">PWM</field>
</param>
<param humanName="External Gyro Gain for ACRO" name="H_GYR_GAIN_ACRO" documentation="PWM sent to external gyro on ch7 when tail type is Servo w/ ExtGyro. A value of zero means to use H_GYR_GAIN" user="Standard">
<field name="Range">0 1000</field>
<field name="Increment">1</field>
<field name="Units">PWM</field>
</param>
<param humanName="RSC PWM output miniumum" name="H_RSC_PWM_MIN" documentation="This sets the PWM output on RSC channel for maximum rotor speed" user="Standard">
<field name="Range">0 2000</field>
</param>
<param humanName="RSC PWM output maxiumum" name="H_RSC_PWM_MAX" documentation="This sets the PWM output on RSC channel for miniumum rotor speed" user="Standard">
<field name="Range">0 2000</field>
</param>
<param humanName="RSC PWM reversal" name="H_RSC_PWM_REV" documentation="This controls reversal of the RSC channel output" user="Standard">
<values>
<value code="-1">Reversed</value>
<value code="1">Normal</value>
</values>
</param>
</parameters>
<parameters name="MOT_">
<param humanName="Matrix Yaw Min" name="MOT_YAW_HEADROOM" documentation="Yaw control is given at least this pwm range" user="Advanced">
<field name="Range">0 500</field>
<field name="Units">pwm</field>
</param>
<param humanName="Thrust Curve Expo" name="MOT_THST_EXPO" documentation="Motor thrust curve exponent (from 0 for linear to 1.0 for second order curve)" user="Advanced">
<field name="Range">0.25 0.8</field>
</param>
<param humanName="Motor Spin maximum" name="MOT_SPIN_MAX" documentation="Point at which the thrust saturates expressed as a number from 0 to 1 in the entire output range" user="Advanced">
<field name="Values">0.9:Low, 0.95:Default, 1.0:High</field>
</param>
<param humanName="Battery voltage compensation maximum voltage" name="MOT_BAT_VOLT_MAX" documentation="Battery voltage compensation maximum voltage (voltage above this will have no additional scaling effect on thrust).  Recommend 4.4 * cell count, 0 = Disabled" user="Advanced">
<field name="Range">6 35</field>
<field name="Units">Volts</field>
</param>
<param humanName="Battery voltage compensation minimum voltage" name="MOT_BAT_VOLT_MIN" documentation="Battery voltage compensation minimum voltage (voltage below this will have no additional scaling effect on thrust).  Recommend 3.5 * cell count, 0 = Disabled" user="Advanced">
<field name="Range">6 35</field>
<field name="Units">Volts</field>
</param>
<param humanName="Motor Current Max" name="MOT_BAT_CURR_MAX" documentation="Maximum current over which maximum throttle is limited (0 = Disabled)" user="Advanced">
<field name="Range">0 200</field>
<field name="Units">Amps</field>
</param>
<param humanName="Output PWM type" name="MOT_PWM_TYPE" documentation="This selects the output PWM type, allowing for normal PWM continuous output or OneShot125" user="Advanced">
<values>
<value code="0">Normal</value>
<value code="1">OneShot</value>
<value code="2">OneShot125</value>
</values>
</param>
<param humanName="PWM output miniumum" name="MOT_PWM_MIN" documentation="This sets the min PWM output value that will ever be output to the motors, 0 = use input RC3_MIN" user="Advanced">
<field name="Range">0 2000</field>
</param>
<param humanName="PWM output maximum" name="MOT_PWM_MAX" documentation="This sets the max PWM value that will ever be output to the motors, 0 = use input RC3_MAX" user="Advanced">
<field name="Range">0 2000</field>
</param>
<param humanName="Motor Spin minimum" name="MOT_SPIN_MIN" documentation="Point at which the thrust starts expressed as a number from 0 to 1 in the entire output range" user="Advanced">
<field name="Values">0.0:Low, 0.15:Default, 0.3:High</field>
</param>
<param humanName="Motor Spin armed" name="MOT_SPIN_ARM" documentation="Point at which the motors start to spin expressed as a number from 0 to 1 in the entire output range" user="Advanced">
<field name="Values">0.0:Low, 0.1:Default, 0.2:High</field>
</param>
<param humanName="Motor Current Max Time Constant" name="MOT_BAT_CURR_TC" documentation="Time constant used to limit the maximum current" user="Advanced">
<field name="Range">0 10</field>
<field name="Units">Seconds</field>
</param>
<param humanName="Thrust Hover Value" name="MOT_THST_HOVER" documentation="Motor thrust needed to hover expressed as a number from 0 to 1" user="Advanced">
<field name="Range">0.25 0.8</field>
</param>
<param humanName="Hover Value Learning" name="MOT_HOVER_LEARN" documentation="Enable/Disable automatic learning of hover throttle" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code=" 1">Learn</value>
<value code=" 2">LearnAndSave</value>
</values>
</param>
</parameters>
<parameters name="PLND_">
<param humanName="Precision Land enabled/disabled and behaviour" name="PLND_ENABLED" documentation="Precision Land enabled/disabled and behaviour" user="Advanced">
<values>
<value code="0">Disabled</value>
<value code=" 1">Enabled Always Land</value>
<value code=" 2">Enabled Strict</value>
</values>
</param>
<param humanName="Precision Land Type" name="PLND_TYPE" documentation="Precision Land Type" user="Advanced">
<values>
<value code="0">None</value>
<value code=" 1">CompanionComputer</value>
<value code=" 2">IRLock</value>
</values>
</param>
</parameters>
</libraries></paramfile>
