X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FInstrumentation%2Fairspeed_indicator.hxx;h=26dd15a525167c1b63c2a25e12289c07a1443741;hb=0b9adf8854398461333eba43df18fa2f5c8231a1;hp=8f0cfd45d699e3b35824b63b7166a9ef680b0727;hpb=2119db35c3f596268e2ee21d3cd8c359a85cd1ed;p=flightgear.git diff --git a/src/Instrumentation/airspeed_indicator.hxx b/src/Instrumentation/airspeed_indicator.hxx index 8f0cfd45d..26dd15a52 100644 --- a/src/Instrumentation/airspeed_indicator.hxx +++ b/src/Instrumentation/airspeed_indicator.hxx @@ -12,43 +12,63 @@ #endif #include +#include -#include
- +// forward decls +class FGEnvironmentMgr; /** * Model an airspeed indicator tied to the pitot and static ports. * * Input properties: * - * /instrumentation/airspeed-indicator/serviceable - * /systems/pitot[0]/total-pressure-inhg - * /systems/static[0]/pressure-inhg + * /instrumentation/"name"/serviceable + * "pitot_port"/total-pressure-inhg + * "static_port"/pressure-inhg * /environment/density-slugft3 * * Output properties: * - * /instrumentation/airspeed-indicator/indicated-speed-kt + * /instrumentation/"name"/indicated-speed-kt */ -class AirspeedIndicator : public FGSubsystem +class AirspeedIndicator : public SGSubsystem { public: - AirspeedIndicator (); + AirspeedIndicator ( SGPropertyNode *node ); virtual ~AirspeedIndicator (); virtual void init (); virtual void update (double dt); private: + void computeMach(double ias); + std::string _name; + unsigned int _num; + string _total_pressure; + string _static_pressure; + bool _has_overspeed; + string _pressure_alt_source; + double _ias_limit; + double _mach_limit; + double _alt_threshold; + + SGPropertyNode_ptr _ias_limit_node; + SGPropertyNode_ptr _mach_limit_node; + SGPropertyNode_ptr _alt_threshold_node; SGPropertyNode_ptr _serviceable_node; SGPropertyNode_ptr _total_pressure_node; SGPropertyNode_ptr _static_pressure_node; SGPropertyNode_ptr _density_node; SGPropertyNode_ptr _speed_node; + SGPropertyNode_ptr _airspeed_limit; + SGPropertyNode_ptr _pressure_alt; + SGPropertyNode_ptr _mach_node; + SGPropertyNode_ptr _tas_node; + FGEnvironmentMgr* _environmentManager; }; #endif // __INSTRUMENTS_AIRSPEED_INDICATOR_HXX