]> git.mxchange.org Git - flightgear.git/blobdiff - src/Network/net_fdm.hxx
Added static port system and a new altimeter model connected to it.
[flightgear.git] / src / Network / net_fdm.hxx
index ad7bbda06e3be12f8a7e169e7f238e620fa39119..7828bc3958a05b593e5d0e56cd83c91c2d811267 100644 (file)
 # error This library requires C++
 #endif                                   
 
-const int FG_NET_FDM_VERSION = 5;
+#include <time.h> // time_t
+
+const int FG_NET_FDM_VERSION = 9;
+
 
 // Define a structure containing the top level flight dynamics model
 // parameters
@@ -45,6 +48,12 @@ public:
                                 // SPARC, which don't like misaligned
                                 // data
 
+    enum {
+        FG_MAX_ENGINES = 4,
+        FG_MAX_WHEELS = 3,
+        FG_MAX_TANKS = 4
+    };
+
     // Positions
     double longitude;          // geodetic (radians)
     double latitude;           // geodetic (radians)
@@ -60,12 +69,33 @@ public:
     double psidot;             // yaw rate (radians/sec)
     double vcas;               // calibrated airspeed
     double climb_rate;         // feet per second
+    double v_north;             // north velocity in local/body frame, fps
+    double v_east;              // east velocity in local/body frame, fps
+    double v_down;              // down/vertical velocity in local/body frame, fps
 
     // Accelerations
     double A_X_pilot;          // X accel in body frame ft/sec^2
     double A_Y_pilot;          // Y accel in body frame ft/sec^2
     double A_Z_pilot;          // Z accel in body frame ft/sec^2
 
+    // Engine status
+    int num_engines;           // Number of valid engines
+    int eng_state[FG_MAX_ENGINES]; // Engine state (off, cranking, running)
+    double rpm[FG_MAX_ENGINES];        // Engine RPM rev/min
+    double fuel_flow[FG_MAX_ENGINES]; // Fuel flow gallons/hr
+    double EGT[FG_MAX_ENGINES];        // Exhuast gas temp deg F
+    double oil_temp[FG_MAX_ENGINES]; // Oil temp deg F
+    double oil_px[FG_MAX_ENGINES]; // Oil pressure psi
+
+    // Consumables
+    int num_tanks;             // Max number of fuel tanks
+    double fuel_quantity[FG_MAX_TANKS];
+
+    // Gear and flaps status
+    int num_wheels;
+    bool wow[FG_MAX_WHEELS];
+    double flap_deflection;     // normalized from 0 = up to 1 = full deflection
+
     // Environment
     time_t cur_time;            // current unix time
     long int warp;              // offset in seconds to unix time