]> git.mxchange.org Git - flightgear.git/blobdiff - src/Instrumentation/marker_beacon.hxx
Fix GPS intercept controller:
[flightgear.git] / src / Instrumentation / marker_beacon.hxx
index c7e95909c033ee845d5f7941098b09b77b32971d..7ed085aaad5ea65224142faf7659749ecc1e52fd 100644 (file)
 
 #include <simgear/compiler.h>
 #include <simgear/structure/subsystem_mgr.hxx>
-#include <simgear/math/interpolater.hxx>
 #include <simgear/timing/timestamp.hxx>
 
-#include <Sound/beacon.hxx>
-#include <Sound/morse.hxx>
-
+class SGSampleGroup;
 
 class FGMarkerBeacon : public SGSubsystem
 {
-    FGBeacon beacon;
-    FGMorse morse;
-
-    SGInterpTable *term_tbl;
-    SGInterpTable *low_tbl;
-    SGInterpTable *high_tbl;
 
     // Inputs
-    SGPropertyNode *lon_node;
-    SGPropertyNode *lat_node;
-    SGPropertyNode *alt_node;
-    SGPropertyNode *bus_power;
-    SGPropertyNode *power_btn;
-    SGPropertyNode *audio_btn;
-    SGPropertyNode *serviceable;
-    SGPropertyNode *sound_pause;
-
-    bool need_update;
+    SGPropertyNode_ptr lon_node;
+    SGPropertyNode_ptr lat_node;
+    SGPropertyNode_ptr alt_node;
+    SGPropertyNode_ptr bus_power;
+    SGPropertyNode_ptr power_btn;
+    SGPropertyNode_ptr audio_btn;
+    SGPropertyNode_ptr audio_vol;
+    SGPropertyNode_ptr serviceable;
+    SGPropertyNode_ptr sound_working;
 
     bool outer_marker;
     bool middle_marker;
@@ -66,25 +56,28 @@ class FGMarkerBeacon : public SGSubsystem
     bool middle_blink;
     bool inner_blink;
 
-    string name;
+    std::string name;
     int num;
 
     // internal periodic station search timer
     double _time_before_search_sec;
 
+    SGSharedPtr<SGSampleGroup> _sgr;
+
 public:
 
     enum fgMkrBeacType {
-       NOBEACON = 0,
-       INNER,
-       MIDDLE,
-       OUTER   
+        NOBEACON = 0,
+        INNER,
+        MIDDLE,
+        OUTER
     };
 
     FGMarkerBeacon(SGPropertyNode *node);
     ~FGMarkerBeacon();
 
     void init ();
+    void reinit ();
     void bind ();
     void unbind ();
     void update (double dt);