]> git.mxchange.org Git - flightgear.git/blobdiff - src/Network/opengc_data.hxx
NavDisplay - custom symbol support enabled.
[flightgear.git] / src / Network / opengc_data.hxx
index f057139acc96bfa0764331fce600dc589c33238b..c7dc80e5b25d5c520db6413e8edc71b7ee1a8348 100644 (file)
@@ -1,8 +1,17 @@
-// opengc.hxx -- define shared flight model parameters
+// opengc_data.hxx -- Define structure of OpenGC/FG interface parameters
+//
+//  Version by J. Wojnaroski for interface to Open Glass Displays
+//
+//  Modified 02/12/01 - Update engine structure for multi-engine models
+//                       - Added data preamble to id msg types
+//
+//  Modified 01/23/02 - Converted portions of the Engine and Gear accesssors to properties
+//                         - Removed data from navigation functions. OpenGC provides own
+//
+// This file defines the class/structure of the UDP packet that sends
+// the simulation data created by FlightGear to the glass displays. It
+// is required to "sync" the data types contained in the packet
 //
-// Version 1.0 by J. Wojnaroski for interface to Open Glass Displays
-// Date: Nov 18,2001
-
 // This program is free software; you can redistribute it and/or
 // modify it under the terms of the GNU General Public License as
 // published by the Free Software Foundation; either version 2 of the
 //
 // You should have received a copy of the GNU General Public License
 // along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 //
 
-#ifndef _OPENGC_HXX
-#define _OPENGC_HXX
+#ifndef _OPENGC_DATA_HXX
+#define _OPENGC_DATA_HXX
 
 #ifndef __cplusplus
 # error This library requires C++
 #endif
 
+const int OGC_VERSION = 4;
+
 class ogcFGData {
 
 public:
 
-       // flight parameters
+    // defines msg types and contents. The msg_content is used as a 'pointer' to
+    // a predefined set of msg strings
+    int        version_id;
+    int        msg_type;
+    int        msg_content;
+    int  reserved;
+
+    // position
+
+    double     latitude;
+    double     longitude;
+    double     elevation;
+    double     magvar;
+
+    // flight parameters
        
-       double  pitch;
-       double  bank;
-       double  heading;
-       double  altitude;
-       double  altitude_agl;
-       double  v_kcas;
-       double  groundspeed;
-       double  vvi;
-
-       // position
-
-       double  latitude;
-       double  longitude;
-       double  magvar;
-
-       // engine data
-
-       double  rpm[4];
-       double  epr[4];
-       double  egt[4];
-       double  fuel_flow[4];
-       double  oil_pressure[4];
-
-       // navigation data
-
-       double  nav1_freq;
-       double  nav1_radial;
-       double  nav1_course_dev;
-
-       double  nav2_freq;
-       double  nav2_radial;
-       double  nav2_course_dev;
-
-       // some other locations to add stuff in   
-    double d_ogcdata[16];
-    float  f_ogcdata[16];
-    int    i_ogcdata[16];
+    double     pitch;
+    double     bank;
+    double     heading;
+    double     altitude;
+    double     altitude_agl;  // this can also be the radar altimeter
+    double  v_kcas;
+    double     groundspeed;
+    double     vvi;
+    double  mach;
+    double     v_keas;  // equivalent airspeed in knots
+
+  // Data used by the FMC and autopilots
+
+    double     phi_dot;
+    double     theta_dot;
+    double     psi_dot;
+
+    double     alpha;
+    double     alpha_dot;
+    double     beta;
+    double     beta_dot;
+
+  // Control surface positions
+
+    double     left_aileron;
+    double  right_aileron;
+    double     aileron_trim;
+    double     elevator;
+    double     elevator_trim;
+    double     rudder;
+    double     rudder_trim;
+    double     flaps;
+    double  flaps_cmd;
+
+  // gear positions 0 = up and 1 = down  The 747 has 5 wheel bogey assemblies
+
+    double     gear_nose;
+    double     gear_left;
+    double     gear_right;
+    double  gear_left_rear;
+    double  gear_right_rear;
+    double     parking_brake;
+    bool               wow_main;  // logical and of main gear
+               bool            wow_nose;       
+    // engine data
+
+    double     rpm[4];  // this is for pistons, jets see below
+    double     n1_turbine[4];
+    double     epr[4];
+    double     egt[4];
+    double  n2_turbine[4];
+    double     fuel_flow[4];
+    double  man_pressure[4];
+    double     oil_pressure[4];
+    double     oil_temp[4];
+    double     oil_quantity[4];
+    double     hyd_pressure[4];
+    double     throttle[4];
+    double     mixture[4];
+    double     prop_advance[4];
+    
+    // fuel system
+    int num_tanks;
+    double fuel_tank[9];
+   
+    // Pressures and temperatures
+
+    double     static_temperature;
+    double     total_temperature;
+    double     static_pressure;
+    double     total_pressure;
+    double     dynamic_pressure;
+    
+    // more environmental data
+               double wind;
+               double wind_dir;
+               double sea_level_pressure;
 };
 
 #endif // _OPENGC_HXX