]> git.mxchange.org Git - flightgear.git/blobdiff - src/Instrumentation/adf.hxx
James Turner:
[flightgear.git] / src / Instrumentation / adf.hxx
index fa17234f23a9342792c98ca1553e6da3f411adc9..0feac829db1cd041d842f25722777627d5859de0 100644 (file)
@@ -17,8 +17,9 @@
 #include <simgear/props/props.hxx>
 
 #include <simgear/structure/subsystem_mgr.hxx>
+#include <Sound/morse.hxx>
 
-SG_USING_STD(string);
+using std::string;
 
 
 /**
@@ -35,6 +36,8 @@ SG_USING_STD(string);
  * /instrumentation/adf/error-deg
  * /instrumentation/adf/frequencies/selected-khz
  * /instrumentation/adf/mode
+ * /instrumentation/adf/ident-audible
+ * /instrumentation/adf/volume-norm
  *
  * Output properties:
  *
@@ -47,7 +50,7 @@ class ADF : public SGSubsystem
 
 public:
 
-    ADF ();
+    ADF ( SGPropertyNode *node );
     virtual ~ADF ();
 
     virtual void init ();
@@ -60,6 +63,9 @@ private:
     void search (double frequency, double longitude_rad,
                  double latitude_rad, double altitude_m);
 
+    string _name;
+    unsigned int _num;
+
     SGPropertyNode_ptr _longitude_node;
     SGPropertyNode_ptr _latitude_node;
     SGPropertyNode_ptr _altitude_node;
@@ -73,18 +79,23 @@ private:
     SGPropertyNode_ptr _in_range_node;
     SGPropertyNode_ptr _bearing_node;
     SGPropertyNode_ptr _ident_node;
+    SGPropertyNode_ptr _ident_audible_node;
+    SGPropertyNode_ptr _volume_node;
 
     double _time_before_search_sec;
 
     int _last_frequency_khz;
     bool _transmitter_valid;
     string _last_ident;
-    Point3D _transmitter;
-    double _transmitter_lon_deg;
-    double _transmitter_lat_deg;
-    double _transmitter_elevation_ft;
+    SGGeod _transmitter_pos;
+    SGVec3d _transmitter_cart;
     double _transmitter_range_nm;
 
+    FGMorse morse;
+    int _ident_count;
+    time_t _last_ident_time;
+    double _last_volume;
+    string _adf_ident;
 };