1
0
Fork 0

billo on IRC discovered that the control mapping section was pretty

stale.  Rewrite it.
This commit is contained in:
andy 2006-11-10 18:06:24 +00:00
parent 6af88bc58a
commit 72ee05875c

View file

@ -383,28 +383,23 @@ solve-weight:
weight: Weight setting in pounds.
control: This element, which can appear in two different contexts,
manages a mapping from fgfs properties (user input) to
settable values on the aircraft's objects. Note that the
value to be set MUST (!) be valid on the given object type.
This is not checked for by the parser, and will cause a
runtime crash if you try it. Wing's don't have throttle
controls, etc... Note that multiple axes may be set on the
same value. They are summed before setting.
One serious shortcoming of the current implementation is
that there is no provision for modifying the values read
from properties. There needs to be a way to scale,
translate and truncate the values. On its way, I promise.
control-input:
This element manages a mapping from fgfs properties (user
input) to settable values on the aircraft's objects. Note
that the value to be set MUST (!) be valid on the given
object type. This is not checked for by the parser, and
will cause a runtime crash if you try it. Wing's don't have
throttle controls, etc... Note that multiple axes may be
set on the same value. They are summed before setting.
axis: The name of the double-valued fgfs property "axis" to
use as input, such as "/controls/flight/aileron".
output: Which property to set on the objects. It can have
the following values:
control: Which control axis to set on the objects. It can have
the following values:
THROTTLE - The throttle on a jet or propeller.
MIXTURE - The mixture on a propeller.
REHEAT - The afterburner on a jet (unimpl.).
PROP - The propeller advance (unimpl.)
REHEAT - The afterburner on a jet
PROP - The propeller advance
BRAKE - The brake on a gear.
STEER - The steering angle on a gear.
INCIDENCE - The incidence angle of a wing.
@ -416,6 +411,7 @@ control: This element, which can appear in two different contexts,
CYCLICELE - The "elevator" cyclic input of a rotor
COLLECTIVE - The collective input of a rotor
ROTORENGINEON - If not equal zero the rotor is rotating
{... and many more, see FGFDM.cpp ...}
invert: Negate the value of the property before setting on
the object.
split: Applicable to wing control surfaces. Sets the
@ -426,18 +422,44 @@ control: This element, which can appear in two different contexts,
lots of sensitiviy in the center. Obviously only
applicable to values that have a range of [-1:1] or
[0:1].
src0/src1/dst0/dst1:
If present, these defined a linear mapping from the
source to the output value. Input values in the
range src0-src1 are mapped linearly to dst0-dst1,
with clamping for input values that lie outside the
range.
A control element can also appear inside of an <approach> or
<cruise> element. Here, it specifies a particular value of an
axis mapping that should be true under the given
conditions. At cruise, the throttle is generally at a high
setting, the flaps and slats are up During approach
the flaps and slats are down, etc...
control-output:
This can be used to pass the value of a YASim control axis
(after all mapping and summing is applied) back to the
property tree.
axis: As above, the name of the input property.
value: A floating point number that the property is expected
to hold.
control: Name of the control axis. See above.
prop: Property node to receive the value.
side: Optional, for split controls. Either "right" or "left"
min/max: Clamping applied to output value.
control-speed:
Some controls (most notably flaps and hydraulics) have
maximum slew rates and cannot respond instantly to pilot
input. This can be implemented with a control-speed tag,
which defines a "transition time" required to slew through
the full input range. Note that this tag is
semi-deprecated, complicated control input filtering can be
done much more robustly from a Nasal script.
control: Name of the control axis. See above.
transition-time: Time in seconds to slew through input range.
control-setting:
This tag is used to define a particular setting for a
control axis inside the <cruise> or <approach> tags, where
obviously property input is not available. It can be used,
for example, to inform the solver that the approach
performance values assume full flaps, etc...
axis: Name of the control input (i.e. a property name)
value: Value of the control axis.
rotor: A rotor. Used for simulating helicopters. You can have one, two
or even more.