]> git.mxchange.org Git - flightgear.git/commitdiff
ADF: add "operable" property
authorThorstenB <brehmt@gmail.com>
Sun, 1 Jul 2012 14:30:53 +0000 (16:30 +0200)
committerThorstenB <brehmt@gmail.com>
Tue, 17 Jul 2012 17:31:49 +0000 (19:31 +0200)
Add same property as for nav radio, to provide a property to cockpit models
whether the ADF is active (serviceable/switched on/power ok/...). Useful
to enable/disable displays (i.e. KR87).

src/Instrumentation/adf.cxx
src/Instrumentation/adf.hxx

index bfde62385875806c35ea7e3d2cc2bdc7cc56dbe6..5ac1c31076fb43e4ab46a5faeed3cd5a63054d68 100644 (file)
@@ -104,6 +104,7 @@ ADF::init ()
     _ident_node = node->getChild("ident", 0, true);
     _ident_audible_node = node->getChild("ident-audible", 0, true);
     _power_btn_node = node->getChild("power-btn", 0, true);
+    _operable_node      = node->getChild("operable", 0, true);
 
     if (_power_btn_node->getType() == simgear::props::NONE) 
       _power_btn_node->setBoolValue(true); // front end didn't implement a power button
@@ -125,10 +126,12 @@ ADF::update (double delta_time_sec)
             || !_serviceable_node->getBoolValue()
             || !_power_btn_node->getBoolValue()     ) {
         _in_range_node->setBoolValue(false);
+        _operable_node->setBoolValue(false);
         _ident_node->setStringValue("");
         return;
     }
 
+    _operable_node->setBoolValue(true);
     string mode = _mode_node->getStringValue();
     if (mode == "ant" || mode == "test") set_bearing(delta_time_sec, 90);
     if (mode != "bfo" && mode != "adf") {
index c8f36e4ff5ad77085e1fb67a538aa6bf880f6b23..04355b7678e57562d0929c503d0a2add7517da9e 100644 (file)
@@ -82,6 +82,7 @@ private:
     SGPropertyNode_ptr _ident_audible_node;
     SGPropertyNode_ptr _volume_node;
     SGPropertyNode_ptr _power_btn_node;
+    SGPropertyNode_ptr _operable_node;
 
     double _time_before_search_sec;