]> git.mxchange.org Git - flightgear.git/commitdiff
Latest JSBSim changes to support yaw and roll trim.
authordavid <david>
Mon, 17 Dec 2001 01:42:39 +0000 (01:42 +0000)
committerdavid <david>
Mon, 17 Dec 2001 01:42:39 +0000 (01:42 +0000)
src/FDM/JSBSim.cxx
src/FDM/JSBSim/FGFCS.cpp
src/FDM/JSBSim/FGFCS.h
src/FDM/JSBSim/FGState.cpp

index f661c39488134a1a701ecbe30594127e39dcd6c0..332e6c97a787d5474464cc2f23014e33e72756df 100644 (file)
@@ -317,9 +317,11 @@ bool FGJSBsim::copy_to_JSBsim() {
     // copy control positions into the JSBsim structure
 
     FCS->SetDaCmd( globals->get_controls()->get_aileron());
+    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->SetDfCmd(  globals->get_controls()->get_flaps() );
     FCS->SetDsbCmd( 0.0 ); //speedbrakes
     FCS->SetDspCmd( 0.0 ); //spoilers
index 0a3b63cd3cfecb555e2c97781b724fcb2930316d..63d3a725d841322be2649aca50c46cc727b949f0 100644 (file)
@@ -67,7 +67,8 @@ FGFCS::FGFCS(FGFDMExec* fdmex) : FGModel(fdmex)
 {
   Name = "FGFCS";
 
-  DaCmd = DeCmd = DrCmd = DfCmd = DsbCmd = DspCmd = PTrimCmd = 0.0;
+  DaCmd = DeCmd = DrCmd = DfCmd = DsbCmd = DspCmd = 0.0;
+  PTrimCmd = YTrimCmd = RTrimCmd = 0.0;
   DaPos = DePos = DrPos = DfPos = DsbPos = DspPos = 0.0;
   GearCmd = GearPos = 1; // default to gear down
   LeftBrake = RightBrake = CenterBrake = 0.0;
index b960ed1e7d8c01bd619c0e7d62ff17d6944d3e45..44e9843b262ff6f710ddef37b00968f3a6ad9fe8 100644 (file)
@@ -212,6 +212,14 @@ public:
       @return pitch trim command in radians */
   inline double GetPitchTrimCmd(void) { return PTrimCmd; }
   
+  /** Gets the rudder trim command.
+      @return rudder trim command in radians */
+  inline double GetYawTrimCmd(void) { return YTrimCmd; }
+  
+  /** Gets the aileron trim command.
+      @return aileron trim command in radians */
+  inline double GetRollTrimCmd(void) { return RTrimCmd; }
+  
   /** Get the gear extend/retract command. 0 commands gear up, 1 down.
       defaults to down.
       @return the current value of the gear extend/retract command*/
@@ -315,6 +323,14 @@ public:
       @param cmd pitch trim command in radians*/
   inline void SetPitchTrimCmd(double cmd) { PTrimCmd = cmd; }
 
+  /** Sets the rudder trim command
+      @param cmd rudder trim command in radians*/
+  inline void SetYawTrimCmd(double cmd) { YTrimCmd = cmd; }
+
+  /** Sets the aileron trim command
+      @param cmd aileron trim command in radians*/
+  inline void SetRollTrimCmd(double cmd) { RTrimCmd = cmd; }
+
   /** Sets the throttle command for the specified engine
       @param engine engine ID number
       @param cmd throttle command in percent (0 - 100)*/
@@ -415,7 +431,7 @@ public:
 private:
   double DaCmd, DeCmd, DrCmd, DfCmd, DsbCmd, DspCmd;
   double DaPos, DePos, DrPos, DfPos, DsbPos, DspPos;
-  double PTrimCmd;
+  double PTrimCmd, YTrimCmd, RTrimCmd;
   vector <double> ThrottleCmd;
   vector <double> ThrottlePos;
   vector <double> MixtureCmd;
index a3222f43f4a7fb4990a959e1dad5400e809e6626..6e06b10fe86e52010fd92d565b0e44067b935e10 100644 (file)
@@ -140,6 +140,8 @@ FGState::FGState(FGFDMExec* fdex)
   RegisterVariable(FG_ACTIVE_ENGINE,  " active_engine "  );
   RegisterVariable(FG_HOVERB,         " height/span "    );
   RegisterVariable(FG_PITCH_TRIM_CMD, " pitch_trim_cmd " );
+  RegisterVariable(FG_YAW_TRIM_CMD,   " yaw_trim_cmd " );
+  RegisterVariable(FG_ROLL_TRIM_CMD,  " roll_trim_cmd " );
   RegisterVariable(FG_LEFT_BRAKE_CMD, " left_brake_cmd " );
   RegisterVariable(FG_RIGHT_BRAKE_CMD," right_brake_cmd ");
   RegisterVariable(FG_CENTER_BRAKE_CMD," center_brake_cmd ");
@@ -292,6 +294,10 @@ double FGState::GetParameter(eParam val_idx) {
     return Position->GetHOverBMAC();
   case FG_PITCH_TRIM_CMD:
     return FCS->GetPitchTrimCmd();
+  case FG_YAW_TRIM_CMD:
+    return FCS->GetYawTrimCmd();
+  case FG_ROLL_TRIM_CMD:
+    return FCS->GetRollTrimCmd();
   case FG_GEAR_CMD:
     return FCS->GetGearCmd();
   case FG_GEAR_POS: