X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FNetwork%2Fopengc_data.hxx;h=c7dc80e5b25d5c520db6413e8edc71b7ee1a8348;hb=a1031b052dd40ca3a4ea68dcd7f572b7d9e4bb24;hp=f057139acc96bfa0764331fce600dc589c33238b;hpb=a69e2cc976f4e0b762572a6fc3f34f32c46b08d5;p=flightgear.git diff --git a/src/Network/opengc_data.hxx b/src/Network/opengc_data.hxx index f057139ac..c7dc80e5b 100644 --- a/src/Network/opengc_data.hxx +++ b/src/Network/opengc_data.hxx @@ -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 @@ -15,59 +24,116 @@ // // 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