]> git.mxchange.org Git - flightgear.git/commitdiff
More magvar fixes relating to vor/ils.
authorcurt <curt>
Fri, 12 May 2000 14:09:52 +0000 (14:09 +0000)
committercurt <curt>
Fri, 12 May 2000 14:09:52 +0000 (14:09 +0000)
src/Autopilot/newauto.cxx
src/Cockpit/steam.cxx

index 664c8c7dfb89f89057320d416c73b90d1d78afb7..beb25aa6c83cc001542fdcf92e67a4209d7d8b1e 100644 (file)
@@ -303,8 +303,13 @@ int FGAutopilot::run() {
        } else if ( heading_mode == FG_HEADING_NAV1 ) {
            double tgt_radial;
            double cur_radial;
-           tgt_radial = current_radiostack->get_nav1_radial() 
-               + FGBFI::getMagVar();
+           if ( current_radiostack->get_nav1_loc() ) {
+               // localizers radials are "true"
+               tgt_radial = current_radiostack->get_nav1_radial();
+           } else {
+               tgt_radial = current_radiostack->get_nav1_radial() 
+                   + FGBFI::getMagVar();
+           }
            cur_radial = current_radiostack->get_nav1_heading();
            cout << "target rad (true) = " << tgt_radial 
                 << "  current rad (true) = " << cur_radial
index 15a071b295c013731e1a042a90a4d4144bd9d6a5..567c7bc67ca5d63f16811c164dd9fc91564d403b 100644 (file)
@@ -349,8 +349,14 @@ double FGSteam::get_HackVOR1_deg () {
     double r;
 
     if ( current_radiostack->get_nav1_inrange() ) {
-       r = current_radiostack->get_nav1_heading() - FGBFI::getMagVar()
-           - current_radiostack->get_nav1_radial();
+       if ( current_radiostack->get_nav1_loc() ) {
+           // localizer doesn't need magvar offset
+           r = current_radiostack->get_nav1_heading()
+               - current_radiostack->get_nav1_radial();
+       } else {
+           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;
@@ -372,8 +378,14 @@ double FGSteam::get_HackVOR2_deg () {
     double r;
 
     if ( current_radiostack->get_nav2_inrange() ) {
-       r = current_radiostack->get_nav2_heading() - FGBFI::getMagVar()
-           - current_radiostack->get_nav2_radial();
+       if ( current_radiostack->get_nav2_loc() ) {
+           // localizer doesn't need magvar offset
+           r = current_radiostack->get_nav2_heading()
+               - current_radiostack->get_nav2_radial();
+       } else {
+           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;