//
// Written by Curtis Olson, started June 2002.
//
-// Copyright (C) 2002 Curtis L. Olson - curt@flightgear.org
+// Copyright (C) 2002 Curtis L. Olson - http://www.flightgear.org/~curt
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//
// $Id$
#include <Navaids/navlist.hxx>
#include <Sound/morse.hxx>
+class SGSampleGroup;
class FGKR_87 : public SGSubsystem
{
FGMorse morse;
- SGPropertyNode *lon_node;
- SGPropertyNode *lat_node;
- SGPropertyNode *alt_node;
- SGPropertyNode *bus_power;
- SGPropertyNode *serviceable;
+ SGPropertyNode_ptr lon_node;
+ SGPropertyNode_ptr lat_node;
+ SGPropertyNode_ptr alt_node;
+ SGPropertyNode_ptr bus_power;
+ SGPropertyNode_ptr serviceable;
bool need_update;
double effective_range;
double dist;
double heading;
- double x;
- double y;
- double z;
+ SGVec3d xyz;
double goal_needle_deg;
double et_flash_time;
bool flt_ann;
bool et_ann;
+ // internal periodic station search timer
+ double _time_before_search_sec;
+
+ SGSharedPtr<SGSampleGroup> _sgr;
+
public:
FGKR_87( SGPropertyNode *node );
void init ();
void bind ();
void unbind ();
- void update (double dt);
+ void update (double dt_sec);
// Update nav/adf radios based on current postition
void search ();
// internal values
- inline string get_ident() const { return ident; }
+ inline const string& get_ident() const { return ident; }
inline bool get_valid() const { return valid; }
inline bool get_inrange() const { return inrange; }
inline double get_stn_lon() const { return stn_lon; }