]> git.mxchange.org Git - flightgear.git/blobdiff - src/Cockpit/radiostack.cxx
Tweaks for Mips Irix compilers.
[flightgear.git] / src / Cockpit / radiostack.cxx
index 30140293351446a96190398737f06a2337a3c04e..9b93cc8bc296bbfe95a274629f3803a090076823 100644 (file)
@@ -135,9 +135,9 @@ FGRadioStack::bind ()
     fgTie("/radios/nav2/dme/distance", this, &FGRadioStack::get_nav2_dme_dist);
     fgTie("/radios/nav2/dme/in-range", this,
          &FGRadioStack::get_nav2_dme_inrange);
-    fgTie("/radios/nav1/heading-needle-deflection", this,
+    fgTie("/radios/nav2/heading-needle-deflection", this,
          &FGRadioStack::get_nav2_heading_needle_deflection);
-    fgTie("/radios/nav1/gs-needle-deflection", this,
+    fgTie("/radios/nav2/gs-needle-deflection", this,
          &FGRadioStack::get_nav2_gs_needle_deflection);
 
                                // User inputs
@@ -455,14 +455,19 @@ double FGRadioStack::get_nav1_heading_needle_deflection() const {
        // cout << "Radial = " << nav1_radial 
        //      << "  Bearing = " << nav1_heading << endl;
     
-       while (r> 180.0) r-=360.0;
-       while (r<-180.0) r+=360.0;
-       if ( fabs(r) > 90.0 )
+       while ( r >  180.0 ) { r -= 360.0;}
+       while ( r < -180.0 ) { r += 360.0;}
+       if ( fabs(r) > 90.0 ) {
            r = ( r<0.0 ? -r-180.0 : -r+180.0 );
+           if ( nav1_loc ) {
+               r = -r;
+           }
+       }
+
        // According to Robin Peel, the ILS is 4x more sensitive than a vor
-       if ( nav1_loc ) r *= 4.0;
-       if ( r < -10.0 ) r = -10.0;
-       if ( r > 10.0 ) r = 10.0;
+       if ( nav1_loc ) { r *= 4.0; }
+       if ( r < -10.0 ) { r = -10.0; }
+       if ( r >  10.0 ) { r = 10.0; }
     } else {
        r = 0.0;
     }
@@ -477,15 +482,15 @@ double FGRadioStack::get_nav2_heading_needle_deflection() const {
 
     if ( nav2_inrange ) {
         r = nav2_heading - nav2_radial;
-       // cout << "Radial = " << nav1_radial 
-       //      << "  Bearing = " << nav1_heading << endl;
+       // cout << "Radial = " << nav2_radial 
+       //      << "  Bearing = " << nav2_heading << endl;
     
        while (r> 180.0) r-=360.0;
        while (r<-180.0) r+=360.0;
        if ( fabs(r) > 90.0 )
            r = ( r<0.0 ? -r-180.0 : -r+180.0 );
        // According to Robin Peel, the ILS is 4x more sensitive than a vor
-       if ( nav1_loc ) r *= 4.0;
+       if ( nav2_loc ) r *= 4.0;
        if ( r < -10.0 ) r = -10.0;
        if ( r > 10.0 ) r = 10.0;
     } else {
@@ -532,7 +537,7 @@ FGRadioStack::get_nav1_to_flag () const
   if (nav1_inrange) {
     double offset = fabs(nav1_heading - nav1_radial);
     if (nav1_loc)
-      return (offset <= 8.0 || offset >= 352.0);
+      return true;
     else
       return (offset <= 90.0 || offset >= 270.0);
   } else {
@@ -550,7 +555,7 @@ FGRadioStack::get_nav1_from_flag () const
   if (nav1_inrange) {
     double offset = fabs(nav1_heading - nav1_radial);
     if (nav1_loc)
-      return (offset >= 172.0 && offset <= 188.0);
+      return false;
     else
       return (offset > 90.0 && offset < 270.0);
   } else {
@@ -568,7 +573,7 @@ FGRadioStack::get_nav2_to_flag () const
   if (nav2_inrange) {
     double offset = fabs(nav2_heading - nav2_radial);
     if (nav2_loc)
-      return (offset <= 8.0 || offset >= 352.0);
+      return true;
     else
       return (offset <= 90.0 || offset >= 270.0);
   } else {
@@ -586,7 +591,7 @@ FGRadioStack::get_nav2_from_flag () const
   if (nav2_inrange) {
     double offset = fabs(nav2_heading - nav2_radial);
     if (nav2_loc)
-      return (offset >= 172.0 && offset <= 188.0);
+      return false;
     else
       return (offset > 90.0 && offset < 270.0);
   } else {
@@ -594,4 +599,3 @@ FGRadioStack::get_nav2_from_flag () const
   }
 }
 
-