Tu-154B2 version 3.1:
[fg:toms-fgdata.git] / Aircraft / tu154b / Nasal / help.nas
1 #
2 # Help & advise subsystem for TU-154B
3 # Yurik V. Nikiforoff, yurik.nsk@gmail.com
4 # Novosibirsk, Russia
5 # dec 2007
6 #
7
8 var help_win = screen.window.new( 0, 0, 1, 5 );
9 help_win.fg = [0,1,1,1];
10
11 var tks = func {
12    var gpk_1 = getprop("fdm/jsbsim/instrumentation/ga3-corrected-1");
13    var gpk_2 = getprop("fdm/jsbsim/instrumentation/ga3-corrected-2");
14    var bgmk_1 = getprop("fdm/jsbsim/instrumentation/bgmk-1");
15    var bgmk_2 = getprop("fdm/jsbsim/instrumentation/bgmk-2");
16    if( gpk_1 == nil ) gpk_1 = 0.0;
17    if( gpk_2 == nil ) gpk_2 = 0.0;
18    if( bgmk_1 == nil ) bgmk_1 = 0.0;
19    if( bgmk_2 == nil ) bgmk_2 = 0.0;
20
21 help_win.write(sprintf("GA-3-1: %.2f GA-3-2: %.2f BGMK-2-1: %.2f BGMK-2-2: %.2f", 
22 gpk_1, gpk_2, bgmk_1,  bgmk_2 ) );
23
24 }
25
26 var at = func {
27    var at_speed = getprop("tu154/instrumentation/pn-6/at-kt");
28    if( at_speed == nil ) at_speed = 0.0;
29 help_win.write(sprintf("Autothrottle speed: %.2f kmh", at_speed*1.852) );
30 }
31
32 var km = func {
33    var km_deg_1 = getprop("fdm/jsbsim/instrumentation/km-5-magvar-1");
34    if(  km_deg_1 == nil ) km_deg_1 = 0.0;
35    var km_deg_2 = getprop("fdm/jsbsim/instrumentation/km-5-magvar-2");
36    if(  km_deg_2 == nil ) km_deg_2 = 0.0;
37    var magvar = getprop("environment/magnetic-variation-deg");
38    if(  magvar == nil ) magvar = 0.0;
39    
40 help_win.write(sprintf("Offset KM-5-1: %.2f deg,  KM-5-2: %.2f deg, magnetic variation %.2f deg", km_deg_1, km_deg_2, magvar ) );
41 }
42
43 var rsbn = func {
44    var rsbn_freq = getprop("instrumentation/nav[2]/frequencies/selected-mhz");
45    if(  rsbn_freq == nil ) rsbn_freq = 108.0;
46 help_win.write(sprintf("RSBN frequency: %.3f MHz", rsbn_freq) );
47 }
48
49 var advise = func {
50    var v2 = getprop("fdm/jsbsim/instrumentation/v-r");
51    var vr = getprop("fdm/jsbsim/instrumentation/v-ref");
52    var mass = getprop("fdm/jsbsim/instrumentation/mass-kg");
53    var cg = getprop("fdm/jsbsim/inertia/cg-x-in");
54    if( v2 == nil ) v2 = 0.0;
55    if( vr == nil ) vr = 0.0;
56    if( mass == nil ) mass = 0.0;
57    if( cg == nil ) cg = 0.0;
58    
59    cg = (cg * 0.0254 - 24.04) * (100/5.285);
60    
61 help_win.write(sprintf("mass: %.0f kg CG: %.1f%% MAC Vrotate: %.0f kmh Vref: %.0f kmh", mass, cg, v2, vr) );
62
63 }
64
65 var messenger = func{
66 help_win.write(arg[0]);
67 }
68
69 # Sound volume helpers
70
71 var nav_0_vol = func{
72   help_win.write( sprintf( "NAV radio Kurs-MP #1 sound: %d%%", getprop("instrumentation/nav[0]/volume")*100 ) );
73 }
74
75 var nav_1_vol = func{
76   help_win.write( sprintf( "NAV radio Kurs-MP #2 sound: %d%%", getprop("instrumentation/nav[1]/volume")*100 ) );
77 }
78
79 var rsbn_vol = func{
80   help_win.write( sprintf( "RSBN sound: %d%%", getprop("instrumentation/nav[2]/volume")*100 ) );
81 }
82
83 var adf_0_vol = func{
84   help_win.write( sprintf( "ADF ARK-15 #1 sound: %d%%", getprop("instrumentation/adf[0]/volume")*100 ) );
85 }
86
87 var adf_1_vol = func{
88   help_win.write( sprintf( "ADF ARK-15 #2 sound: %d%%", getprop("instrumentation/adf[1]/volume")*100 ) );
89 }
90
91 setlistener( "instrumentation/nav[0]/volume", nav_0_vol, 0, 0 );
92 setlistener( "instrumentation/nav[1]/volume", nav_1_vol, 0, 0 );
93 setlistener( "instrumentation/nav[2]/volume", rsbn_vol, 0, 0 );
94 setlistener( "instrumentation/adf[0]/volume", adf_0_vol, 0, 0 );
95 setlistener( "instrumentation/adf[1]/volume", adf_1_vol, 0, 0 );
96
97
98 print("Help subsystem started");
99