| 61 | /*****************************************************************************/ |
| 62 | |
| 63 | FGTrimAnalysisControl::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)"; |
nothing calls this directly
no test coverage detected