X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FInstrumentation%2Fattitude_indicator.hxx;h=fe278ddc0d859b1f176e412b811390f1d8eafbeb;hb=0a5e86f4e61a80ff19b78de011852a7b60250b7a;hp=26196eb032170ce753fcec0d75549ea9137a1f29;hpb=b0afca93d5f8877f03fb7ca83eff1d3f486c7375;p=flightgear.git diff --git a/src/Instrumentation/attitude_indicator.hxx b/src/Instrumentation/attitude_indicator.hxx index 26196eb03..fe278ddc0 100644 --- a/src/Instrumentation/attitude_indicator.hxx +++ b/src/Instrumentation/attitude_indicator.hxx @@ -11,34 +11,37 @@ # error This library requires C++ #endif -#include -#include
+#include +#include + +#include "gyro.hxx" /** * Model a vacuum-powered attitude indicator. * - * This first, simple draft is hard-wired to vacuum pump #1. - * * Input properties: * - * /instrumentation/attitude-indicator/serviceable - * /instrumentation/attitude-indicator/spin + * /instrumentation/"name"/config/tumble-flag + * /instrumentation/"name"/serviceable + * /instrumentation/"name"/caged-flag + * /instrumentation/"name"/tumble-norm * /orientation/pitch-deg * /orientation/roll-deg - * /systems/vacuum[0]/suction-inhg + * "vacuum-system"/suction-inhg * * Output properties: * - * /instrumentation/attitude-indicator/indicated-pitch-deg - * /instrumentation/attitude-indicator/indicated-roll-deg + * /instrumentation/"name"/indicated-pitch-deg + * /instrumentation/"name"/indicated-roll-deg + * /instrumentation/"name"/tumble-norm */ -class AttitudeIndicator : public FGSubsystem +class AttitudeIndicator : public SGSubsystem { public: - AttitudeIndicator (); + AttitudeIndicator ( SGPropertyNode *node ); virtual ~AttitudeIndicator (); virtual void init (); @@ -48,14 +51,26 @@ public: private: - SGPropertyNode_ptr _serviceable_node; - SGPropertyNode_ptr _spin_node; + string _name; + int _num; + string _suction; + + Gyro _gyro; + + SGPropertyNode_ptr _tumble_flag_node; + SGPropertyNode_ptr _caged_node; + SGPropertyNode_ptr _tumble_node; SGPropertyNode_ptr _pitch_in_node; SGPropertyNode_ptr _roll_in_node; SGPropertyNode_ptr _suction_node; + SGPropertyNode_ptr _pitch_int_node; + SGPropertyNode_ptr _roll_int_node; SGPropertyNode_ptr _pitch_out_node; SGPropertyNode_ptr _roll_out_node; + double spin_thresh; + double max_roll_error; + double max_pitch_error; }; #endif // __INSTRUMENTS_ATTITUDE_INDICATOR_HXX