# error This library requires C++
#endif
-const int FG_RAW_CTRLS_VERSION = 1;
+const int FG_RAW_CTRLS_VERSION = 6;
-const int FG_MAX_ENGINES = 10;
-const int FG_MAX_WHEELS = 3;
// Define a structure containing the control parameters
public:
int version; // increment when data values change
+
+ enum {
+ FG_MAX_ENGINES = 4,
+ FG_MAX_WHEELS = 3
+ };
+
+ // Aero controls
double aileron; // -1 ... 1
double elevator; // -1 ... 1
double elevator_trim; // -1 ... 1
double rudder; // -1 ... 1
double flaps; // 0 ... 1
+
+ // Engine controls
+ int num_engines; // number of valid engines
+ int magnetos[FG_MAX_ENGINES];
+ bool starter[FG_MAX_ENGINES]; // true = starter engauged
double throttle[FG_MAX_ENGINES]; // 0 ... 1
double mixture[FG_MAX_ENGINES]; // 0 ... 1
double prop_advance[FG_MAX_ENGINES]; // 0 ... 1
+
+ // Brake controls
+ int num_wheels; // number of valid wheels
double brake[FG_MAX_WHEELS]; // 0 ... 1
+
+ // Landing Gear
+ bool gear_handle; // true=gear handle down; false= gear handle up
+ // Other values of use to a remote FDM
+ double hground; // ground elevation (meters)
+ double magvar; // local magnetic variation in degrees.
+ int speedup; // integer speedup multiplier
};