MCPcopy Create free account
hub / github.com/JSBSim-Team/jsbsim / FGTrimAnalysisControl

Method FGTrimAnalysisControl

src/initialization/FGTrimAnalysisControl.cpp:63–192  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

61/*****************************************************************************/
62
63FGTrimAnalysisControl::FGTrimAnalysisControl(FGFDMExec* fdex, FGInitialCondition* ic,
64 //State st,
65 TaControl ctrl) {
66 fdmex=fdex;
67 fgic=ic;
68 state=taAll;
69 control=ctrl;
70 control_initial_value = 0.;
71 control_value=0;
72 state_convert=1.0;
73 control_convert=1.0;
74 state_value=0;
75 state_target=0;
76 control_tolerance = DEFAULT_TOLERANCE;
77
78 switch(control) {
79 case taThrottle:
80 control_min=0;
81 control_max=1;
82 control_step=0.2;
83 control_initial_value = 0.5;
84 control_value=control_initial_value;
85 control_name = "Throttle (cmd,norm)";
86 break;
87 case taBeta:
88 control_min=-30*degtorad;
89 control_max=30*degtorad;
90 control_step=1*degtorad;
91 control_convert=radtodeg;
92 break;
93 case taAlpha:
94 control_min=fdmex->GetAerodynamics()->GetAlphaCLMin();
95 control_max=fdmex->GetAerodynamics()->GetAlphaCLMax();
96 if(control_max <= control_min) {
97 control_max=20*degtorad;
98 control_min=-5*degtorad;
99 }
100 control_step=1*degtorad;
101 control_initial_value = (control_min+control_max)/2;
102 control_value= control_initial_value;
103 control_convert=radtodeg;
104 break;
105 case taPitchTrim:
106 control_name = "Pitch Trim (cmd,norm)";
107 control_min=-1;
108 control_max=1;
109 control_step=0.1;
110 state_convert=radtodeg;
111 break;
112 case taElevator:
113 control_name = "Elevator (cmd,norm)";
114 control_min=-1;
115 control_max=1;
116 control_step=0.1;
117 state_convert=radtodeg;
118 break;
119 case taRollTrim:
120 control_name = "Roll Trim (cmd,norm)";

Callers

nothing calls this directly

Calls 4

GetAerodynamicsMethod · 0.80
GetDistanceAGLMethod · 0.80
GetPropagateMethod · 0.80
GetEulerMethod · 0.80

Tested by

no test coverage detected