]> git.mxchange.org Git - flightgear.git/blob - scripts/perl/examples/aircraft.pl
6a0936304911f2e404edc1681959d752f2f47430
[flightgear.git] / scripts / perl / examples / aircraft.pl
1 #!/usr/bin/perl
2 #
3 # aircraft.pl - Handle aircraft functions
4 #
5 # Written by Curtis L. Olson, started January 2004
6 #
7 # Copyright (C) 2004  Curtis L. Olson - curt@flightgear.org
8 #
9 # This code is placed in the public domain by Curtis L. Olson.
10 # There is no warranty, etc. etc. etc.
11 #
12 # $Id$
13 # ----------------------------------------------------------------------------
14
15 require "telnet.pl";
16
17 use strict;
18
19 sub start_engine {
20     my( $fgfs ) = shift;
21     my( $engine_num ) = shift;
22
23     my( $prop, $value );
24     my( %HASH ) = ();
25
26     &set_prop( $fgfs, "/controls/engines/engine[$engine_num]/magnetos", "3" );
27     &set_prop( $fgfs, "/controls/engines/engine[$engine_num]/starter", "true" );
28     sleep(3);
29     &set_prop( $fgfs, "/controls/engines/engine[$engine_num]/starter",
30                "false" );
31 }
32
33
34 sub set_throttle {
35     my( $fgfs ) = shift;
36     my( $engine ) = shift;
37     my( $throttle_norm ) = shift;
38
39     &set_prop( $fgfs, "/controls/engines/engine[$engine]/throttle",
40                $throttle_norm );
41 }
42
43
44 sub set_mixture {
45     my( $fgfs ) = shift;
46     my( $engine ) = shift;
47     my( $mix_norm ) = shift;
48
49     &set_prop( $fgfs, "/controls/engines/engine[$engine]/mixture", $mix_norm );
50 }
51
52
53 sub set_weight {
54     my( $fgfs ) = shift;
55     my( $lbs ) = shift;
56
57     &set_prop( $fgfs, "/sim/aircraft-weight-lbs", $lbs );
58 }
59
60
61 sub set_cg {
62     my( $fgfs ) = shift;
63     my( $inches ) = shift;
64
65     &set_prop( $fgfs, "/sim/aircraft-cg-offset-inches", $inches );
66 }
67
68
69 sub set_parking_brake {
70     my( $fgfs ) = shift;
71     my( $pos_norm ) = shift;
72
73     &set_prop( $fgfs, "/controls/gear/brake-parking", $pos_norm );
74 }
75
76 sub set_flaps {
77     my( $fgfs ) = shift;
78     my( $pos_norm ) = shift;
79
80     &set_prop( $fgfs, "/controls/flight/flaps", $pos_norm );
81 }
82
83 sub set_aileron {
84     my( $fgfs ) = shift;
85     my( $pos_norm ) = shift;
86
87     &set_prop( $fgfs, "/controls/flight/aileron", $pos_norm );
88 }
89
90 sub set_elevator {
91     my( $fgfs ) = shift;
92     my( $pos_norm ) = shift;
93
94     &set_prop( $fgfs, "/controls/flight/elevator", $pos_norm );
95 }
96
97 sub set_elevator_trim {
98     my( $fgfs ) = shift;
99     my( $pos_norm ) = shift;
100
101     &set_prop( $fgfs, "/controls/flight/elevator-trim", $pos_norm );
102 }
103
104 sub set_rudder {
105     my( $fgfs ) = shift;
106     my( $pos_norm ) = shift;
107
108     &set_prop( $fgfs, "/controls/flight/rudder", $pos_norm );
109 }