1
0
Fork 0

Added magvar offset to VOR's.

This commit is contained in:
curt 2000-05-12 13:41:12 +00:00
parent 519996f34d
commit 51898e3a14
4 changed files with 17 additions and 17 deletions

View file

@ -303,14 +303,11 @@ int FGAutopilot::run() {
} else if ( heading_mode == FG_HEADING_NAV1 ) {
double tgt_radial;
double cur_radial;
if ( current_radiostack->get_nav1_loc() ) {
tgt_radial = current_radiostack->get_nav1_radial() + 180.0;
} else {
tgt_radial = current_radiostack->get_nav1_radial();
}
tgt_radial = current_radiostack->get_nav1_radial()
+ FGBFI::getMagVar();
cur_radial = current_radiostack->get_nav1_heading();
cout << "target rad = " << tgt_radial
<< " current rad = " << cur_radial
cout << "target rad (true) = " << tgt_radial
<< " current rad (true) = " << cur_radial
<< endl;
double diff = (tgt_radial - cur_radial);
@ -324,7 +321,7 @@ int FGAutopilot::run() {
TargetHeading = cur_radial - diff;
while ( TargetHeading < 0.0 ) { TargetHeading += 360.0; }
while ( TargetHeading > 360.0 ) { TargetHeading -= 360.0; }
cout << "target course = " << TargetHeading << endl;
cout << "target course (true) = " << TargetHeading << endl;
} else if ( heading_mode == FG_HEADING_WAYPOINT ) {
// update target heading to waypoint

View file

@ -338,7 +338,7 @@ double FGSteam::get_HackGS_deg () {
double y = (FGBFI::getAltitude() - current_radiostack->get_nav1_elev())
* FEET_TO_METER;
double angle = atan2( y, x ) * RAD_TO_DEG;
return current_radiostack->get_nav1_target_gs() - angle;
return (current_radiostack->get_nav1_target_gs() - angle) * 5.0;
} else {
return 0.0;
}
@ -349,8 +349,8 @@ double FGSteam::get_HackVOR1_deg () {
double r;
if ( current_radiostack->get_nav1_inrange() ) {
r = current_radiostack->get_nav1_heading() -
current_radiostack->get_nav1_radial();
r = current_radiostack->get_nav1_heading() - FGBFI::getMagVar()
- current_radiostack->get_nav1_radial();
// cout << "Radial = " << current_radiostack->get_nav1_radial()
// << " Bearing = " << current_radiostack->get_nav1_heading()
// << endl;
@ -359,7 +359,7 @@ double FGSteam::get_HackVOR1_deg () {
if (r<-180.0) r+=360.0;
if ( fabs(r) > 90.0 )
r = ( r<0.0 ? -r-180.0 : -r+180.0 );
if ( current_radiostack->get_nav1_loc() ) r *= -5.0;
if ( current_radiostack->get_nav1_loc() ) r *= 5.0;
} else {
r = 0.0;
}
@ -372,8 +372,8 @@ double FGSteam::get_HackVOR2_deg () {
double r;
if ( current_radiostack->get_nav2_inrange() ) {
r = current_radiostack->get_nav2_radial() -
current_radiostack->get_nav2_heading() + 180.0;
r = current_radiostack->get_nav2_heading() - FGBFI::getMagVar()
- current_radiostack->get_nav2_radial();
// cout << "Radial = " << current_radiostack->get_nav1_radial()
// << " Bearing = " << current_radiostack->get_nav1_heading() << endl;
@ -403,7 +403,7 @@ double FGSteam::get_HackADF_deg () {
double r;
if ( current_radiostack->get_adf_inrange() ) {
r = current_radiostack->get_adf_heading() - FGBFI::getHeading() + 180.0;
r = current_radiostack->get_adf_heading() - FGBFI::getHeading();
// cout << "Radial = " << current_radiostack->get_adf_heading()
// << " Heading = " << FGBFI::getHeading() << endl;

View file

@ -401,6 +401,9 @@ void FGTime::update( double lon, double lat, double alt_m ) {
magvar = SGMagVar( lat, lon, alt_m / 1000.0, (long)jd, field );
magdip = atan(field[5]/sqrt(field[3]*field[3]+field[4]*field[4]));
FG_LOG( FG_EVENT, FG_DEBUG,
" Current magvar = " << magvar );
FG_LOG( FG_EVENT, FG_DEBUG,
" Current lon=0.00 Sidereal Time = " << gst );
FG_LOG( FG_EVENT, FG_DEBUG,