From: david Date: Mon, 17 Dec 2001 01:42:39 +0000 (+0000) Subject: Latest JSBSim changes to support yaw and roll trim. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=0395a446f7f9807e63f8977689ca84225705e6e0;p=flightgear.git Latest JSBSim changes to support yaw and roll trim. --- diff --git a/src/FDM/JSBSim.cxx b/src/FDM/JSBSim.cxx index f661c3948..332e6c97a 100644 --- a/src/FDM/JSBSim.cxx +++ b/src/FDM/JSBSim.cxx @@ -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 diff --git a/src/FDM/JSBSim/FGFCS.cpp b/src/FDM/JSBSim/FGFCS.cpp index 0a3b63cd3..63d3a725d 100644 --- a/src/FDM/JSBSim/FGFCS.cpp +++ b/src/FDM/JSBSim/FGFCS.cpp @@ -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; diff --git a/src/FDM/JSBSim/FGFCS.h b/src/FDM/JSBSim/FGFCS.h index b960ed1e7..44e9843b2 100644 --- a/src/FDM/JSBSim/FGFCS.h +++ b/src/FDM/JSBSim/FGFCS.h @@ -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 ThrottleCmd; vector ThrottlePos; vector MixtureCmd; diff --git a/src/FDM/JSBSim/FGState.cpp b/src/FDM/JSBSim/FGState.cpp index a3222f43f..6e06b10fe 100644 --- a/src/FDM/JSBSim/FGState.cpp +++ b/src/FDM/JSBSim/FGState.cpp @@ -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: