]> git.mxchange.org Git - flightgear.git/blob - src/Instrumentation/annunciator.hxx
Moved random ground cover object management code (userdata.[ch]xx) over
[flightgear.git] / src / Instrumentation / annunciator.hxx
1 // annunciator.hxx - manage the annunciator states
2 // Written by Curtis Olson, started May, 2003.
3
4
5 #ifndef __INSTRUMENTS_ANNUNCIATOR_HXX
6 #define __INSTRUMENTS_ANNUNCIATOR_HXX 1
7
8 #ifndef __cplusplus
9 # error This library requires C++
10 #endif
11
12 #include <simgear/props/props.hxx>
13
14 #include <Main/fgfs.hxx>
15
16
17 /**
18  * Model the annunciators.  This is innitially hard coded for a C172S
19  *
20  * Input properties:
21  *
22  * Amps
23  * L/R Fuel qty
24  * L/R Vacuum pumps
25  * Oil pressure
26  *
27  * Output properties:
28  *
29  * /instrumentation/airspeed-indicator/indicated-speed-kt
30  */
31 class Annunciator : public FGSubsystem
32 {
33
34     // timers
35     double timer0;              // used to sync flashing
36     double timer1;
37     double timer2;
38     double timer3;
39     double timer4;
40
41     // inputs
42     SGPropertyNode *_volts;
43     SGPropertyNode *_vac_l;
44     SGPropertyNode *_vac_r;
45     SGPropertyNode *_fuel_l;
46     SGPropertyNode *_fuel_r;
47     SGPropertyNode *_oil_px;
48     
49     // outputs
50     SGPropertyNode *_ann_volts;  // VOLTS        (red)
51     SGPropertyNode *_ann_vac_l;  // L VAC        (amber)
52     SGPropertyNode *_ann_vac_r;  //   VAC R      (amber
53     SGPropertyNode *_ann_fuel_l; // L LOW FUEL   (amber)
54     SGPropertyNode *_ann_fuel_r; //   LOW FUEL R (amber)
55     SGPropertyNode *_ann_oil_px; // OIL PRESS    (red)
56
57 public:
58
59     Annunciator ();
60     virtual ~Annunciator ();
61
62     virtual void init ();
63     virtual void update (double dt);
64
65 private:
66
67 };
68
69 #endif // __INSTRUMENTS_ANNUNCIATOR_HXX