]> git.mxchange.org Git - flightgear.git/commitdiff
Added magvar offset to VOR's.
authorcurt <curt>
Fri, 12 May 2000 13:41:12 +0000 (13:41 +0000)
committercurt <curt>
Fri, 12 May 2000 13:41:12 +0000 (13:41 +0000)
src/Autopilot/newauto.cxx
src/Cockpit/hud.cxx
src/Cockpit/steam.cxx
src/Time/fg_time.cxx

index c07f5a6776059b6f6e146ec346e1fbcec6979377..664c8c7dfb89f89057320d416c73b90d1d78afb7 100644 (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
 
index e5a0b895de031a6d6481b170ada620835c1118ef..f13b5f4590dd4c3e51aafb8d054ab554a77abd27 100644 (file)
@@ -1168,7 +1168,7 @@ void fgUpdateHUD( void ) {
   glDisable(GL_DEPTH_TEST);
   glDisable(GL_LIGHTING);
 
-// #define ANTI_ALIAS_HUD
+  // #define ANTI_ALIAS_HUD
 #ifdef ANTI_ALIAS_HUD
 #define HUD_COLOR(r,g,b)  glColor4f(r,g,b,hud_trans_alpha)
   glEnable(GL_LINE_SMOOTH);
index f64ea5d929c16485529e1613be31017454a83493..15a071b295c013731e1a042a90a4d4144bd9d6a5 100644 (file)
@@ -315,7 +315,7 @@ void FGSteam::_CatchUp()
 > have it tumble when you exceed the usual pitch or bank limits,
 > put in those insidious turning errors ... for now anyway.
 */
-       the_DG_deg = FGBFI::getHeading () - FGBFI::getMagVar ();
+       the_DG_deg = FGBFI::getHeading () - FGBFI::getMagVar();
 
        /**************************
        Finished updates, now clear the timer 
@@ -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;
index 39afdf439c42e63edecf48c501c7ef4447005146..69b29b461a728ce8339a6ace8d94f67892a4e4b0 100644 (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,