]> git.mxchange.org Git - flightgear.git/blob - scripts/perl/examples/position.pl
A bit more Makefile massaging.
[flightgear.git] / scripts / perl / examples / position.pl
1 #!/usr/bin/perl
2
3 require "telnet.pl";
4
5 use strict;
6
7 my( $airport_id ) = "KSNA";
8 my( $rwy_no ) = "19R";
9 my( $reset_sec ) = 300;
10
11 my( $server ) = "localhost";
12 my( $port ) = 5401;
13 my( $timeout ) = 5;
14
15
16 sub reset_in_air {
17     my( $fgfs ) = shift;
18     my( $aptid ) = shift;
19     my( $rwy ) = shift;
20     my( $offset_dist ) = shift;
21     my( $glideslope_deg ) = shift;
22     my( $altitude_ft ) = shift;
23     my( $airspeed_kt ) = shift;
24
25     my( $prop, $value );
26     my( %HASH ) = ();
27
28     $HASH{ "/sim/presets/airport-id" } = $aptid;
29     $HASH{ "/sim/presets/runway" } = $rwy;
30     $HASH{ "/sim/presets/offset-distance" } = $offset_dist;
31     if ( $glideslope_deg > 0 ) {
32         $HASH{ "/sim/presets/glideslope-deg" } = $glideslope_deg;
33         $HASH{ "/sim/presets/altitude-ft" } = "";
34     } else {
35         $HASH{ "/sim/presets/glideslope-deg" } = "";
36         $HASH{ "/sim/presets/altitude-ft" } = $altitude_ft;
37     }
38
39     $HASH{ "/sim/presets/airspeed-kt" } = $airspeed_kt;
40     $HASH{ "/sim/presets/vor-id" } = "";
41     $HASH{ "/sim/presets/vor-freq" } = "";
42     $HASH{ "/sim/presets/ndb-id" } = "";
43     $HASH{ "/sim/presets/ndb-freq" } = "";
44     $HASH{ "/sim/presets/fix" } = "";
45     $HASH{ "/sim/presets/longitude-deg" } = "-9999.0";
46     $HASH{ "/sim/presets/latitude-deg" } = "-9999.0";
47     $HASH{ "/sim/presets/offset-azimuth" } = "";
48     $HASH{ "/sim/presets/heading-deg" } = "-9999.0";
49
50     foreach $prop ( keys(%HASH) ) {
51         $value = $HASH{$prop};
52         print "setting $prop = $value\n";
53         &set_prop( $fgfs, $prop, $value );
54     }
55
56     &send( $fgfs, "run presets-commit" );
57 }
58
59
60 sub reset_on_ground {
61     my( $fgfs ) = shift;
62     my( $aptid ) = shift;
63     my( $rwy ) = shift;
64
65     my( $prop, $value );
66     my( %HASH ) = ();
67
68     $HASH{ "/sim/presets/airport-id" } = $aptid;
69     $HASH{ "/sim/presets/runway" } = $rwy;
70     $HASH{ "/sim/presets/offset-distance" } = "";
71     $HASH{ "/sim/presets/glideslope-deg" } = "";
72     $HASH{ "/sim/presets/altitude-ft" } = "";
73     $HASH{ "/sim/presets/airspeed-kt" } = "";
74     $HASH{ "/sim/presets/vor-id" } = "";
75     $HASH{ "/sim/presets/vor-freq" } = "";
76     $HASH{ "/sim/presets/ndb-id" } = "";
77     $HASH{ "/sim/presets/ndb-freq" } = "";
78     $HASH{ "/sim/presets/fix" } = "";
79     $HASH{ "/sim/presets/longitude-deg" } = "-9999.0";
80     $HASH{ "/sim/presets/latitude-deg" } = "-9999.0";
81     $HASH{ "/sim/presets/offset-azimuth" } = "";
82     $HASH{ "/sim/presets/heading-deg" } = "-9999.0";
83
84     foreach $prop ( keys(%HASH) ) {
85         $value = $HASH{$prop};
86         print "setting $prop = $value\n";
87         &set_prop( $fgfs, $prop, $value );
88     }
89
90     &send( $fgfs, "run presets-commit" );
91 }
92
93
94