X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FInstrumentation%2Fadf.hxx;h=c8f36e4ff5ad77085e1fb67a538aa6bf880f6b23;hb=1df5347a06d5f38bc6d6267f242d5331b7c6f02b;hp=fa17234f23a9342792c98ca1553e6da3f411adc9;hpb=3c764462e6bb3523159716953ccf81c0b7d3d47a;p=flightgear.git diff --git a/src/Instrumentation/adf.hxx b/src/Instrumentation/adf.hxx index fa17234f2..c8f36e4ff 100644 --- a/src/Instrumentation/adf.hxx +++ b/src/Instrumentation/adf.hxx @@ -13,14 +13,15 @@ #include -#include #include #include -SG_USING_STD(string); +using std::string; +class SGSampleGroup; + /** * Model an ADF radio. * @@ -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); + std::string _name; + unsigned int _num; + SGPropertyNode_ptr _longitude_node; SGPropertyNode_ptr _latitude_node; SGPropertyNode_ptr _altitude_node; @@ -73,18 +79,25 @@ private: SGPropertyNode_ptr _in_range_node; SGPropertyNode_ptr _bearing_node; SGPropertyNode_ptr _ident_node; + SGPropertyNode_ptr _ident_audible_node; + SGPropertyNode_ptr _volume_node; + SGPropertyNode_ptr _power_btn_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; + int _ident_count; + time_t _last_ident_time; + float _last_volume; + string _adf_ident; + + SGSharedPtr _sgr; };