mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-11-30 08:24:11 +01:00
cd6387d0a6
It is now possible to have 1 to 6 flight mode switch positions (usefull for guidance, position hold and similar use). The input channel range is divided into N (1 to 6) zones and each zone represents a flight mode. Default is 3 zones (backward compatible), but more can be chosen. How to use: configure Tx mixers in a way they provide required number of different values for the same FlightMode channel. For instance, using Turnigy 9X radio with ER9X firmware, one can create a mixer like this: -100 MAX ID0 Manual R -50 MAX ID1 Stabilized1 (Rate) R 0 MAX ID2 Stabilized2 (Attitude) R 50 MAX RUD PositionHold R 100 MAX ELE ReturnToBase And set number of flight mode positions to 5. As a result, the 3-pos switch (ID0, ID1, ID2) will provide first three flight modes, the rudder D/R switch will override those and enable the 4th flight mode, and elevator D/R switch will have highest precedence and activate the 5th flight mode. This will change the ManualControlSettings objectID.
36 lines
2.9 KiB
XML
36 lines
2.9 KiB
XML
<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,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="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" defaultvalue="Attitude,Attitude,Rate"/>
|
|
<field name="Stabilization2Settings" units="" type="enum" elementnames="Roll,Pitch,Yaw" options="None,Rate,Attitude,AxisLock,WeakLeveling,VirtualBar" defaultvalue="Attitude,Attitude,Rate"/>
|
|
<field name="Stabilization3Settings" units="" type="enum" elementnames="Roll,Pitch,Yaw" options="None,Rate,Attitude,AxisLock,WeakLeveling,VirtualBar" defaultvalue="Attitude,Attitude,Rate"/>
|
|
|
|
<!-- Note these options values should be identical to those defined in FlightMode -->
|
|
<field name="FlightModeNumber" units="" type="uint8" elements="1" defaultvalue="3"/>
|
|
<field name="FlightModePosition" units="" type="enum" elements="6" options="Manual,Stabilized1,Stabilized2,Stabilized3,AltitudeHold,VelocityControl,PositionHold" defaultvalue="Manual,Stabilized1,Stabilized2,Stabilized3,AltitudeHold,PositionHold"/>
|
|
|
|
<field name="ArmedTimeout" units="ms" type="uint16" elements="1" defaultvalue="30000"/>
|
|
<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>
|