FlightGear next
controls.hxx
Go to the documentation of this file.
1// controls.hxx -- 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 - http://www.flightgear.org/~curt
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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20//
21// $Id$
22
23
24#ifndef _CONTROLS_HXX
25#define _CONTROLS_HXX
26
27#include <simgear/structure/subsystem_mgr.hxx>
28#include <simgear/props/tiedpropertylist.hxx>
29
30// Define a structure containing the control parameters
31
32class FGControls : public SGSubsystem
33{
34public:
35 enum {
38 };
39
40 enum {
43 };
44
45 enum {
48 };
49
50 enum {
53 };
54
55 enum {
58 };
59
60 enum {
63 };
64
65 enum {
68 };
69
70 enum {
73 };
74
75 enum {
78 };
79
80 enum {
83 };
84
85 enum {
89 };
90
91 enum {
95 };
96
97private:
98 // controls/flight/
99 double aileron;
100 double aileron_trim;
101 double elevator;
102 double elevator_trim;
103 double rudder;
104 double rudder_trim;
105 double flaps;
106 double slats;
107 bool BLC; // Boundary Layer Control
108 double spoilers;
109 double speedbrake;
110 double wing_sweep;
111 bool wing_fold;
112 bool drag_chute;
113
114 // controls/engines/
115 bool throttle_idle;
116
117 // controls/engines/engine[n]/
118 double throttle[MAX_ENGINES];
119 bool starter[MAX_ENGINES];
120 bool fuel_pump[MAX_ENGINES];
121 bool fire_switch[MAX_ENGINES];
122 bool fire_bottle_discharge[MAX_ENGINES];
123 bool cutoff[MAX_ENGINES];
124 double mixture[MAX_ENGINES];
125 double prop_advance[MAX_ENGINES];
126 int magnetos[MAX_ENGINES];
127 int feed_tank[MAX_ENGINES];
128 bool nitrous_injection[MAX_ENGINES]; // War Emergency Power
129 double cowl_flaps_norm[MAX_ENGINES];
130 bool feather[MAX_ENGINES];
131 int ignition[MAX_ENGINES];
132 bool augmentation[MAX_ENGINES];
133 bool reverser[MAX_ENGINES];
134 bool water_injection[MAX_ENGINES];
135 double condition[MAX_ENGINES]; // turboprop speed select
136
137 // controls/fuel/
138 bool dump_valve;
139
140 // controls/fuel/tank[n]/
141 bool fuel_selector[MAX_TANKS];
142 int to_engine[MAX_TANKS];
143 int to_tank[MAX_TANKS];
144
145 // controls/fuel/tank[n]/pump[p]/
146 bool boost_pump[MAX_TANKS * MAX_BOOSTPUMPS];
147
148 // controls/gear/
149 double brake_left;
150 double brake_right;
151 double copilot_brake_left;
152 double copilot_brake_right;
153 double brake_parking;
154 double steering;
155 bool nose_wheel_steering;
156 bool gear_down;
157 bool antiskid;
158 bool tailhook;
159 bool launchbar;
160 bool catapult_launch_cmd;
161 bool tailwheel_lock;
162
163 // controls/gear/wheel[n]/
164 bool alternate_extension[MAX_WHEELS];
165
166 // controls/anti-ice/
167 bool wing_heat;
168 bool pitot_heat;
169 int wiper;
170 bool window_heat;
171
172 // controls/anti-ice/engine[n]/
173 bool carb_heat[MAX_ENGINES];
174 bool inlet_heat[MAX_ENGINES];
175
176 // controls/hydraulic/system[n]/
177 bool engine_pump[MAX_HYD_SYSTEMS];
178 bool electric_pump[MAX_HYD_SYSTEMS];
179
180 // controls/electric/
181 bool battery_switch;
182 bool external_power;
183 bool APU_generator;
184
185 // controls/electric/engine[n]/
186 bool generator_breaker[MAX_ENGINES];
187 bool bus_tie[MAX_ENGINES];
188
189 // controls/pneumatic/
190 bool APU_bleed;
191
192 // controls/pneumatic/engine[n]/
193 bool engine_bleed[MAX_ENGINES];
194
195 // controls/pressurization/
196 int mode;
197 bool dump;
198 double outflow_valve;
199
200 // controls/pressurization/pack[n]/
201 bool pack_on[MAX_PACKS];
202
203 // controls/lighting/
204 bool landing_lights;
205 bool turn_off_lights;
206 bool taxi_light;
207 bool logo_lights;
208 bool nav_lights;
209 bool beacon;
210 bool strobe;
211 double panel_norm;
212 double instruments_norm;
213 double dome_norm;
214
215 // controls/armament/
216 bool master_arm;
217 int station_select;
218 bool release_ALL;
219
220 // controls/armament/station[n]/
221 int stick_size[MAX_STATIONS];
222 bool release_stick[MAX_STATIONS];
223 bool release_all[MAX_STATIONS];
224 bool jettison_all[MAX_STATIONS];
225
226 // controls/seat/
227 double vertical_adjust;
228 double fore_aft_adjust;
229 bool eject[MAX_EJECTION_SEATS];
230 int eseat_status[MAX_EJECTION_SEATS];
231 int cmd_selector_valve;
232
233 // controls/APU/
234 int off_start_run;
235 bool APU_fire_switch;
236
237 // controls/autoflight/autopilot[n]/
238 bool autopilot_engage[MAX_AUTOPILOTS];
239
240 // controls/autoflight/
241 bool autothrottle_arm;
242 bool autothrottle_engage;
243 double heading_select;
244 double altitude_select;
245 double bank_angle_select;
246 double vertical_speed_select;
247 double speed_select;
248 double mach_select;
249 int vertical_mode;
250 int lateral_mode;
251
252 SGPropertyNode_ptr auto_coordination;
253 SGPropertyNode_ptr auto_coordination_factor;
254 simgear::TiedPropertyList _tiedProperties;
255
256// we need to node pointers as well, so we can manually
257// fire valueChanged for these
258 SGPropertyNode_ptr _aileronNode;
259 SGPropertyNode_ptr _elevatorNode;
260 SGPropertyNode_ptr _aileronTrimNode;
261 SGPropertyNode_ptr _elevatorTrimNode;
262 SGPropertyNode_ptr _rudderNode;
263
264 simgear::PropertyList _engineThrottleNodes;
265 simgear::PropertyList _engineMixtureNodes;
266 simgear::PropertyList _engineStarterNodes;
267 simgear::PropertyList _engineCutoffNodes;
268 simgear::PropertyList _engineReverserNodes;
269 simgear::PropertyList _engineWaterInjectionNodes;
270 simgear::PropertyList _engineMagnetoNodes;
271 simgear::PropertyList _engineAugmentationNodes;
272
273public:
274 FGControls();
275 ~FGControls();
276
277 // Subsystem API.
278 void bind() override;
279 void init() override;
280 void reinit() override;
281 void unbind() override;
282 void update(double dt) override;
283
284 // Subsystem identification.
285 static const char* staticSubsystemClassId() { return "controls"; }
286
287 // Reset function
288 void reset_all(void);
289
290 // Query functions
291 // controls/flight/
292 inline double get_aileron() const { return aileron; }
293 inline double get_aileron_trim() const { return aileron_trim; }
294 inline double get_elevator() const { return elevator; }
295 inline double get_elevator_trim() const { return elevator_trim; }
296 inline double get_rudder() const { return rudder; }
297 inline double get_rudder_trim() const { return rudder_trim; }
298 inline double get_flaps() const { return flaps; }
299 inline double get_slats() const { return slats; }
300 inline bool get_BLC() const { return BLC; }
301 inline double get_spoilers() const { return spoilers; }
302 inline double get_speedbrake() const { return speedbrake; }
303 inline double get_wing_sweep() const { return wing_sweep; }
304 inline bool get_wing_fold() const { return wing_fold; }
305 inline bool get_drag_chute() const { return drag_chute; }
306
307 // controls/engines/
308 inline bool get_throttle_idle() const { return throttle_idle; }
309
310 // controls/engines/engine[n]/
311 inline double get_throttle(int engine) const { return throttle[engine]; }
312 inline bool get_starter(int engine) const { return starter[engine]; }
313 inline bool get_fuel_pump(int engine) const { return fuel_pump[engine]; }
314 inline bool get_fire_switch(int engine) const { return fire_switch[engine]; }
315 inline bool get_fire_bottle_discharge(int engine) const {
316 return fire_bottle_discharge[engine];
317 }
318 inline bool get_cutoff(int engine) const { return cutoff[engine]; }
319 inline double get_mixture(int engine) const { return mixture[engine]; }
320 inline double get_prop_advance(int engine) const {
321 return prop_advance[engine];
322 }
323 inline int get_magnetos(int engine) const { return magnetos[engine]; }
324 inline int get_feed_tank(int engine) const { return feed_tank[engine]; }
325 inline bool get_nitrous_injection(int engine) const {
326 return nitrous_injection[engine];
327 }
328 inline double get_cowl_flaps_norm(int engine) const {
329 return cowl_flaps_norm[engine];
330 }
331 inline bool get_feather(int engine) const { return feather[engine]; }
332 inline int get_ignition(int engine) const { return ignition[engine]; }
333 inline bool get_augmentation(int engine) const { return augmentation[engine]; }
334 inline bool get_reverser(int engine) const { return reverser[engine]; }
335 inline bool get_water_injection(int engine) const {
336 return water_injection[engine];
337 }
338 inline double get_condition(int engine) const { return condition[engine]; }
339
340 // controls/fuel/
341 inline bool get_dump_valve() const { return dump_valve; }
342
343 // controls/fuel/tank[n]/
344 inline bool get_fuel_selector(int tank) const {
345 return fuel_selector[tank];
346 }
347 inline int get_to_engine(int tank) const { return to_engine[tank]; }
348 inline int get_to_tank(int tank) const { return to_tank[tank]; }
349
350 // controls/fuel/tank[n]/pump[p]/
351 inline bool get_boost_pump(int index) const {
352 return boost_pump[index];
353 }
354
355 // controls/gear/
356 inline double get_brake_left() const { return brake_left; }
357 inline double get_brake_right() const { return brake_right; }
358 inline double get_copilot_brake_left() const { return copilot_brake_left; }
359 inline double get_copilot_brake_right() const { return copilot_brake_right; }
360 inline double get_brake_parking() const { return brake_parking; }
361 inline double get_steering() const { return steering; }
362 inline bool get_nose_wheel_steering() const { return nose_wheel_steering; }
363 inline bool get_gear_down() const { return gear_down; }
364 inline bool get_antiskid() const { return antiskid; }
365 inline bool get_tailhook() const { return tailhook; }
366 inline bool get_launchbar() const { return launchbar; }
367 inline bool get_catapult_launch_cmd() const { return catapult_launch_cmd; }
368 inline bool get_tailwheel_lock() const { return tailwheel_lock; }
369
370 // controls/gear/wheel[n]/
371 inline bool get_alternate_extension(int wheel) const {
372 return alternate_extension[wheel];
373 }
374
375 // controls/anti-ice/
376 inline bool get_wing_heat() const { return wing_heat; }
377 inline bool get_pitot_heat() const { return pitot_heat; }
378 inline int get_wiper() const { return wiper; }
379 inline bool get_window_heat() const { return window_heat; }
380
381 // controls/anti-ice/engine[n]/
382 inline bool get_carb_heat(int engine) const { return carb_heat[engine]; }
383 inline bool get_inlet_heat(int engine) const { return inlet_heat[engine]; }
384
385 // controls/hydraulic/system[n]/
386 inline bool get_engine_pump(int system) const { return engine_pump[system]; }
387 inline bool get_electric_pump(int system) const { return electric_pump[system]; }
388
389 // controls/electric/
390 inline bool get_battery_switch() const { return battery_switch; }
391 inline bool get_external_power() const { return external_power; }
392 inline bool get_APU_generator() const { return APU_generator; }
393
394 // controls/electric/engine[n]/
395 inline bool get_generator_breaker(int engine) const {
396 return generator_breaker[engine];
397 }
398 inline bool get_bus_tie(int engine) const { return bus_tie[engine]; }
399
400 // controls/pneumatic/
401 inline bool get_APU_bleed() const { return APU_bleed; }
402
403 // controls/pneumatic/engine[n]/
404 inline bool get_engine_bleed(int engine) const { return engine_bleed[engine]; }
405
406 // controls/pressurization/
407 inline int get_mode() const { return mode; }
408 inline double get_outflow_valve() const { return outflow_valve; }
409 inline bool get_dump() const { return dump; }
410
411 // controls/pressurization/pack[n]/
412 inline bool get_pack_on(int pack) const { return pack_on[pack]; }
413
414 // controls/lighting/
415 inline bool get_landing_lights() const { return landing_lights; }
416 inline bool get_turn_off_lights() const { return turn_off_lights; }
417 inline bool get_taxi_light() const { return taxi_light; }
418 inline bool get_logo_lights() const { return logo_lights; }
419 inline bool get_nav_lights() const { return nav_lights; }
420 inline bool get_beacon() const { return beacon; }
421 inline bool get_strobe() const { return strobe; }
422 inline double get_panel_norm() const { return panel_norm; }
423 inline double get_instruments_norm() const { return instruments_norm; }
424 inline double get_dome_norm() const { return dome_norm; }
425
426 // controls/armament/
427 inline bool get_master_arm() const { return master_arm; }
428 inline int get_station_select() const { return station_select; }
429 inline bool get_release_ALL() const { return release_ALL; }
430
431 // controls/armament/station[n]/
432 inline int get_stick_size(int station) const { return stick_size[station]; }
433 inline bool get_release_stick(int station) const { return release_stick[station]; }
434 inline bool get_release_all(int station) const { return release_all[station]; }
435 inline bool get_jettison_all(int station) const { return jettison_all[station]; }
436
437 // controls/seat/
438 inline double get_vertical_adjust() const { return vertical_adjust; }
439 inline double get_fore_aft_adjust() const { return fore_aft_adjust; }
440 inline bool get_ejection_seat( int which_seat ) const {
441 return eject[which_seat];
442 }
443 inline int get_eseat_status( int which_seat ) const {
444 return eseat_status[which_seat];
445 }
446 inline int get_cmd_selector_valve() const { return cmd_selector_valve; }
447
448
449 // controls/APU/
450 inline int get_off_start_run() const { return off_start_run; }
451 inline bool get_APU_fire_switch() const { return APU_fire_switch; }
452
453 // controls/autoflight/
454 inline bool get_autothrottle_arm() const { return autothrottle_arm; }
455 inline bool get_autothrottle_engage() const { return autothrottle_engage; }
456 inline double get_heading_select() const { return heading_select; }
457 inline double get_altitude_select() const { return altitude_select; }
458 inline double get_bank_angle_select() const { return bank_angle_select; }
459 inline double get_vertical_speed_select() const {
460 return vertical_speed_select;
461 }
462 inline double get_speed_select() const { return speed_select; }
463 inline double get_mach_select() const { return mach_select; }
464 inline int get_vertical_mode() const { return vertical_mode; }
465 inline int get_lateral_mode() const { return lateral_mode; }
466
467 // controls/autoflight/autopilot[n]/
468 inline bool get_autopilot_engage(int ap) const {
469 return autopilot_engage[ap];
470 }
471
472 void set_elevator( double pos );
473 void set_aileron_trim( double pos );
474 void set_elevator_trim( double pos );
475 void set_aileron( double pos );
476 void set_rudder( double pos );
477
478 void set_throttle( int engine, double pos );
479 void set_cutoff( int engine, bool val );
480 void set_augmentation( int engine, bool val );
481 void set_reverser( int engine, bool val );
482 void set_water_injection( int engine, bool val );
483 void set_magnetos( int engine, int pos );
484 void set_starter( int engine, bool flag );
485 void set_mixture( int engine, double pos );
486
487private:
488 // IMPORTANT: do *not* make these setters public, or you will violate
489 // the listener-safety of them. If you need to make an accessor public,
490 // make these as 'inner', and make a public wrapper which correctly calls
491 // valueChanged (see, set_throttle, set_elevator etc for examples)
492
493 // Update functions
494 // controls/flight/
495 void _inner_set_aileron( double pos );
496 void move_aileron( double amt );
497 void _inner_set_aileron_trim( double pos );
498 void move_aileron_trim( double amt );
499 void _inner_set_elevator( double pos );
500 void move_elevator( double amt );
501 void _inner_set_elevator_trim( double pos );
502 void move_elevator_trim( double amt );
503 void _inner_set_rudder( double pos );
504 void move_rudder( double amt );
505 void set_rudder_trim( double pos );
506 void move_rudder_trim( double amt );
507 void set_flaps( double pos );
508 void move_flaps( double amt );
509 void set_slats( double pos );
510 void move_slats( double amt );
511 void set_BLC( bool val );
512 void set_spoilers( double pos );
513 void move_spoilers( double amt );
514 void set_speedbrake( double pos );
515 void move_speedbrake( double amt );
516 void set_wing_sweep( double pos );
517 void move_wing_sweep( double amt );
518 void set_wing_fold( bool val );
519 void set_drag_chute( bool val );
520
521 // controls/engines/
522 void set_throttle_idle( bool val );
523
524 // controls/engines/engine[n]/
525 void _inner_set_throttle( int engine, double pos );
526 void move_throttle( int engine, double amt );
527 void _inner_set_starter( int engine, bool flag );
528 void set_fuel_pump( int engine, bool val );
529 void set_fire_switch( int engine, bool val );
530 void set_fire_bottle_discharge( int engine, bool val );
531 void _inner_set_cutoff( int engine, bool val );
532 void _inner_set_mixture( int engine, double pos );
533 void move_mixture( int engine, double amt );
534 void set_prop_advance( int engine, double pos );
535 void move_prop_advance( int engine, double amt );
536 void _inner_set_magnetos( int engine, int pos );
537 void move_magnetos( int engine, int amt );
538 void set_feed_tank( int engine, int tank );
539 void set_nitrous_injection( int engine, bool val );
540 void set_cowl_flaps_norm( int engine, double pos );
541 void move_cowl_flaps_norm( int engine, double amt );
542 void set_feather( int engine, bool val );
543 void set_ignition( int engine, int val );
544 void _inner_set_augmentation( int engine, bool val );
545 void _inner_set_reverser( int engine, bool val );
546 void _inner_set_water_injection( int engine, bool val );
547 void set_condition( int engine, double val );
548
549 // controls/fuel
550 void set_dump_valve( bool val );
551
552 // controls/fuel/tank[n]/
553 void set_fuel_selector( int tank, bool pos );
554 void set_to_engine( int tank, int engine );
555 void set_to_tank( int tank, int dest_tank );
556
557 // controls/fuel/tank[n]/pump[p]
558 void set_boost_pump( int index, bool val );
559
560 // controls/gear/
561 void set_brake_left( double pos );
562 void move_brake_left( double amt );
563 void set_brake_right( double pos );
564 void move_brake_right( double amt );
565 void set_copilot_brake_left( double pos );
566 void set_copilot_brake_right( double pos );
567 void set_brake_parking( double pos );
568 void set_steering( double pos );
569 void move_steering( double amt );
570 void set_nose_wheel_steering( bool nws );
571 void set_gear_down( bool gear );
572 void set_antiskid( bool val );
573 void set_tailhook( bool val );
574 void set_launchbar( bool val );
575 void set_catapult_launch_cmd( bool val );
576 void set_tailwheel_lock( bool val );
577
578 // controls/gear/wheel[n]/
579 void set_alternate_extension( int wheel, bool val );
580
581 // controls/anti-ice/
582 void set_wing_heat( bool val );
583 void set_pitot_heat( bool val );
584 void set_wiper( int speed );
585 void set_window_heat( bool val );
586
587 // controls/anti-ice/engine[n]/
588 void set_carb_heat( int engine, bool val );
589 void set_inlet_heat( int engine, bool val );
590
591 // controls/hydraulic/system[n]/
592 void set_engine_pump( int system, bool val );
593 void set_electric_pump( int system, bool val );
594
595 // controls/electric/
596 void set_battery_switch( bool val );
597 void set_external_power( bool val );
598 void set_APU_generator( bool val );
599
600 // controls/electric/engine[n]/
601 void set_generator_breaker( int engine, bool val );
602 void set_bus_tie( int engine, bool val );
603
604 // controls/pneumatic/
605 void set_APU_bleed( bool val );
606
607 // controls/pneumatic/engine[n]/
608 void set_engine_bleed( int engine, bool val );
609
610 // controls/pressurization/
611 void set_mode( int mode );
612 void set_outflow_valve( double pos );
613 void move_outflow_valve( double amt );
614 void set_dump( bool val );
615
616 // controls/pressurization/pack[n]/
617 void set_pack_on( int pack, bool val );
618
619 // controls/lighting/
620 void set_landing_lights( bool val );
621 void set_turn_off_lights( bool val );
622 void set_taxi_light( bool val );
623 void set_logo_lights( bool val );
624 void set_nav_lights( bool val );
625 void set_beacon( bool val );
626 void set_strobe( bool val );
627 void set_panel_norm( double intensity );
628 void move_panel_norm( double amt );
629 void set_instruments_norm( double intensity );
630 void move_instruments_norm( double amt );
631 void set_dome_norm( double intensity );
632 void move_dome_norm( double amt );
633
634 // controls/armament/
635 void set_master_arm( bool val );
636 void set_station_select( int station );
637 void set_release_ALL( bool val );
638
639 // controls/armament/station[n]/
640 void set_stick_size( int station, int size );
641 void set_release_stick( int station, bool val );
642 void set_release_all( int station, bool val );
643 void set_jettison_all( int station, bool val );
644
645 // controls/seat/
646 void set_vertical_adjust( double pos );
647 void move_vertical_adjust( double amt );
648 void set_fore_aft_adjust( double pos );
649 void move_fore_aft_adjust( double amt );
650 void set_ejection_seat( int which_seat, bool val );
651 void set_eseat_status( int which_seat, int val );
652 void set_cmd_selector_valve( int val );
653
654 // controls/APU/
655 void set_off_start_run( int pos );
656 void set_APU_fire_switch( bool val );
657
658 // controls/autoflight/
659 void set_autothrottle_arm( bool val );
660 void set_autothrottle_engage( bool val );
661 void set_heading_select( double heading );
662 void move_heading_select( double amt );
663 void set_altitude_select( double altitude );
664 void move_altitude_select( double amt );
665 void set_bank_angle_select( double angle );
666 void move_bank_angle_select( double amt );
667 void set_vertical_speed_select( double vs );
668 void move_vertical_speed_select( double amt );
669 void set_speed_select( double speed );
670 void move_speed_select( double amt );
671 void set_mach_select( double mach );
672 void move_mach_select( double amt );
673 void set_vertical_mode( int mode );
674 void set_lateral_mode( int mode );
675
676 // controls/autoflight/autopilot[n]/
677 void set_autopilot_engage( int ap, bool val );
678
679 void do_autocoordination();
680
681 void fireEngineValueChanged(int index, simgear::PropertyList& props);
682};
683
684#endif // _CONTROLS_HXX
685
686
double altitude
Definition ADA.cxx:46
#define throttle
Definition ADA.cxx:130
bool get_bus_tie(int engine) const
Definition controls.hxx:398
bool get_dump_valve() const
Definition controls.hxx:341
bool get_generator_breaker(int engine) const
Definition controls.hxx:395
bool get_release_ALL() const
Definition controls.hxx:429
bool get_reverser(int engine) const
Definition controls.hxx:334
double get_elevator_trim() const
Definition controls.hxx:295
bool get_turn_off_lights() const
Definition controls.hxx:416
int get_to_tank(int tank) const
Definition controls.hxx:348
void update(double dt) override
Definition controls.cxx:450
int get_feed_tank(int engine) const
Definition controls.hxx:324
double get_rudder() const
Definition controls.hxx:296
double get_panel_norm() const
Definition controls.hxx:422
bool get_release_stick(int station) const
Definition controls.hxx:433
bool get_wing_heat() const
Definition controls.hxx:376
double get_speedbrake() const
Definition controls.hxx:302
double get_mixture(int engine) const
Definition controls.hxx:319
void set_reverser(int engine, bool val)
bool get_external_power() const
Definition controls.hxx:391
bool get_feather(int engine) const
Definition controls.hxx:331
int get_off_start_run() const
Definition controls.hxx:450
int get_magnetos(int engine) const
Definition controls.hxx:323
int get_eseat_status(int which_seat) const
Definition controls.hxx:443
double get_prop_advance(int engine) const
Definition controls.hxx:320
double get_outflow_valve() const
Definition controls.hxx:408
double get_brake_parking() const
Definition controls.hxx:360
bool get_autopilot_engage(int ap) const
Definition controls.hxx:468
double get_aileron_trim() const
Definition controls.hxx:293
int get_lateral_mode() const
Definition controls.hxx:465
int get_station_select() const
Definition controls.hxx:428
double get_heading_select() const
Definition controls.hxx:456
bool get_drag_chute() const
Definition controls.hxx:305
bool get_wing_fold() const
Definition controls.hxx:304
bool get_APU_generator() const
Definition controls.hxx:392
void set_magnetos(int engine, int pos)
Definition controls.cxx:886
void set_cutoff(int engine, bool val)
Definition controls.cxx:777
bool get_fire_switch(int engine) const
Definition controls.hxx:314
double get_vertical_adjust() const
Definition controls.hxx:438
bool get_autothrottle_engage() const
Definition controls.hxx:455
void set_rudder(double pos)
Definition controls.cxx:545
bool get_tailhook() const
Definition controls.hxx:365
bool get_alternate_extension(int wheel) const
Definition controls.hxx:371
double get_brake_right() const
Definition controls.hxx:357
double get_wing_sweep() const
Definition controls.hxx:303
double get_dome_norm() const
Definition controls.hxx:424
double get_elevator() const
Definition controls.hxx:294
double get_altitude_select() const
Definition controls.hxx:457
bool get_starter(int engine) const
Definition controls.hxx:312
bool get_fuel_selector(int tank) const
Definition controls.hxx:344
bool get_catapult_launch_cmd() const
Definition controls.hxx:367
@ ALL_HYD_SYSTEMS
Definition controls.hxx:56
@ MAX_HYD_SYSTEMS
Definition controls.hxx:57
bool get_ejection_seat(int which_seat) const
Definition controls.hxx:440
bool get_fire_bottle_discharge(int engine) const
Definition controls.hxx:315
double get_speed_select() const
Definition controls.hxx:462
double get_brake_left() const
Definition controls.hxx:356
bool get_master_arm() const
Definition controls.hxx:427
bool get_nav_lights() const
Definition controls.hxx:419
bool get_logo_lights() const
Definition controls.hxx:418
double get_steering() const
Definition controls.hxx:361
bool get_fuel_pump(int engine) const
Definition controls.hxx:313
void set_elevator(double pos)
Definition controls.cxx:505
double get_slats() const
Definition controls.hxx:299
void reset_all(void)
Definition controls.cxx:84
bool get_taxi_light() const
Definition controls.hxx:417
bool get_throttle_idle() const
Definition controls.hxx:308
bool get_boost_pump(int index) const
Definition controls.hxx:351
int get_vertical_mode() const
Definition controls.hxx:464
bool get_nitrous_injection(int engine) const
Definition controls.hxx:325
bool get_gear_down() const
Definition controls.hxx:363
void set_water_injection(int engine, bool val)
double get_fore_aft_adjust() const
Definition controls.hxx:439
double get_spoilers() const
Definition controls.hxx:301
int get_ignition(int engine) const
Definition controls.hxx:332
double get_copilot_brake_left() const
Definition controls.hxx:358
bool get_beacon() const
Definition controls.hxx:420
bool get_landing_lights() const
Definition controls.hxx:415
bool get_pitot_heat() const
Definition controls.hxx:377
double get_vertical_speed_select() const
Definition controls.hxx:459
double get_bank_angle_select() const
Definition controls.hxx:458
static const char * staticSubsystemClassId()
Definition controls.hxx:285
double get_mach_select() const
Definition controls.hxx:463
int get_to_engine(int tank) const
Definition controls.hxx:347
void set_starter(int engine, bool flag)
Definition controls.cxx:714
@ ALL_EJECTION_SEATS
Definition controls.hxx:81
@ MAX_EJECTION_SEATS
Definition controls.hxx:82
bool get_release_all(int station) const
Definition controls.hxx:434
bool get_dump() const
Definition controls.hxx:409
bool get_cutoff(int engine) const
Definition controls.hxx:318
bool get_nose_wheel_steering() const
Definition controls.hxx:362
bool get_antiskid() const
Definition controls.hxx:364
void bind() override
Definition controls.cxx:187
bool get_engine_bleed(int engine) const
Definition controls.hxx:404
void unbind() override
Definition controls.cxx:430
void set_aileron(double pos)
Definition controls.cxx:463
void reinit() override
Definition controls.cxx:175
int get_cmd_selector_valve() const
Definition controls.hxx:446
double get_cowl_flaps_norm(int engine) const
Definition controls.hxx:328
bool get_augmentation(int engine) const
Definition controls.hxx:333
double get_instruments_norm() const
Definition controls.hxx:423
double get_flaps() const
Definition controls.hxx:298
double get_throttle(int engine) const
Definition controls.hxx:311
bool get_tailwheel_lock() const
Definition controls.hxx:368
void set_mixture(int engine, double pos)
Definition controls.cxx:815
bool get_pack_on(int pack) const
Definition controls.hxx:412
void set_augmentation(int engine, bool val)
void init() override
Definition controls.cxx:170
bool get_APU_fire_switch() const
Definition controls.hxx:451
bool get_engine_pump(int system) const
Definition controls.hxx:386
double get_aileron() const
Definition controls.hxx:292
bool get_BLC() const
Definition controls.hxx:300
void set_throttle(int engine, double pos)
Definition controls.cxx:676
double get_copilot_brake_right() const
Definition controls.hxx:359
bool get_battery_switch() const
Definition controls.hxx:390
int get_mode() const
Definition controls.hxx:407
void set_aileron_trim(double pos)
Definition controls.cxx:485
bool get_strobe() const
Definition controls.hxx:421
bool get_launchbar() const
Definition controls.hxx:366
bool get_carb_heat(int engine) const
Definition controls.hxx:382
bool get_window_heat() const
Definition controls.hxx:379
double get_condition(int engine) const
Definition controls.hxx:338
bool get_water_injection(int engine) const
Definition controls.hxx:335
bool get_jettison_all(int station) const
Definition controls.hxx:435
bool get_electric_pump(int system) const
Definition controls.hxx:387
int get_wiper() const
Definition controls.hxx:378
int get_stick_size(int station) const
Definition controls.hxx:432
void set_elevator_trim(double pos)
Definition controls.cxx:525
double get_rudder_trim() const
Definition controls.hxx:297
bool get_inlet_heat(int engine) const
Definition controls.hxx:383
bool get_APU_bleed() const
Definition controls.hxx:401
bool get_autothrottle_arm() const
Definition controls.hxx:454
void set_mode(int want_key)