Aircraft->GetNlf(),
GetParameter(FG_PITCHRATE)*radtodeg );
cout << out;
- snprintf(out,80, " Heading: %3.0f deg true Sideslip: %5.2f deg\n",
+ snprintf(out,80, " Heading: %3.0f deg true Sideslip: %5.2f deg Yaw Rate: %5.2f deg/s\n",
Rotation->Getpsi()*radtodeg,
- GetParameter(FG_BETA)*radtodeg );
+ GetParameter(FG_BETA)*radtodeg,
+ Rotation->GetPQR(3)*radtodeg );
cout << out;
- snprintf(out,80, " Bank Angle: %5.2f deg\n",
- Rotation->Getphi()*radtodeg );
+ snprintf(out,80, " Bank Angle: %5.2f deg Roll Rate: %5.2f deg/s\n",
+ Rotation->Getphi()*radtodeg,
+ Rotation->GetPQR(1)*radtodeg );
cout << out;
snprintf(out,80, " Elevator: %5.2f deg Left Aileron: %5.2f deg Rudder: %5.2f deg\n",
GetParameter(FG_ELEVATOR_POS)*radtodeg,
TrimAxes.push_back(new FGTrimAxis(fdmex,fgic,tWdot,tAlpha ));
TrimAxes.push_back(new FGTrimAxis(fdmex,fgic,tUdot,tThrottle ));
TrimAxes.push_back(new FGTrimAxis(fdmex,fgic,tQdot,tPitchTrim ));
- //TrimAxes.push_back(new FGTrimAxis(fdmex,fgic,tVdot,tBeta ));
- //TrimAxes.push_back(new FGTrimAxis(fdmex,fgic,tPdot,tAileron ));
- //TrimAxes.push_back(new FGTrimAxis(fdmex,fgic,tRdot,tRudder ));
+ TrimAxes.push_back(new FGTrimAxis(fdmex,fgic,tVdot,tBeta ));
+ TrimAxes.push_back(new FGTrimAxis(fdmex,fgic,tPdot,tAileron ));
+ TrimAxes.push_back(new FGTrimAxis(fdmex,fgic,tRdot,tRudder ));
break;
case tCustom:
case tNone:
void FGTrim::setupTurn(void){
double g,phi;
phi = fgic->GetRollAngleRadIC();
- if( fabs(phi) > 0.01 && fabs(phi) < 1.56 ) {
+ if( fabs(phi) > 0.001 && fabs(phi) < 1.56 ) {
targetNlf = 1 / cos(phi);
g = fdmex->GetInertial()->gravity();
- psidot = g*tan(phi) / fgic->GetVtrueFpsIC();
+ psidot = g*tan(phi) / fgic->GetUBodyFpsIC();
cout << targetNlf << ", " << psidot << endl;
}
}
void FGTrim::updateRates(void){
- if(mode == tTurn) {
+ double phi = fgic->GetRollAngleRadIC();
+ double g = fdmex->GetInertial()->gravity();
+ if(fabs(phi) > 0.001 && fabs(phi) < 1.56 ) {
double p,q,r,theta,phi;
theta=fgic->GetPitchAngleRadIC();
phi=fgic->GetRollAngleRadIC();
+ psidot = g*tan(phi) / fgic->GetUBodyFpsIC();
p=-psidot*sin(theta);
q=psidot*cos(theta)*sin(phi);
r=psidot*cos(theta)*cos(phi);