]> git.mxchange.org Git - flightgear.git/blob - src/Instrumentation/heading_indicator_dg.hxx
Rename Viewer/viewer.cxx to view
[flightgear.git] / src / Instrumentation / heading_indicator_dg.hxx
1 // heading_indicator.hxx - a vacuum-powered heading indicator.\r
2 // Written by David Megginson, started 2002.\r
3 //\r
4 // This file is in the Public Domain and comes with no warranty.\r
5 \r
6 \r
7 #ifndef __INSTRUMENTS_HEADING_INDICATOR_ELEC_HXX\r
8 #define __INSTRUMENTS_HEADING_INDICATOR_ELEC_HXX 1\r
9 \r
10 \r
11 #include <simgear/props/props.hxx>\r
12 #include <simgear/structure/subsystem_mgr.hxx>\r
13 #include <simgear/math/sg_random.h>\r
14 \r
15 #include "gyro.hxx"\r
16 \r
17 \r
18 /**\r
19  * Model an electrically-powered heading indicator.\r
20  *\r
21  * Input properties:\r
22  *\r
23  * /instrumentation/"name"/serviceable\r
24  * /instrumentation/"name"/spin\r
25  * /instrumentation/"name"/offset-deg\r
26  * /orientation/heading-deg\r
27  * /systems/electrical/outputs/DG\r
28  *\r
29  * Output properties:\r
30  *\r
31  * /instrumentation/"name"/indicated-heading-deg\r
32  */\r
33 class HeadingIndicatorDG : public SGSubsystem\r
34 {\r
35 \r
36 public:\r
37 \r
38     HeadingIndicatorDG ( SGPropertyNode *node );\r
39     HeadingIndicatorDG ();\r
40     virtual ~HeadingIndicatorDG ();\r
41 \r
42     virtual void init ();\r
43     virtual void reinit ();\r
44     virtual void bind ();\r
45     virtual void unbind ();\r
46     virtual void update (double dt);\r
47 \r
48 private:\r
49 \r
50     Gyro _gyro;\r
51     double _last_heading_deg, _last_indicated_heading_dg;\r
52 \r
53     std::string name;\r
54     int num;\r
55 \r
56     SGPropertyNode_ptr _offset_node;\r
57     SGPropertyNode_ptr _heading_in_node;\r
58     SGPropertyNode_ptr _serviceable_node;\r
59     SGPropertyNode_ptr _heading_out_node;\r
60     SGPropertyNode_ptr _electrical_node;\r
61     SGPropertyNode_ptr _error_node;\r
62     SGPropertyNode_ptr _nav1_error_node;\r
63     SGPropertyNode_ptr _align_node;\r
64     SGPropertyNode_ptr _yaw_rate_node;\r
65     SGPropertyNode_ptr _heading_bug_error_node;\r
66     SGPropertyNode_ptr _g_node;\r
67 };\r
68 \r
69 #endif // __INSTRUMENTS_HEADING_INDICATOR_ELEC_HXX\r