<xml>

    <object name="StabilizationSettings" singleinstance="true" settings="true" category="Control">
        <description>PID settings used by the Stabilization module to combine the @ref AttitudeActual and @ref AttitudeDesired to compute @ref ActuatorDesired</description>

	<!-- Note: The number of elements here must match the number of available flight mode switch positions -->
	<field name="FlightModeMap" units="" type="enum"
	    options="Bank1,Bank2,Bank3"
	    elements="6"
	    defaultvalue="Bank1,Bank1,Bank1,Bank1,Bank1,Bank1"/>

	<field name="VbarSensitivity" units="frac" type="float" elementnames="Roll,Pitch,Yaw" defaultvalue="0.5,0.5,0.5"/>
	<field name="VbarRollPI" units="1/(deg/s)" type="float" elementnames="Kp,Ki" defaultvalue="0.005,0.002"/>
	<field name="VbarPitchPI" units="1/(deg/s)" type="float" elementnames="Kp,Ki" defaultvalue="0.005,0.002"/>
	<field name="VbarYawPI" units="1/(deg/s)" type="float" elementnames="Kp,Ki" defaultvalue="0.005,0.002"/>
	<field name="VbarTau" units="sec" type="float" elements="1" defaultvalue="0.5"/>
	<field name="VbarGyroSuppress" units="%" type="int8" elements="1" defaultvalue="30"/>
	<field name="VbarPiroComp" units="" type="enum" elements="1" options="False,True" defaultvalue="False"/>
	<field name="VbarMaxAngle" units="deg" type="uint8" elements="1" defaultvalue="10"/>

	<field name="GyroTau" units="" type="float" elements="1" defaultvalue="0.003"/>
	<field name="DerivativeCutoff" units="Hz" type="uint8" elements="1" defaultvalue="20"/>
	<field name="DerivativeGamma" units="" type="float" elements="1" defaultvalue="1"/>

	<field name="AxisLockKp" units="" type="float" elements="1" defaultvalue="2.5"/>
	<field name="MaxAxisLock" units="deg" type="uint8" elements="1" defaultvalue="30"/>
	<field name="MaxAxisLockRate" units="deg/s" type="uint8" elements="1" defaultvalue="2"/>

	<field name="WeakLevelingKp" units="(deg/s)/deg" type="float" elements="1" defaultvalue="0.1"/>
	<field name="MaxWeakLevelingRate" units="deg/s" type="uint8" elements="1" defaultvalue="5"/>

	<field name="RattitudeModeTransition" units="%" type="uint8" elements="1" defaultvalue="80"/>

	<field name="CruiseControlMinThrust"           units="%"   type="int8"  elements="1" defaultvalue="5"/>
	<field name="CruiseControlMaxThrust"           units="%"   type="uint8" elements="1" defaultvalue="100"/>
	<field name="CruiseControlMaxAngle"            units="deg" type="uint8" elements="1" defaultvalue="105"/>
	<field name="CruiseControlMaxPowerFactor"      units="x"   type="float" elements="1" defaultvalue="3.0"/>
	<field name="CruiseControlPowerTrim"           units="%"   type="float" elements="1" defaultvalue="100.0"/>
	<field name="CruiseControlPowerDelayComp"      units="sec" type="float" elements="1" defaultvalue="0.25"/>
	<field name="CruiseControlFlightModeSwitchPosEnable" units="" type="enum" elements="6" options="False,True" defaultvalue="False"/>

	<field name="CruiseControlInvertedThrustReversing" units="" type="enum" elements="1" options="Unreversed,Reversed" defaultvalue="Unreversed"/>
	<field name="CruiseControlInvertedPowerOutput"     units="" type="enum" elements="1" options="Zero,Normal,Boosted" defaultvalue="Zero"/>

	<field name="LowThrottleZeroIntegral" units="" type="enum" elements="1" options="False,True" defaultvalue="True"/>

	<field name="ScaleToAirspeed" units="m/s" type="float" elements="1" defaultvalue="0"/>
	<field name="ScaleToAirspeedLimits" units="" type="float" elementnames="Min,Max" defaultvalue="0.05,3"/>
	<field name="FlightModeAssistMap" units="" type="enum" options="None,GPSAssist" elements="6" defaultvalue="None,None,None,None,None,None" />

	<field name="MeasureBasedDTerm" units="" type="enum" elements="1" options="False,True" defaultvalue="True"/>

	<access gcs="readwrite" flight="readwrite"/>
	<telemetrygcs acked="true" updatemode="onchange" period="0"/>
	<telemetryflight acked="true" updatemode="onchange" period="0"/>
	<logging updatemode="manual" period="0"/>
    </object>
</xml>
