// copy control positions into the JSBsim structure
FCS->SetDaCmd( globals->get_controls()->get_aileron());
- FCS->SetRollTrimCmd(globals->get_controls()->get_aileron_trim());
+ FCS->SetRollTrimCmd( globals->get_controls()->get_aileron_trim() );
FCS->SetDeCmd( globals->get_controls()->get_elevator());
- FCS->SetPitchTrimCmd(globals->get_controls()->get_elevator_trim());
- FCS->SetDrCmd( -globals->get_controls()->get_rudder());
- FCS->SetYawTrimCmd(globals->get_controls()->get_rudder_trim());
+ FCS->SetPitchTrimCmd( globals->get_controls()->get_elevator_trim() );
+ FCS->SetDrCmd( -globals->get_controls()->get_rudder() );
+ FCS->SetYawTrimCmd( -globals->get_controls()->get_rudder_trim() );
FCS->SetDfCmd( globals->get_controls()->get_flaps() );
FCS->SetDsbCmd( 0.0 ); //speedbrakes
FCS->SetDspCmd( 0.0 ); //spoilers
FDMExec = fdex;
State = FDMExec->GetState();
Table = 0;
+
+ bias=0;
+ gain=1;
if (debug_lvl & 2) cout << "Instantiated: FGCoefficient" << endl;
}
}
AC_cfg->GetNextConfigLine();
- Debug(2);
+ FGCoefficient::Debug(2);
return true;
} else {
double Value;
unsigned int midx;
- SD = Value = Table->GetValue(rVal, cVal);
+ SD = Value = gain*Table->GetValue(rVal, cVal) + bias;
+
for (midx=0; midx < multipliers.size(); midx++) {
Value *= State->GetParameter(multipliers[midx]);
{
double Value;
- SD = Value = Table->GetValue(Val);
+ SD = Value = gain*Table->GetValue(Val) + bias;
for (unsigned int midx=0; midx < multipliers.size(); midx++)
Value *= State->GetParameter(multipliers[midx]);
{
double Value;
- SD = Value = StaticValue;
+ SD = Value = gain*StaticValue + bias;
for (unsigned int midx=0; midx < multipliers.size(); midx++)
Value *= State->GetParameter(multipliers[midx]);
if (debug_lvl <= 0) return;
if (debug_lvl & 1) { // Standard console startup message output
+
if (from == 2) { // Loading
cout << "\n " << highint << underon << name << underoff << normint << endl;
cout << " " << description << endl;
/// @name Pilot input command retrieval
//@{
/** Gets the aileron command.
- @return aileron command in radians */
+ @return aileron command in percent */
inline double GetDaCmd(void) { return DaCmd; }
/** Gets the elevator command.
- @return elevator command in radians */
+ @return elevator command in percent */
inline double GetDeCmd(void) { return DeCmd; }
/** Gets the rudder command.
- @return rudder command in radians */
+ @return rudder command in percent */
inline double GetDrCmd(void) { return DrCmd; }
/** Gets the flaps command.
- @return flaps command in radians */
+ @return flaps command in percent */
inline double GetDfCmd(void) { return DfCmd; }
/** Gets the speedbrake command.
- @return speedbrake command in radians */
+ @return speedbrake command in percent */
inline double GetDsbCmd(void) { return DsbCmd; }
/** Gets the spoiler command.
- @return spoiler command in radians */
+ @return spoiler command in percent */
inline double GetDspCmd(void) { return DspCmd; }
/** Gets the throttle command.
inline double GetPropAdvanceCmd(int engine) { return PropAdvanceCmd[engine]; }
/** Gets the pitch trim command.
- @return pitch trim command in radians */
+ @return pitch trim command in percent */
inline double GetPitchTrimCmd(void) { return PTrimCmd; }
/** Gets the rudder trim command.
- @return rudder trim command in radians */
+ @return rudder trim command in percent */
inline double GetYawTrimCmd(void) { return YTrimCmd; }
/** Gets the aileron trim command.
- @return aileron trim command in radians */
+ @return aileron trim command in percent */
inline double GetRollTrimCmd(void) { return RTrimCmd; }
/** Get the gear extend/retract command. 0 commands gear up, 1 down.
/// @name Pilot input command setting
//@{
/** Sets the aileron command
- @param cmd aileron command in radians*/
+ @param cmd aileron command in percent*/
inline void SetDaCmd(double cmd) { DaCmd = cmd; }
/** Sets the elevator command
- @param cmd elevator command in radians*/
+ @param cmd elevator command in percent*/
inline void SetDeCmd(double cmd) { DeCmd = cmd; }
/** Sets the rudder command
- @param cmd rudder command in radians*/
+ @param cmd rudder command in percent*/
inline void SetDrCmd(double cmd) { DrCmd = cmd; }
/** Sets the flaps command
- @param cmd flaps command in radians*/
+ @param cmd flaps command in percent*/
inline void SetDfCmd(double cmd) { DfCmd = cmd; }
/** Sets the speedbrake command
- @param cmd speedbrake command in radians*/
+ @param cmd speedbrake command in percent*/
inline void SetDsbCmd(double cmd) { DsbCmd = cmd; }
/** Sets the spoilers command
- @param cmd spoilers command in radians*/
+ @param cmd spoilers command in percent*/
inline void SetDspCmd(double cmd) { DspCmd = cmd; }
/** Sets the pitch trim command
- @param cmd pitch trim command in radians*/
+ @param cmd pitch trim command in percent*/
inline void SetPitchTrimCmd(double cmd) { PTrimCmd = cmd; }
/** Sets the rudder trim command
- @param cmd rudder trim command in radians*/
+ @param cmd rudder trim command in percent*/
inline void SetYawTrimCmd(double cmd) { YTrimCmd = cmd; }
/** Sets the aileron trim command
- @param cmd aileron trim command in radians*/
+ @param cmd aileron trim command in percent*/
inline void SetRollTrimCmd(double cmd) { RTrimCmd = cmd; }
/** Sets the throttle command for the specified engine