]> git.mxchange.org Git - flightgear.git/blob - src/Instrumentation/annunciator.hxx
throw out "zoomed" tapes. These drew 60% of the scale with bullets rather
[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 #include <simgear/structure/subsystem_mgr.hxx>
14
15
16 /**
17  * Model the annunciators.  This is innitially hard coded for a C172S
18  *
19  * Input properties:
20  *
21  * Amps
22  * L/R Fuel qty
23  * L/R Vacuum pumps
24  * Oil pressure
25  *
26  * Output properties:
27  *
28  * /instrumentation/airspeed-indicator/indicated-speed-kt
29  */
30 class Annunciator : public SGSubsystem
31 {
32
33     // timers
34     double timer0;              // used to sync flashing
35     double timer1;
36     double timer2;
37     double timer3;
38     double timer4;
39
40     // inputs
41     SGPropertyNode_ptr _volts;
42     SGPropertyNode_ptr _vac_l;
43     SGPropertyNode_ptr _vac_r;
44     SGPropertyNode_ptr _fuel_l;
45     SGPropertyNode_ptr _fuel_r;
46     SGPropertyNode_ptr _oil_px;
47     SGPropertyNode_ptr _elec_serv;
48
49     // outputs
50     SGPropertyNode_ptr _ann_volts;  // VOLTS        (red)
51     SGPropertyNode_ptr _ann_vac_l;  // L VAC        (amber)
52     SGPropertyNode_ptr _ann_vac_r;  //   VAC R      (amber
53     SGPropertyNode_ptr _ann_fuel_l; // L LOW FUEL   (amber)
54     SGPropertyNode_ptr _ann_fuel_r; //   LOW FUEL R (amber)
55     SGPropertyNode_ptr _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