-// mk_viii.cxx -- Honeywell MK VIII EGPWS emulation
+// mk_viii.hxx -- Honeywell MK VIII EGPWS emulation
//
// Written by Jean-Yves Lefort, started September 2005.
//
SGPropertyNode_ptr altimeter_serviceable;
SGPropertyNode_ptr altitude;
SGPropertyNode_ptr altitude_agl;
+ SGPropertyNode_ptr altitude_gear_agl;
+ SGPropertyNode_ptr altitude_radar_agl;
+ SGPropertyNode_ptr orientation_roll;
SGPropertyNode_ptr asi_serviceable;
SGPropertyNode_ptr asi_speed;
SGPropertyNode_ptr autopilot_heading_lock;
bool alternate_steep_approach;
bool use_internal_gps;
bool localizer_enabled;
+ int altitude_source;
+ bool use_attitude_indicator;
} conf;
struct _s_input_feeders
void update_egpws_alert_discrete_2 ();
void update_egpwc_alert_discrete_3 ();
void update_outputs ();
+ void reposition ();
void update_lamps ();
void set_lamp (Lamp lamp);
typedef deque< Sample<double> > samples_type;
samples_type samples;
double value;
+ double last_update;
public:
inline TerrainClearanceFilter ()
- : value(0) {}
+ : value(0.0), last_update(-1.0) {}
double update (double agl);
void reset ();
} conf;
inline Mode4Handler (MK_VIII *device)
- : mk(device) {}
+ : mk(device),ab_bias(0.0),ab_expanded_bias(0.0),c_bias(0.0) {}
double get_upper_agl (const EnvelopesConfiguration *c);
void update ();
public:
inline Mode5Handler (MK_VIII *device)
- : mk(device) {}
+ : mk(device), soft_bias(0.0) {}
void update ();
};