|
| FGFCS (FGFDMExec *) |
| Constructor. More...
|
|
| ~FGFCS () |
| Destructor.
|
|
void | AddThrottle (void) |
|
SGPath | FindFullPathName (const SGPath &path) const |
|
double | GetChannelDeltaT (void) const |
|
std::string | GetComponentStrings (const std::string &delimiter) const |
| Retrieves all component names for inclusion in output stream. More...
|
|
std::string | GetComponentValues (const std::string &delimiter) const |
| Retrieves all component outputs for inclusion in output stream. More...
|
|
double | GetDt (void) const |
|
FGPropertyManager * | GetPropertyManager (void) |
|
bool | GetTrimStatus (void) const |
|
bool | InitModel (void) |
|
bool | Load (Element *el) |
| Loads the Flight Control System. More...
|
|
bool | Run (bool Holding) |
| Runs the Flight Controls model; called by the Executive Can pass in a value indicating if the executive is directing the simulation to Hold. More...
|
|
|
double | GetDaCmd (void) const |
| Gets the aileron command. More...
|
|
double | GetDeCmd (void) const |
| Gets the elevator command. More...
|
|
double | GetDrCmd (void) const |
| Gets the rudder command. More...
|
|
double | GetDsCmd (void) const |
| Gets the steering command. More...
|
|
double | GetDfCmd (void) const |
| Gets the flaps command. More...
|
|
double | GetDsbCmd (void) const |
| Gets the speedbrake command. More...
|
|
double | GetDspCmd (void) const |
| Gets the spoiler command. More...
|
|
double | GetThrottleCmd (int engine) const |
| Gets the throttle command. More...
|
|
const std::vector< double > & | GetThrottleCmd () const |
|
double | GetMixtureCmd (int engine) const |
| Gets the mixture command. More...
|
|
const std::vector< double > & | GetMixtureCmd () const |
|
double | GetPropAdvanceCmd (int engine) const |
| Gets the prop pitch command. More...
|
|
bool | GetFeatherCmd (int engine) const |
| Gets the prop feather command. More...
|
|
double | GetPitchTrimCmd (void) const |
| Gets the pitch trim command. More...
|
|
double | GetYawTrimCmd (void) const |
| Gets the rudder trim command. More...
|
|
double | GetRollTrimCmd (void) const |
| Gets the aileron trim command. More...
|
|
double | GetGearCmd (void) const |
| Get the gear extend/retract command. More...
|
|
|
double | GetDaLPos (int form=ofRad) const |
| Gets the left aileron position. More...
|
|
double | GetDaRPos (int form=ofRad) const |
| Gets the right aileron position. More...
|
|
double | GetDePos (int form=ofRad) const |
| Gets the elevator position. More...
|
|
double | GetDrPos (int form=ofRad) const |
| Gets the rudder position. More...
|
|
double | GetDsbPos (int form=ofRad) const |
| Gets the speedbrake position. More...
|
|
double | GetDspPos (int form=ofRad) const |
| Gets the spoiler position. More...
|
|
double | GetDfPos (int form=ofRad) const |
| Gets the flaps position. More...
|
|
double | GetThrottlePos (int engine) const |
| Gets the throttle position. More...
|
|
const std::vector< double > & | GetThrottlePos () const |
|
double | GetMixturePos (int engine) const |
| Gets the mixture position. More...
|
|
const std::vector< double > & | GetMixturePos () const |
|
double | GetGearPos (void) const |
| Gets the gear position (0 up, 1 down), defaults to down. More...
|
|
double | GetTailhookPos (void) const |
| Gets the tailhook position (0 up, 1 down) More...
|
|
double | GetWingFoldPos (void) const |
| Gets the wing fold position (0 unfolded, 1 folded) More...
|
|
double | GetPropAdvance (int engine) const |
| Gets the prop pitch position. More...
|
|
const std::vector< double > & | GetPropAdvance () const |
|
bool | GetPropFeather (int engine) const |
| Gets the prop feather position. More...
|
|
const std::vector< bool > & | GetPropFeather () const |
|
|
void | SetDaCmd (double cmd) |
| Sets the aileron command. More...
|
|
void | SetDeCmd (double cmd) |
| Sets the elevator command. More...
|
|
void | SetDrCmd (double cmd) |
| Sets the rudder command. More...
|
|
void | SetDsCmd (double cmd) |
| Sets the steering command. More...
|
|
void | SetDfCmd (double cmd) |
| Sets the flaps command. More...
|
|
void | SetDsbCmd (double cmd) |
| Sets the speedbrake command. More...
|
|
void | SetDspCmd (double cmd) |
| Sets the spoilers command. More...
|
|
void | SetPitchTrimCmd (double cmd) |
| Sets the pitch trim command. More...
|
|
void | SetYawTrimCmd (double cmd) |
| Sets the rudder trim command. More...
|
|
void | SetRollTrimCmd (double cmd) |
| Sets the aileron trim command. More...
|
|
void | SetThrottleCmd (int engine, double cmd) |
| Sets the throttle command for the specified engine. More...
|
|
void | SetMixtureCmd (int engine, double cmd) |
| Sets the mixture command for the specified engine. More...
|
|
void | SetGearCmd (double gearcmd) |
| Set the gear extend/retract command, defaults to down. More...
|
|
void | SetPropAdvanceCmd (int engine, double cmd) |
| Sets the propeller pitch command for the specified engine. More...
|
|
void | SetFeatherCmd (int engine, bool cmd) |
| Sets the propeller feather command for the specified engine. More...
|
|
|
void | SetDaLPos (int form, double pos) |
| Sets the left aileron position. More...
|
|
void | SetDaRPos (int form, double pos) |
| Sets the right aileron position. More...
|
|
void | SetDePos (int form, double pos) |
| Sets the elevator position. More...
|
|
void | SetDrPos (int form, double pos) |
| Sets the rudder position. More...
|
|
void | SetDfPos (int form, double pos) |
| Sets the flaps position. More...
|
|
void | SetDsbPos (int form, double pos) |
| Sets the speedbrake position. More...
|
|
void | SetDspPos (int form, double pos) |
| Sets the spoiler position. More...
|
|
void | SetThrottlePos (int engine, double cmd) |
| Sets the actual throttle setting for the specified engine. More...
|
|
void | SetMixturePos (int engine, double cmd) |
| Sets the actual mixture setting for the specified engine. More...
|
|
void | SetGearPos (double gearpos) |
| Set the gear extend/retract position, defaults to down. More...
|
|
void | SetTailhookPos (double hookpos) |
| Set the tailhook position. More...
|
|
void | SetWingFoldPos (double foldpos) |
| Set the wing fold position. More...
|
|
void | SetPropAdvance (int engine, double cmd) |
| Sets the actual prop pitch setting for the specified engine. More...
|
|
void | SetPropFeather (int engine, bool cmd) |
| Sets the actual prop feather setting for the specified engine. More...
|
|
|
void | SetLBrake (double cmd) |
| Sets the left brake group. More...
|
|
void | SetRBrake (double cmd) |
| Sets the right brake group. More...
|
|
void | SetCBrake (double cmd) |
| Sets the center brake group. More...
|
|
double | GetBrake (FGLGear::BrakeGroup bg) |
| Gets the brake for a specified group. More...
|
|
const std::vector< double > & | GetBrakePos () const |
|
double | GetLBrake (void) const |
| Gets the left brake. More...
|
|
double | GetRBrake (void) const |
| Gets the right brake. More...
|
|
double | GetCBrake (void) const |
| Gets the center brake. More...
|
|
| FGModel (FGFDMExec *) |
| Constructor.
|
|
virtual | ~FGModel () |
| Destructor.
|
|
FGFDMExec * | GetExec (void) |
|
unsigned int | GetRate (void) |
| Get the output rate for the model in frames.
|
|
void | SetPropertyManager (FGPropertyManager *fgpm) |
|
void | SetRate (unsigned int tt) |
| Set the ouput rate for the model in frames.
|
|
std::string | GetFunctionStrings (const std::string &delimeter) const |
| Gets the strings for the current set of functions. More...
|
|
std::string | GetFunctionValues (const std::string &delimeter) const |
| Gets the function values. More...
|
|
FGFunction * | GetPreFunction (const std::string &name) |
| Get one of the "pre" function. More...
|
|
bool | Load (Element *el, FGPropertyManager *PropertyManager, std::string prefix="") |
|
void | PostLoad (Element *el, FGPropertyManager *PropertyManager, std::string prefix="") |
|
void | PreLoad (Element *el, FGPropertyManager *PropertyManager, std::string prefix="") |
|
void | RunPostFunctions (void) |
|
void | RunPreFunctions (void) |
|
| FGJSBBase () |
| Constructor for FGJSBBase.
|
|
virtual | ~FGJSBBase () |
| Destructor for FGJSBBase.
|
|
void | disableHighLighting (void) |
| Disables highlighting in the console output.
|
|
std::string | GetVersion (void) |
| Returns the version number of JSBSim. More...
|
|
void | PutMessage (const Message &msg) |
| Places a Message structure on the Message queue. More...
|
|
void | PutMessage (const std::string &text) |
| Creates a message with the given text and places it on the queue. More...
|
|
void | PutMessage (const std::string &text, bool bVal) |
| Creates a message with the given text and boolean value and places it on the queue. More...
|
|
void | PutMessage (const std::string &text, int iVal) |
| Creates a message with the given text and integer value and places it on the queue. More...
|
|
void | PutMessage (const std::string &text, double dVal) |
| Creates a message with the given text and double value and places it on the queue. More...
|
|
int | SomeMessages (void) |
| Reads the message on the queue (but does not delete it). More...
|
|
void | ProcessMessage (void) |
| Reads the message on the queue and removes it from the queue. More...
|
|
Message * | ProcessNextMessage (void) |
| Reads the next message on the queue and removes it from the queue. More...
|
|
|
static double | CelsiusToFahrenheit (double celsius) |
| Converts from degrees Celsius to degrees Fahrenheit. More...
|
|
static double | CelsiusToKelvin (double celsius) |
| Converts from degrees Celsius to degrees Kelvin. More...
|
|
static double | CelsiusToRankine (double celsius) |
| Converts from degrees Celsius to degrees Rankine. More...
|
|
static double | Constrain (double min, double value, double max) |
| Constrain a value between a minimum and a maximum value.
|
|
static bool | EqualToRoundoff (double a, double b) |
| Finite precision comparison. More...
|
|
static bool | EqualToRoundoff (float a, float b) |
| Finite precision comparison. More...
|
|
static bool | EqualToRoundoff (float a, double b) |
| Finite precision comparison. More...
|
|
static bool | EqualToRoundoff (double a, float b) |
| Finite precision comparison. More...
|
|
static double | FahrenheitToCelsius (double fahrenheit) |
| Converts from degrees Fahrenheit to degrees Celsius. More...
|
|
static double | FeetToMeters (double measure) |
| Converts from feet to meters. More...
|
|
static double | GaussianRandomNumber (void) |
|
static double | KelvinToCelsius (double kelvin) |
| Converts from degrees Kelvin to degrees Celsius. More...
|
|
static double | KelvinToFahrenheit (double kelvin) |
| Converts from degrees Kelvin to degrees Fahrenheit. More...
|
|
static double | KelvinToRankine (double kelvin) |
| Converts from degrees Kelvin to degrees Rankine. More...
|
|
static double | MachFromVcalibrated (double vcas, double p, double psl, double rhosl) |
| Calculate the Mach number from the calibrated airspeed. More...
|
|
static double | PitotTotalPressure (double mach, double p) |
| Compute the total pressure in front of the Pitot tube. More...
|
|
static double | RankineToCelsius (double rankine) |
| Converts from degrees Rankine to degrees Celsius. More...
|
|
static double | RankineToKelvin (double rankine) |
| Converts from degrees Rankine to degrees Kelvin. More...
|
|
static double | sign (double num) |
|
static double | VcalibratedFromMach (double mach, double p, double psl, double rhosl) |
| Calculate the calibrated airspeed from the Mach number. More...
|
|
std::string | Name |
|
static short | debug_lvl = 1 |
|
static char | highint [5] = {27, '[', '1', 'm', '\0' } |
| highlights text
|
|
static char | halfint [5] = {27, '[', '2', 'm', '\0' } |
| low intensity text
|
|
static char | normint [6] = {27, '[', '2', '2', 'm', '\0' } |
| normal intensity text
|
|
static char | reset [5] = {27, '[', '0', 'm', '\0' } |
| resets text properties
|
|
static char | underon [5] = {27, '[', '4', 'm', '\0' } |
| underlines text
|
|
static char | underoff [6] = {27, '[', '2', '4', 'm', '\0' } |
| underline off
|
|
static char | fgblue [6] = {27, '[', '3', '4', 'm', '\0' } |
| blue text
|
|
static char | fgcyan [6] = {27, '[', '3', '6', 'm', '\0' } |
| cyan text
|
|
static char | fgred [6] = {27, '[', '3', '1', 'm', '\0' } |
| red text
|
|
static char | fggreen [6] = {27, '[', '3', '2', 'm', '\0' } |
| green text
|
|
static char | fgdef [6] = {27, '[', '3', '9', 'm', '\0' } |
| default text
|
|
void | Debug (int) |
|
static std::string | CreateIndexedPropertyName (const std::string &Property, int index) |
|
unsigned int | exe_ctr |
|
FGFDMExec * | FDMExec |
|
FGPropertyManager * | PropertyManager |
|
unsigned int | rate |
|
FGPropertyReader | LocalProperties |
|
std::vector< FGFunction * > | PostFunctions |
|
std::vector< FGFunction * > | PreFunctions |
|
static const double | degtorad = 0.017453292519943295769236907684886 |
|
static const double | fpstokts = 1.0/ktstofps |
|
static const double | fttom = 0.3048 |
|
static int | gaussian_random_number_phase = 0 |
|
static const double | hptoftlbssec = 550.0 |
|
static const double | in3tom3 = 1.638706E-5 |
|
static const double | inchtoft = 0.08333333 |
|
static const double | inhgtopa = 3386.38 |
|
static const std::string | JSBSim_version = "1.0 " __DATE__ " " __TIME__ |
|
static const double | kgtolb = 2.20462 |
|
static const double | kgtoslug = 0.06852168 |
|
static const double | ktstofps = 1.68781 |
|
static const double | lbtoslug = 1.0/slugtolb |
|
static Message | localMsg |
|
static const double | m3toft3 = 1.0/(fttom*fttom*fttom) |
|
static double | Mair = 28.9645 |
|
static unsigned int | messageId = 0 |
|
static std::queue< Message > | Messages |
|
static const std::string | needed_cfg_version = "2.0" |
|
static const double | psftoinhg = 0.014138 |
|
static const double | psftopa = 47.88 |
|
static const double | radtodeg = 57.295779513082320876798154814105 |
|
static double | Reng = 1716.56 |
|
static double | Rstar = 1545.348 |
|
static const double | SHRatio = 1.40 |
|
static const double | slugtolb = 32.174049 |
|
Encapsulates the Flight Control System (FCS) functionality.
This class also encapsulates the identical "system" and "autopilot" capability. FGFCS owns and contains the list of FGFCSComponents that define a system or systems for the modeled aircraft. The config file for the aircraft contains a description of the control path that starts at an input or command and ends at an effector, e.g. an aerosurface. The FCS components which comprise the control laws for an axis are defined sequentially in the configuration file. For instance, for the X-15:
<flight_control name="X-15 SAS">
<channel>
<summer name="Pitch Trim Sum">
<input> fcs/elevator-cmd-norm </input>
<input> fcs/pitch-trim-cmd-norm </input>
<clipto>
<min>-1</min>
<max>1</max>
</clipto>
</summer>
<aerosurface_scale name="Pitch Command Scale">
<input> fcs/pitch-trim-sum </input>
<range>
<min> -50 </min>
<max> 50 </max>
</range>
</aerosurface_scale>
... etc.
In the above case we can see the first few components of the pitch channel defined. The input to the first component (a summer), as can be seen in the "Pitch trim
sum" component, is really the sum of two parameters: elevator command (from the stick - a pilot input), and pitch trim. The next component created is an aerosurface scale component - a type of gain (see the LoadFCS() method for insight on how the various types of components map into the actual component classes). This continues until the final component for an axis when the <output> element is usually used to specify where the output is supposed to go. See the individual components for more information on how they are mechanized.
Another option for the flight controls portion of the config file is that in addition to using the "NAME" attribute in,
<flight_control name="X-15 SAS">
one can also supply a filename:
<flight_control name="X-15 SAS" file="X15.xml">
</flight_control>
In this case, the FCS would be read in from another file.
Properties
- fcs/aileron-cmd-norm normalized aileron command
- fcs/elevator-cmd-norm normalized elevator command
- fcs/rudder-cmd-norm
- fcs/steer-cmd-norm
- fcs/flap-cmd-norm
- fcs/speedbrake-cmd-norm
- fcs/spoiler-cmd-norm
- fcs/pitch-trim-cmd-norm
- fcs/roll-trim-cmd-norm
- fcs/yaw-trim-cmd-norm
- gear/gear-cmd-norm
- fcs/left-aileron-pos-rad
- fcs/left-aileron-pos-deg
- fcs/left-aileron-pos-norm
- fcs/mag-left-aileron-pos-rad
- fcs/right-aileron-pos-rad
- fcs/right-aileron-pos-deg
- fcs/right-aileron-pos-norm
- fcs/mag-right-aileron-pos-rad
- fcs/elevator-pos-rad
- fcs/elevator-pos-deg
- fcs/elevator-pos-norm
- fcs/mag-elevator-pos-rad
- fcs/rudder-pos-rad
- fcs/rudder-pos-deg
- fcs/rudder-pos-norm
- fcs/mag-rudder-pos-rad
- fcs/flap-pos-rad
- fcs/flap-pos-deg
- fcs/flap-pos-norm
- fcs/speedbrake-pos-rad
- fcs/speedbrake-pos-deg
- fcs/speedbrake-pos-norm
- fcs/mag-speedbrake-pos-rad
- fcs/spoiler-pos-rad
- fcs/spoiler-pos-deg
- fcs/spoiler-pos-norm
- fcs/mag-spoiler-pos-rad
- fcs/wing-fold-pos-norm
- gear/gear-pos-norm
- gear/tailhook-pos-norm
- Author
- Jon S. Berndt
- Version
- Revision
- 1.54
- See also
- FGActuator
-
FGDeadBand
-
FGFCSFunction
-
FGFilter
-
FGGain
-
FGKinemat
-
FGPID
-
FGSensor
-
FGSummer
-
FGSwitch
-
FGWaypoint
-
FGAngles
-
FGFCSComponent
-
Element
-
FGDistributor
Definition at line 193 of file FGFCS.h.