mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-11-29 07:24:13 +01:00
0116e6a007
- both CC serial ports are now disabled by default (no telemetry); - serial ports now have DSM2, DSMX (10bit) and DSMX (11bit) options; - ReceiverGroups now have DSM (MainPort) and DSM (FlexiPort) options. For DSM2 protocol there is an explicit resolution bit in the stream, so the DSM2 should be selected. For DSMX there is no such bit, and user should choose the resolution from the list configuring the spektrum port. ReceiverGroups have single DSM option which is handled by the same driver. Downside: this implementation saves received frame first, unrolls by the end of frame. This should be ok, but may be improved by unrolling channels on the fly in the rx callback. Another minor difference is that a ChannelGroup is now bound to port: DSM (MainPort) or DSM (FlexiPort). This was considered as acceptable solution in order to not have 6 DSM options for each ChannelGroup and even more in case of new DSM protocol variations. Known problem: it is not possible to choose same protocols like DSM2/DSM2 for two ports. It can be enabled by adding an exception to common rule, though. The DSMX throttle channel misbehavior (zero value) is not treated specially yet. It should trigger the failsafe being out of bounds. More info and data dumps are required to handle this properly.
33 lines
2.6 KiB
XML
33 lines
2.6 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="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" defaultvalue="Attitude,Attitude,Rate"/>
|
|
<field name="Stabilization2Settings" units="" type="enum" elementnames="Roll,Pitch,Yaw" options="None,Rate,Attitude,AxisLock,WeakLeveling" defaultvalue="Attitude,Attitude,Rate"/>
|
|
<field name="Stabilization3Settings" units="" type="enum" elementnames="Roll,Pitch,Yaw" options="None,Rate,Attitude,AxisLock,WeakLeveling" defaultvalue="Attitude,Attitude,Rate"/>
|
|
|
|
<!-- Note these options values should be identical to those defined in FlightMode -->
|
|
<field name="FlightModePosition" units="" type="enum" elements="3" options="Manual,Stabilized1,Stabilized2,Stabilized3,VelocityControl,PositionHold" defaultvalue="Manual,Stabilized1,Stabilized2"/>
|
|
|
|
<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="never" period="0"/>
|
|
</object>
|
|
</xml>
|