<xml>
    <object name="ManualControlSettings" singleinstance="true" settings="true">
        <description>Settings to indicate how to decode receiver input by @ref ManualControlModule.</description>
        <field name="ChannelGroups" units="Channel Group" type="enum" 
	       elementnames="Throttle,Roll,Pitch,Yaw,FlightMode,Collective,Accessory0,Accessory1,Accessory2"
	       options="PWM,PPM,DSM (MainPort),DSM (FlexiPort),S.Bus,GCS,OPLink,None" defaultvalue="None"/>
	<field name="ChannelNumber" units="channel" type="uint8" defaultvalue="0"
	       elementnames="Throttle,Roll,Pitch,Yaw,FlightMode,Collective,Accessory0,Accessory1,Accessory2"/>
	<field name="ChannelMin" units="us" type="int16" defaultvalue="1000"
	       elementnames="Throttle,Roll,Pitch,Yaw,FlightMode,Collective,Accessory0,Accessory1,Accessory2"/>
	<field name="ChannelNeutral" units="us" type="int16" defaultvalue="1500"
	       elementnames="Throttle,Roll,Pitch,Yaw,FlightMode,Collective,Accessory0,Accessory1,Accessory2"/>
	<field name="ChannelMax" units="us" type="int16" defaultvalue="2000"
	       elementnames="Throttle,Roll,Pitch,Yaw,FlightMode,Collective,Accessory0,Accessory1,Accessory2"/>
	<field name="ResponseTime" units="ms" type="uint16" defaultvalue="0"
	       elementnames="Roll,Pitch,Yaw,Accessory0,Accessory1,Accessory2"/>

        <field name="Deadband" units="%" type="float" elements="1" defaultvalue="0"/>

        <field name="Arming" units="" type="enum" elements="1" options="Always Disarmed,Always Armed,Roll Left,Roll Right,Pitch Forward,Pitch Aft,Yaw Left,Yaw Right" defaultvalue="Always Disarmed"/>

	<!-- Note these options should be identical to those in StabilizationDesired.StabilizationMode -->
        <field name="Stabilization1Settings" units="" type="enum"
		elementnames="Roll,Pitch,Yaw"
		options="None,Rate,Attitude,AxisLock,WeakLeveling,VirtualBar,RelayRate,RelayAttitude"
		defaultvalue="Attitude,Attitude,Rate"
		limits="%NE:RelayRate:RelayAttitude; %NE:RelayRate:RelayAttitude; %NE:RelayRate:RelayAttitude;"/>
        <field name="Stabilization2Settings" units="" type="enum"
		elementnames="Roll,Pitch,Yaw"
		options="None,Rate,Attitude,AxisLock,WeakLeveling,VirtualBar,RelayRate,RelayAttitude"
		defaultvalue="Attitude,Attitude,Rate"
		limits="%NE:RelayRate:RelayAttitude; %NE:RelayRate:RelayAttitude; %NE:RelayRate:RelayAttitude;"/>
        <field name="Stabilization3Settings" units="" type="enum"
		elementnames="Roll,Pitch,Yaw"
		options="None,Rate,Attitude,AxisLock,WeakLeveling,VirtualBar,RelayRate,RelayAttitude"
		defaultvalue="Attitude,Attitude,Rate"
		limits="%NE:RelayRate:RelayAttitude; %NE:RelayRate:RelayAttitude; %NE:RelayRate:RelayAttitude;"/>

	<!-- Note these options values should be identical to those defined in FlightMode -->
        <field name="FlightModeNumber" units="" type="uint8" elements="1" defaultvalue="3"/>
        <!-- Currently only some modes are enabled for UI using limits attribute per board. Update when more modes will be operational -->
        <field name="FlightModePosition"
               units=""
               type="enum"
               elements="6"
               options="Manual,Stabilized1,Stabilized2,Stabilized3,Autotune,AltitudeHold,VelocityControl,PositionHold,ReturnToBase,Land,PathPlanner"
               defaultvalue="Manual,Stabilized1,Stabilized2,Stabilized3,AltitudeHold,PositionHold"
               limits="\
                       %0401NE:Autotune:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner,\
                       %0402NE:Autotune:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner,\
                       %0903NE:Autotune:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner;\
                       \
                       %0401NE:Autotune:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner,\
                       %0402NE:Autotune:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner,\
                       %0903NE:Autotune:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner;\
                       \
                       %0401NE:Autotune:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner,\
                       %0402NE:Autotune:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner,\
                       %0903NE:Autotune:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner;\
                       \
                       %0401NE:Autotune:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner,\
                       %0402NE:Autotune:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner,\
                       %0903NE:Autotune:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner;\
                       \
                       %0401NE:Autotune:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner,\
                       %0402NE:Autotune:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner,\
                       %0903NE:Autotune:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner;\
                       \
                       %0401NE:Autotune:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner,\
                       %0402NE:Autotune:AltitudeHold:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner,\
                       %0903NE:Autotune:VelocityControl:PositionHold:ReturnToBase:Land:PathPlanner"/>

        <field name="ArmedTimeout" units="ms" type="uint16" elements="1" defaultvalue="30000"/>
        <field name="FailsafeBehavior" units="" type="enum" elements="1" options="None" defaultvalue="None"/>
        <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>