X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FInstrumentation%2Fairspeed_indicator.hxx;h=26dd15a525167c1b63c2a25e12289c07a1443741;hb=0b9adf8854398461333eba43df18fa2f5c8231a1;hp=e416e739577e1caef8cdeabf98a182a083de8073;hpb=4d146352d702ebfdb53a390eb4b406a30fc17cc8;p=flightgear.git diff --git a/src/Instrumentation/airspeed_indicator.hxx b/src/Instrumentation/airspeed_indicator.hxx index e416e7395..26dd15a52 100644 --- a/src/Instrumentation/airspeed_indicator.hxx +++ b/src/Instrumentation/airspeed_indicator.hxx @@ -11,43 +11,64 @@ # error This library requires C++ #endif -#include -#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