]> git.mxchange.org Git - flightgear.git/blobdiff - src/Instrumentation/dme.cxx
kln89 user interface logical pages
[flightgear.git] / src / Instrumentation / dme.cxx
index 272d407636937ce4c63f7bd8234e340b26c9f9ce..7915ea5eb4816324f3dbcb22a0cb2e0d09a5e27c 100644 (file)
@@ -57,9 +57,9 @@ DME::DME ( SGPropertyNode *node )
         } else if ( cname == "number" ) {
             num = child->getIntValue();
         } else {
-            SG_LOG( SG_AUTOPILOT, SG_WARN, "Error in dme config logic" );
+            SG_LOG( SG_INSTR, SG_WARN, "Error in dme config logic" );
             if ( name.length() ) {
-                SG_LOG( SG_AUTOPILOT, SG_WARN, "Section = " << name );
+                SG_LOG( SG_INSTR, SG_WARN, "Section = " << name );
             }
         }
     }
@@ -98,10 +98,8 @@ DME::init ()
     _frequency_node = fnode->getChild("selected-mhz", 0, true);
     _in_range_node = node->getChild("in-range", 0, true);
     _distance_node = node->getChild("indicated-distance-nm", 0, true);
-    _speed_node = node->getChild("indicated-ground-speed", 0, true);
+    _speed_node = node->getChild("indicated-ground-speed-kt", 0, true);
     _time_node = node->getChild("indicated-time-min", 0, true);
-
-    _serviceable_node->setBoolValue(true);
 }
 
 void
@@ -112,11 +110,11 @@ DME::update (double delta_time_sec)
     if (source[0] == '\0') {
         string branch;
         branch = "/instrumentation/" + name + "/frequencies/selected-mhz";
-        source = branch.c_str();
-        _source_node->setStringValue(source);
+        _source_node->setStringValue(branch.c_str());
+        source = _source_node->getStringValue();
     }
-
                                 // Get the frequency
+
     double frequency_mhz = fgGetDouble(source, 108.0);
     if (frequency_mhz != _last_frequency_mhz) {
         _time_before_search_sec = 0;
@@ -153,9 +151,11 @@ DME::update (double delta_time_sec)
     Point3D location =
         sgGeodToCart(Point3D(longitude_rad, latitude_rad, altitude_m));
     double distance_nm = _transmitter.distance3D(location) * SG_METER_TO_NM;
+
     double range_nm = adjust_range(_transmitter_elevation_ft,
                                    altitude_m * SG_METER_TO_FEET,
                                    _transmitter_range_nm);
+
     if (distance_nm <= range_nm) {
         double speed_kt = (fabs(distance_nm - _last_distance_nm) *
                            ((1 / delta_time_sec) * 3600.0));