]> git.mxchange.org Git - flightgear.git/blobdiff - src/Instrumentation/adf.cxx
Make hardcoded error values configurable.
[flightgear.git] / src / Instrumentation / adf.cxx
index de82dfd55eca97e5cb81e2a28d29f89bf8ead84c..053812a0df61c6a4845a545458b3fc03c3f72074 100644 (file)
@@ -10,6 +10,7 @@
 #include <simgear/compiler.h>
 #include <simgear/math/sg_geodesy.hxx>
 #include <simgear/math/sg_random.h>
+#include <simgear/timing/sg_time.hxx>
 
 #include <Main/fg_props.hxx>
 #include <Main/util.hxx>
@@ -111,8 +112,8 @@ void
 ADF::update (double delta_time_sec)
 {
                                 // If it's off, don't waste any time.
-    if (!_electrical_node->getBoolValue() ||
-        !_serviceable_node->getBoolValue()) {
+    if (_electrical_node->getDoubleValue() < 1.0
+            || !_serviceable_node->getBoolValue()) {
         set_bearing(delta_time_sec, 90);
         _ident_node->setStringValue("");
         return;
@@ -216,16 +217,15 @@ ADF::search (double frequency_khz, double longitude_rad,
     _time_before_search_sec = 1.0;
 
                                 // try the ILS list first
-    FGNavRecord *nav =
-        globals->get_navlist()->findByFreq(frequency_khz, longitude_rad,
-                                           latitude_rad, altitude_m);
+    FGNavRecord *nav = globals->get_navlist()->findByFreq(frequency_khz,
+      SGGeod::fromRadM(longitude_rad, latitude_rad, altitude_m));
 
     _transmitter_valid = (nav != NULL);
     if ( _transmitter_valid ) {
         ident = nav->get_trans_ident();
         if ( ident != _last_ident ) {
-            _transmitter_pos = nav->get_pos();
-            _transmitter_cart = nav->get_cart();
+            _transmitter_pos = nav->geod();
+            _transmitter_cart = nav->cart();
             _transmitter_range_nm = nav->get_range();
         }
     }