]> git.mxchange.org Git - flightgear.git/blob - src/FDM/JSBSim/FGControls.cpp
Updates from the Jon and Tony show.
[flightgear.git] / src / FDM / JSBSim / FGControls.cpp
1 // controls.cxx -- defines a standard interface to all flight sim controls
2 //
3 // Written by Curtis Olson, started May 1997.
4 //
5 // Copyright (C) 1997  Curtis L. Olson  - curt@infoplane.com
6 //
7 // This program is free software; you can redistribute it and/or
8 // modify it under the terms of the GNU General Public License as
9 // published by the Free Software Foundation; either version 2 of the
10 // License, or (at your option) any later version.
11 //
12 // This program is distributed in the hope that it will be useful, but
13 // WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 // General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with this program; if not, write to the Free Software
19 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 //
21 // $Id$
22 // (Log is kept at end of this file)
23
24
25 #include "FGControls.h"
26
27
28 FGControls controls;
29
30
31 // Constructor
32 FGControls::FGControls() :
33     aileron( 0.0 ),
34     elevator( 0.0 ),
35     elevator_trim( 1.969572E-03 ),
36     rudder( 0.0 )
37 {
38   for ( int engine = 0; engine < MAX_ENGINES; engine++ ) {
39     throttle[engine] = 0.0;
40   }
41
42   for ( int wheel = 0; wheel < MAX_WHEELS; wheel++ ) {
43     brake[wheel] = 0.0;
44   }
45 }
46
47
48 // Destructor
49 FGControls::~FGControls() {
50 }
51
52
53 // $Log$
54 // Revision 1.10  2000/05/16 19:35:11  curt
55 // Updates from the Jon and Tony show.
56 //
57 // Tony submitted:
58 //
59 // JSBsim:
60 // Added trimming routine, it is longitudinal & in-air only at this point
61 // Added support for taking wind & weather data from external source
62 // Added support for flaps.
63 // Added independently settable pitch trim
64 // Added alphamin and max to config file, stall modeling and warning to
65 // follow
66 //
67 // c172.cfg:
68 // Flaps!
69 // Adjusted Cmo, model should be speed stable now
70 //
71 // FG:
72 // Hooked up Christian's weather code, should be using it soon.
73 // Hooked up the trimming routine.  Note that the X-15 will not trim.
74 //   This is not a model or trimming routine deficiency, just the
75 //   nature of the X-15
76 // The trimming routine sets the pitch trim and and throttle at startup.
77 // The throttle is set using Norman's code for the autothrottle so the
78 // autothrottle is on by default.  --notrim will turn it off.
79 // Added --vc, --mach, and --notrim switches
80 //       (vc is airspeed in knots)
81 // uBody, vBody, and wBody are still supported, last one entered
82 // on the command line counts, i.e. you can set vc or mach or u,v,
83 // and w but any combination will be ignored.
84 //
85 // Revision 1.3  2000/04/26 10:55:57  jsb
86 // Made changes as required by Curt to install JSBSim into FGFS
87 //
88 // Revision 1.8  2000/04/24 21:49:06  curt
89 // Updated JSBsim code.
90 //
91 // Revision 1.2  2000/04/15 13:16:54  jsb
92 // In good shape, now, changes to Coefficient and aircraft, mostly, with new commands added and inputs and outputs separated.
93 //
94 // Revision 1.7  1999/12/30 17:01:59  curt
95 // Here is a wrap-up of the latest changes to JSBSim. It still is flaky, but
96 // much less so due to returning the aero reference point stuff to the config
97 // files. Don't know what happened there ...
98 //
99 // Additionally, I have added a new field to the config file: CFG_VERSION. A
100 // version number, currently 1.1, is assigned to the config file and a matching
101 // definition is found in FGDefs.h. The two need to match. Tony has also added
102 // code into FGAircraft.cpp to handle if aero reference point is not specified.
103 //
104 // Revision 1.6  1999/09/07 21:15:45  curt
105 // Updates to get engine working.
106 //
107 // Revision 1.1  1999/02/13 01:12:03  curt
108 // Initial Revision.
109 //
110 // Revision 1.1  1999/02/09 04:51:32  jon
111 // Initial revision
112 //
113 // Revision 1.3  1998/12/05 16:13:12  curt
114 // Renamed class fgCONTROLS to class FGControls.
115 //
116 // Revision 1.2  1998/10/25 14:08:41  curt
117 // Turned "struct fgCONTROLS" into a class, with inlined accessor functions.
118 //
119 // Revision 1.1  1998/10/18 01:51:05  curt
120 // c++-ifying ...
121 //
122 // Revision 1.8  1998/09/29 02:01:31  curt
123 // Added a brake.
124 //
125 // Revision 1.7  1998/02/07 15:29:36  curt
126 // Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
127 // <chotchkiss@namg.us.anritsu.com>
128 //
129 // Revision 1.6  1998/01/19 19:27:02  curt
130 // Merged in make system changes from Bob Kuehne <rpk@sgi.com>
131 // This should simplify things tremendously.
132 //
133 // Revision 1.5  1998/01/19 18:40:22  curt
134 // Tons of little changes to clean up the code and to remove fatal errors
135 // when building with the c++ compiler.
136 //
137 // Revision 1.4  1997/12/10 22:37:41  curt
138 // Prepended "fg" on the name of all global structures that didn't have it yet.
139 // i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
140 //
141 // Revision 1.3  1997/08/27 03:30:01  curt
142 // Changed naming scheme of basic shared structures.
143 //
144 // Revision 1.2  1997/06/21 17:12:48  curt
145 // Capitalized subdirectory names.
146 //
147 // Revision 1.1  1997/05/31 19:24:04  curt
148 // Initial revision.
149 //
150