2 //// opengc.hxx - Network interface program to send sim data onto a LAN
4 // Created by: J. Wojnaroski -- castle@mminternet.com
8 // Adapted from original network code developed by C. Olson
10 // This program is free software; you can redistribute it and/or
11 // modify it under the terms of the GNU General Public License as
12 // published by the Free Software Foundation; either version 2 of the
13 // License, or (at your option) any later version.
15 // This program is distributed in the hope that it will be useful, but
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 // General Public License for more details.
20 // You should have received a copy of the GNU General Public License
21 // along with this program; if not, write to the Free Software
22 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
26 #ifndef _FG_OPENGC_HXX
27 #define _FG_OPENGC_HXX
29 #include <simgear/compiler.h>
33 #include <FDM/flight.hxx>
34 #include <Main/fg_props.hxx>
36 #include "protocol.hxx"
37 #include "opengc_data.hxx"
39 class FGOpenGC : public FGProtocol, public FGInterface {
45 SGPropertyNode *press_node;
46 SGPropertyNode *temp_node;
47 SGPropertyNode *wind_dir_node;
48 SGPropertyNode *wind_speed_node;
49 SGPropertyNode *magvar_node;
51 // Position on the Geod
52 SGPropertyNode *p_latitude;
53 SGPropertyNode *p_longitude;
54 SGPropertyNode *p_elev_node;
55 //SGPropertyNode *p_altitude;
56 SGPropertyNode *p_altitude_agl;
59 SGPropertyNode *p_pitch;
60 SGPropertyNode *p_bank;
61 SGPropertyNode *p_heading;
62 SGPropertyNode *p_yaw;
63 SGPropertyNode *p_yaw_rate;
66 SGPropertyNode *vel_kcas;
67 SGPropertyNode *p_vvi;
68 SGPropertyNode *p_mach;
71 SGPropertyNode *p_left_aileron;
72 SGPropertyNode *p_right_aileron;
73 SGPropertyNode *p_elevator;
74 SGPropertyNode *p_elevator_trim;
75 SGPropertyNode *p_rudder;
76 SGPropertyNode *p_flaps;
77 SGPropertyNode *p_flaps_cmd;
80 SGPropertyNode *p_park_brake;
83 SGPropertyNode *egt0_node;
84 SGPropertyNode *egt1_node;
85 SGPropertyNode *egt2_node;
86 SGPropertyNode *egt3_node;
88 SGPropertyNode *epr0_node;
89 SGPropertyNode *epr1_node;
90 SGPropertyNode *epr2_node;
91 SGPropertyNode *epr3_node;
93 SGPropertyNode *n10_node;
94 SGPropertyNode *n11_node;
95 SGPropertyNode *n12_node;
96 SGPropertyNode *n13_node;
98 SGPropertyNode *n20_node;
99 SGPropertyNode *n21_node;
100 SGPropertyNode *n22_node;
101 SGPropertyNode *n23_node;
103 SGPropertyNode *oil_temp0;
104 SGPropertyNode *oil_temp1;
105 SGPropertyNode *oil_temp2;
106 SGPropertyNode *oil_temp3;
109 SGPropertyNode *tank0_node;
110 SGPropertyNode *tank1_node;
111 SGPropertyNode *tank2_node;
112 SGPropertyNode *tank3_node;
113 SGPropertyNode *tank4_node;
114 SGPropertyNode *tank5_node;
115 SGPropertyNode *tank6_node;
116 SGPropertyNode *tank7_node;
117 // Boost pumps; Center tank has only override pumps; boosts are in the
118 // four main wing tanks 1->4
119 // SGPropertyNode *boost1_node;
120 // SGPropertyNode *boost2_node;
121 // SGPropertyNode *boost3_node;
122 // SGPropertyNode *boost4_node;
123 // SGPropertyNode *boost5_node;
124 // SGPropertyNode *boost6_node;
125 // SGPropertyNode *boost7_node;
126 // SGPropertyNode *boost8_node;
128 // SGPropertyNode *ovride0_node;
129 // SGPropertyNode *ovride1_node;
130 // SGPropertyNode *ovride2_node;
131 // SGPropertyNode *ovride3_node;
132 // SGPropertyNode *ovride4_node;
133 // SGPropertyNode *ovride5_node;
135 // SGPropertyNode *x_feed0_node;
136 // SGPropertyNode *x_feed1_node;
137 // SGPropertyNode *x_feed2_node;
138 // SGPropertyNode *x_feed3_node;
141 SGPropertyNode *p_alphadot;
142 SGPropertyNode *p_betadot;
149 // open hailing frequencies
152 // process work for this port
158 void collect_data( const FGInterface *fdm, ogcFGData *data );
161 #endif // _FG_OPENGC_HXX