27#include <simgear/structure/subsystem_mgr.hxx>
28#include <simgear/props/tiedpropertylist.hxx>
102 double elevator_trim;
151 double copilot_brake_left;
152 double copilot_brake_right;
153 double brake_parking;
155 bool nose_wheel_steering;
160 bool catapult_launch_cmd;
198 double outflow_valve;
205 bool turn_off_lights;
212 double instruments_norm;
227 double vertical_adjust;
228 double fore_aft_adjust;
231 int cmd_selector_valve;
235 bool APU_fire_switch;
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;
252 SGPropertyNode_ptr auto_coordination;
253 SGPropertyNode_ptr auto_coordination_factor;
254 simgear::TiedPropertyList _tiedProperties;
258 SGPropertyNode_ptr _aileronNode;
259 SGPropertyNode_ptr _elevatorNode;
260 SGPropertyNode_ptr _aileronTrimNode;
261 SGPropertyNode_ptr _elevatorTrimNode;
262 SGPropertyNode_ptr _rudderNode;
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;
278 void bind()
override;
279 void init()
override;
282 void update(
double dt)
override;
311 inline double get_throttle(
int engine)
const {
return throttle[engine]; }
312 inline bool get_starter(
int engine)
const {
return starter[engine]; }
316 return fire_bottle_discharge[engine];
318 inline bool get_cutoff(
int engine)
const {
return cutoff[engine]; }
319 inline double get_mixture(
int engine)
const {
return mixture[engine]; }
321 return prop_advance[engine];
326 return nitrous_injection[engine];
329 return cowl_flaps_norm[engine];
331 inline bool get_feather(
int engine)
const {
return feather[engine]; }
334 inline bool get_reverser(
int engine)
const {
return reverser[engine]; }
336 return water_injection[engine];
345 return fuel_selector[tank];
352 return boost_pump[index];
372 return alternate_extension[wheel];
396 return generator_breaker[engine];
398 inline bool get_bus_tie(
int engine)
const {
return bus_tie[engine]; }
441 return eject[which_seat];
444 return eseat_status[which_seat];
460 return vertical_speed_select;
469 return autopilot_engage[ap];
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 );
522 void set_throttle_idle(
bool val );
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 );
550 void set_dump_valve(
bool val );
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 );
558 void set_boost_pump(
int index,
bool val );
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 );
579 void set_alternate_extension(
int wheel,
bool val );
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 );
588 void set_carb_heat(
int engine,
bool val );
589 void set_inlet_heat(
int engine,
bool val );
592 void set_engine_pump(
int system,
bool val );
593 void set_electric_pump(
int system,
bool val );
596 void set_battery_switch(
bool val );
597 void set_external_power(
bool val );
598 void set_APU_generator(
bool val );
601 void set_generator_breaker(
int engine,
bool val );
602 void set_bus_tie(
int engine,
bool val );
605 void set_APU_bleed(
bool val );
608 void set_engine_bleed(
int engine,
bool val );
612 void set_outflow_valve(
double pos );
613 void move_outflow_valve(
double amt );
614 void set_dump(
bool val );
617 void set_pack_on(
int pack,
bool val );
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 );
635 void set_master_arm(
bool val );
636 void set_station_select(
int station );
637 void set_release_ALL(
bool val );
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 );
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 );
655 void set_off_start_run(
int pos );
656 void set_APU_fire_switch(
bool val );
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 );
677 void set_autopilot_engage(
int ap,
bool val );
679 void do_autocoordination();
681 void fireEngineValueChanged(
int index, simgear::PropertyList& props);
bool get_bus_tie(int engine) const
bool get_dump_valve() const
bool get_generator_breaker(int engine) const
bool get_release_ALL() const
bool get_reverser(int engine) const
double get_elevator_trim() const
bool get_turn_off_lights() const
int get_to_tank(int tank) const
void update(double dt) override
int get_feed_tank(int engine) const
double get_rudder() const
double get_panel_norm() const
bool get_release_stick(int station) const
bool get_wing_heat() const
double get_speedbrake() const
double get_mixture(int engine) const
void set_reverser(int engine, bool val)
bool get_external_power() const
bool get_feather(int engine) const
int get_off_start_run() const
int get_magnetos(int engine) const
int get_eseat_status(int which_seat) const
double get_prop_advance(int engine) const
double get_outflow_valve() const
double get_brake_parking() const
bool get_autopilot_engage(int ap) const
double get_aileron_trim() const
int get_lateral_mode() const
int get_station_select() const
double get_heading_select() const
bool get_drag_chute() const
bool get_wing_fold() const
bool get_APU_generator() const
void set_magnetos(int engine, int pos)
void set_cutoff(int engine, bool val)
bool get_fire_switch(int engine) const
double get_vertical_adjust() const
bool get_autothrottle_engage() const
void set_rudder(double pos)
bool get_tailhook() const
bool get_alternate_extension(int wheel) const
double get_brake_right() const
double get_wing_sweep() const
double get_dome_norm() const
double get_elevator() const
double get_altitude_select() const
bool get_starter(int engine) const
bool get_fuel_selector(int tank) const
bool get_catapult_launch_cmd() const
bool get_ejection_seat(int which_seat) const
bool get_fire_bottle_discharge(int engine) const
double get_speed_select() const
double get_brake_left() const
bool get_master_arm() const
bool get_nav_lights() const
bool get_logo_lights() const
double get_steering() const
bool get_fuel_pump(int engine) const
void set_elevator(double pos)
bool get_taxi_light() const
bool get_throttle_idle() const
bool get_boost_pump(int index) const
int get_vertical_mode() const
bool get_nitrous_injection(int engine) const
bool get_gear_down() const
void set_water_injection(int engine, bool val)
double get_fore_aft_adjust() const
double get_spoilers() const
int get_ignition(int engine) const
double get_copilot_brake_left() const
bool get_landing_lights() const
bool get_pitot_heat() const
double get_vertical_speed_select() const
double get_bank_angle_select() const
static const char * staticSubsystemClassId()
double get_mach_select() const
int get_to_engine(int tank) const
void set_starter(int engine, bool flag)
bool get_release_all(int station) const
bool get_cutoff(int engine) const
bool get_nose_wheel_steering() const
bool get_antiskid() const
bool get_engine_bleed(int engine) const
void set_aileron(double pos)
int get_cmd_selector_valve() const
double get_cowl_flaps_norm(int engine) const
bool get_augmentation(int engine) const
double get_instruments_norm() const
double get_throttle(int engine) const
bool get_tailwheel_lock() const
void set_mixture(int engine, double pos)
bool get_pack_on(int pack) const
void set_augmentation(int engine, bool val)
bool get_APU_fire_switch() const
bool get_engine_pump(int system) const
double get_aileron() const
void set_throttle(int engine, double pos)
double get_copilot_brake_right() const
bool get_battery_switch() const
void set_aileron_trim(double pos)
bool get_launchbar() const
bool get_carb_heat(int engine) const
bool get_window_heat() const
double get_condition(int engine) const
bool get_water_injection(int engine) const
bool get_jettison_all(int station) const
bool get_electric_pump(int system) const
int get_stick_size(int station) const
void set_elevator_trim(double pos)
double get_rudder_trim() const
bool get_inlet_heat(int engine) const
bool get_APU_bleed() const
bool get_autothrottle_arm() const
void set_mode(int want_key)