mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-02 14:13:42 -04:00
7a4483b091
this makes use of DRefs to greatly improve XPlane support. It only supports XPlane 11 and later The key change is the use of a JSON file to map ArduPilot output channels to DataRefs, and map raw joystick inputs to RC inputs this gets rid of the awful throttle hack handling, and allows for control of a much wider range of aircraft
34 lines
1.9 KiB
JSON
34 lines
1.9 KiB
JSON
# XPlane DREF map file for a simple plane
|
|
# assumes: Aileron, Elevator, Throttle, Rudder, flaps
|
|
|
|
{
|
|
"settings" : { "debug" : 0 },
|
|
|
|
"sim/operation/override/override_joystick" : { "type" : "fixed", "value" : 1 },
|
|
"sim/operation/override/override_flightcontrol" : { "type" : "fixed", "value" : 0 },
|
|
"sim/operation/override/override_throttles" : { "type" : "fixed", "value" : 1 },
|
|
"sim/operation/override/override_prop_pitch" : { "type" : "fixed", "value" : 0 },
|
|
|
|
# throttle
|
|
"sim/cockpit2/engine/actuators/prop_ratio[0]" : { "type" : "range", "range" : 1, "channel" : 3 },
|
|
"laminar/r22/rotor_collective_ratio" : { "type" : "range", "range" : 1, "channel" : 3 },
|
|
"sim/cockpit2/engine/actuators/prop_ratio_all" : { "type" : "range", "range" : 1, "channel" : 3 },
|
|
"sim/flightmodel/engine/ENGN_thro_use[0]" : { "type" : "range", "range" : 1, "channel" : 8 },
|
|
|
|
# control surfaces, using yoke positions not surface overrides
|
|
"sim/joystick/yoke_roll_ratio" : { "type" : "angle", "range" : 1, "channel" : 1 },
|
|
"sim/joystick/yoke_pitch_ratio" : { "type" : "angle", "range" : 1, "channel" : 2 },
|
|
"sim/joystick/yoke_heading_ratio" : { "type" : "angle", "range" : 1, "channel" : 4 },
|
|
|
|
# joystick inputs
|
|
"axis6" : { "type" : "joyaxis", "channel" : 1, "input_min" : 0.2, "input_max" : 0.8 },
|
|
"axis5" : { "type" : "joyaxis", "channel" : 2, "input_min" : 0.2, "input_max" : 0.8 },
|
|
"axis4" : { "type" : "joyaxis", "channel" : 3, "input_min" : 0.8, "input_max" : 0.2 },
|
|
"axis2" : { "type" : "joyaxis", "channel" : 4, "input_min" : 0.2, "input_max" : 0.9 },
|
|
"axis3" : { "type" : "joyaxis", "channel" : 5, "input_min" : 0.2, "input_max" : 0.9 },
|
|
"button1" : { "channel" : 6, "mask" : 1 },
|
|
"button2" : { "channel" : 7, "mask" : 2 },
|
|
"button3" : { "type" : "joybutton", "channel" : 8, "mask" : 24 },
|
|
"button4" : { "type" : "joybutton", "channel" : 9, "mask" : 4 }
|
|
}
|