This commit is contained in:
merspieler 2018-09-27 20:30:55 +02:00
commit 91f8a237f3
9 changed files with 3705 additions and 48 deletions

View file

@ -789,7 +789,34 @@
</options>
<instrumentation n="0">
<comm n="0">
<frequencies>
<selected-mhz type="double">118.7</selected-mhz>
<standby-mhz type="double">121.4</standby-mhz>
</frequencies>
<serviceable type="bool">true</serviceable>
<volume type="double">0.6</volume>
</comm>
<comm n="1">
<frequencies>
<selected-mhz type="double">119.4</selected-mhz>
<standby-mhz type="double">122.6</standby-mhz>
</frequencies>
<serviceable type="bool">true</serviceable>
<volume type="double">0.6</volume>
</comm>
<comm n="2">
<frequencies>
<selected-mhz type="double">0</selected-mhz>
<standby-mhz type="double">123.2</standby-mhz>
</frequencies>
<serviceable type="bool">true</serviceable>
<volume type="double">0.6</volume>
</comm>
<dme n="0">
<frequencies>
<selected-mhz type="double">111.15</selected-mhz>
@ -1566,6 +1593,9 @@
<autopush_route>
<file>Aircraft/IDG-A32X/Nasal/autopush_route.nas</file>
</autopush_route>
<rmp>
<file>Aircraft/IDG-A32X/Nasal/rmp.nas</file>
</rmp>
</nasal>
</PropertyList>

View file

@ -307,6 +307,9 @@ var beforestart_b = func {
setprop("/controls/adirs/mcducbtn", 1);
setprop("/controls/lighting/beacon", 1);
setprop("/controls/lighting/nav-lights-switch", 1);
setprop("/controls/radio/rmp[0]/on", 1);
setprop("/controls/radio/rmp[1]/on", 1);
setprop("/controls/radio/rmp[2]/on", 1);
setprop("/controls/gear/brake-left", 0);
setprop("/controls/gear/brake-right", 0);
setprop("/systems/acconfig/autoconfig-running", 0);
@ -381,6 +384,9 @@ var taxi_b = func {
setprop("/controls/adirs/mcducbtn", 1);
setprop("/controls/lighting/beacon", 1);
setprop("/controls/lighting/nav-lights-switch", 1);
setprop("/controls/radio/rmp[0]/on", 1);
setprop("/controls/radio/rmp[1]/on", 1);
setprop("/controls/radio/rmp[2]/on", 1);
settimer(taxi_c, 2);
}
var taxi_c = func {

View file

@ -475,19 +475,7 @@
<object-name>exped_led</object-name>
<object-name>hdg-text-test</object-name>
<object-name>qnh-test</object-name>
<object-name>radio_adf_led</object-name>
<object-name>radio_am_led</object-name>
<object-name>radio_bfo_led</object-name>
<object-name>radio_hf1_led</object-name>
<object-name>radio_hf2_led</object-name>
<object-name>radio_ls_led</object-name>
<object-name>radio_nav_led</object-name>
<object-name>radio_opt_led</object-name>
<object-name>radio_sel_led</object-name>
<object-name>radio_vhf1_led</object-name>
<object-name>radio_vhf2_led</object-name>
<object-name>radio_vhf3_led</object-name>
<object-name>radio_vor_led</object-name>
<object-name>rudder-trim-test</object-name>
<object-name>spd-text-test</object-name>
<object-name>terr_on_nd_on</object-name>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -193,6 +193,7 @@ var systemsInit = func {
libraries.ECAM.init();
libraries.BUTTONS.init();
libraries.variousReset();
rmp.init();
}
setlistener("/sim/signals/fdm-initialized", func {

236
Nasal/rmp.nas Normal file
View file

@ -0,0 +1,236 @@
# A3XX Radio Managment Panel
# merspieler
############################
# Copyright (c) merspieler #
############################
# GLOBAL TODO add stuff for HF1, HF2, VOR, LS and ADF
var rmp_update = nil;
var act_vhf1 = props.globals.getNode("/instrumentation/comm[0]/frequencies/selected-mhz");
var act_vhf2 = props.globals.getNode("/instrumentation/comm[1]/frequencies/selected-mhz");
var act_vhf3 = props.globals.getNode("/instrumentation/comm[2]/frequencies/selected-mhz");
var act_display_rmp1 = props.globals.initNode("/controls/radio/rmp[0]/active-display", "123.900", "STRING");
var stby_display_rmp1 = props.globals.initNode("/controls/radio/rmp[0]/standby-display", "118.700", "STRING");
var stby_rmp1_vhf1 = props.globals.initNode("/systems/radio/rmp[0]/vhf1-standby", 118.7, "DOUBLE");
var stby_rmp1_vhf2 = props.globals.initNode("/systems/radio/rmp[0]/vhf2-standby", 123.12, "DOUBLE");
var stby_rmp1_vhf3 = props.globals.initNode("/systems/radio/rmp[0]/vhf3-standby", 121.5, "DOUBLE");
var act_display_rmp2 = props.globals.initNode("/controls/radio/rmp[1]/active-display", "127.900", "STRING");
var stby_display_rmp2 = props.globals.initNode("/controls/radio/rmp[1]/standby-display", "123.125", "STRING");
var stby_rmp2_vhf1 = props.globals.initNode("/systems/radio/rmp[1]/vhf1-standby", 118.7, "DOUBLE");
var stby_rmp2_vhf2 = props.globals.initNode("/systems/radio/rmp[1]/vhf2-standby", 123.12, "DOUBLE");
var stby_rmp2_vhf3 = props.globals.initNode("/systems/radio/rmp[1]/vhf3-standby", 121.5, "DOUBLE");
var act_display_rmp3 = props.globals.initNode("/controls/radio/rmp[2]/active-display", "127.900", "STRING");
var stby_display_rmp3 = props.globals.initNode("/controls/radio/rmp[2]/standby-display", "123.125", "STRING");
var stby_rmp3_vhf1 = props.globals.initNode("/systems/radio/rmp[2]/vhf1-standby", 118.7, "DOUBLE");
var stby_rmp3_vhf2 = props.globals.initNode("/systems/radio/rmp[2]/vhf2-standby", 123.12, "DOUBLE");
var stby_rmp3_vhf3 = props.globals.initNode("/systems/radio/rmp[2]/vhf3-standby", 121.5, "DOUBLE");
var chan_rmp1 = props.globals.initNode("/systems/radio/rmp[0]/sel_chan", "vhf1", "STRING");
var chan_rmp2 = props.globals.initNode("/systems/radio/rmp[1]/sel_chan", "vhf2", "STRING");
var chan_rmp3 = props.globals.initNode("/systems/radio/rmp[2]/sel_chan", "vhf3", "STRING");
var pwr_sw_rmp1 = props.globals.initNode("/controls/radio/rmp[0]/on", 0, "BOOL");
var pwr_sw_rmp2 = props.globals.initNode("/controls/radio/rmp[1]/on", 0, "BOOL");
var pwr_sw_rmp3 = props.globals.initNode("/controls/radio/rmp[2]/on", 0, "BOOL");
var init = func() {
for(var i = 0; i < 3; i += 1) {
setprop("/systems/radio/rmp[" ~ i ~ "]/hf1-standby", 510);
setprop("/systems/radio/rmp[" ~ i ~ "]/hf2-standby", 891);
}
chan_rmp1.setValue("vhf1");
chan_rmp2.setValue("vhf2");
chan_rmp3.setValue("vhf3");
pwr_sw_rmp1.setBoolValue(0);
pwr_sw_rmp2.setBoolValue(0);
pwr_sw_rmp3.setBoolValue(0);
var rmp_update = maketimer(0.2, func {
rmp_refresh.update();
});
}
var update_active_vhf = func(vhf) {
var sel1 = chan_rmp1.getValue();
var sel2 = chan_rmp2.getValue();
# In case that a 3rd RMP is added, uncomment the following line and expand the if statements with the sel3 comparison
# var sel3 = chan_rmp3.getValue();
if (vhf == 1) {
if (sel1 == "vhf1" or sel2 == "vhf1") {
var act = sprintf("%3.3f", act_vhf1.getValue());
if (sel1 == "vhf1") {
act_display_rmp1.setValue(act);
}
if (sel2 == "vhf1") {
act_display_rmp2.setValue(act);
}
}
} else if (vhf == 2) {
if (sel1 == "vhf2" or sel2 == "vhf2") {
var act = sprintf("%3.3f", act_vhf2.getValue());
if (sel1 == "vhf2") {
act_display_rmp1.setValue(act);
}
if (sel2 == "vhf2") {
act_display_rmp2.setValue(act);
}
}
} else {
if (sel1 == "vhf3" or sel2 == "vhf3") {
var act = sprintf("%3.3f", act_vhf3.getValue());
if (sel1 == "vhf3") {
act_display_rmp1.setValue(act);
}
if (sel2 == "vhf3") {
act_display_rmp2.setValue(act);
}
}
}
};
var update_stby_vhf = func(rmp_no, vhf) {
if (rmp_no == 0) {
if (vhf == 1) {
var stby = sprintf("%3.3f", stby_rmp1_vhf1.getValue());
} else if (vhf == 2) {
var stby = sprintf("%3.3f", stby_rmp1_vhf2.getValue());
} else {
var stby = sprintf("%3.3f", stby_rmp1_vhf3.getValue());
}
stby_display_rmp1.setValue(stby);
} else {
if (vhf == 1) {
var stby = sprintf("%3.3f", stby_rmp2_vhf1.getValue());
} else if (vhf == 2) {
var stby = sprintf("%3.3f", stby_rmp2_vhf2.getValue());
} else {
var stby = sprintf("%3.3f", stby_rmp2_vhf3.getValue());
}
stby_display_rmp2.setValue(stby);
}
}
var update_chan_sel = func(rmp_no) {
update_active_vhf(1);
update_active_vhf(2);
update_active_vhf(3);
if (rmp_no == 0) {
var chan = chan_rmp1.getValue();
if (chan == "vhf1") {
update_stby_vhf(rmp_no, 1);
} else if (chan == "vhf1") {
update_stby_vhf(rmp_no, 2);
} else {
update_stby_vhf(rmp_no, 3);
}
} else if (rmp_no == 1) {
var chan = chan_rmp2.getValue();
if (chan == "vhf1") {
update_stby_vhf(rmp_no, 1);
} else if (chan == "vhf2") {
update_stby_vhf(rmp_no, 2);
} else {
update_stby_vhf(rmp_no, 3);
}
} else {
# In case that a 3rd RMP is added, uncomment this
# var chan = chan_rmp3.getValue();
# if (chan == "vhf1") {
# update_stby_vhf(rmp_no, 1);
# } else if (chan == "vhf2") {
# update_stby_vhf(rmp_no, 2);
# } else {
# update_stby_vhf(rmp_no, 3);
# }
}
}
var transfer = func(rmp_no) {
rmp_no = rmp_no - 1;
var sel_chan = getprop("/systems/radio/rmp[" ~ rmp_no ~ "]/sel_chan");
if (string.match(sel_chan, "vhf[1-3]")) {
var mod1 = int(string.replace(sel_chan, "vhf", ""));
var mod = mod1 - 1;
var mem = getprop("/instrumentation/comm[" ~ mod ~ "]/frequencies/selected-mhz");
setprop("/instrumentation/comm[" ~ mod ~ "]/frequencies/selected-mhz", getprop("/systems/radio/rmp[" ~ rmp_no ~ "]/vhf" ~ mod1 ~ "-standby"));
setprop("/systems/radio/rmp[" ~ rmp_no ~ "]/vhf" ~ mod1 ~ "-standby", mem);
}
}
setlistener("/systems/radio/rmp[0]/vhf1-standby", func {
update_stby_vhf(0, 1);
});
setlistener("/systems/radio/rmp[0]/vhf2-standby", func {
update_stby_vhf(0, 2);
});
setlistener("/systems/radio/rmp[0]/vhf3-standby", func {
update_stby_vhf(0, 3);
});
setlistener("/systems/radio/rmp[1]/vhf1-standby", func {
update_stby_vhf(1, 1);
});
setlistener("/systems/radio/rmp[1]/vhf2-standby", func {
update_stby_vhf(1, 2);
});
setlistener("/systems/radio/rmp[1]/vhf3-standby", func {
update_stby_vhf(1, 3);
});
setlistener("/systems/radio/rmp[2]/vhf1-standby", func {
update_stby_vhf(2, 1);
});
setlistener("/systems/radio/rmp[2]/vhf2-standby", func {
update_stby_vhf(2, 2);
});
setlistener("/systems/radio/rmp[2]/vhf3-standby", func {
update_stby_vhf(2, 3);
});
setlistener("/instrumentation/comm[0]/frequencies/selected-mhz", func {
update_active_vhf(1);
});
setlistener("/instrumentation/comm[1]/frequencies/selected-mhz", func {
update_active_vhf(2);
});
setlistener("/instrumentation/comm[2]/frequencies/selected-mhz", func {
update_active_vhf(3);
});
setlistener("/systems/radio/rmp[0]/sel_chan", func {
update_chan_sel(0);
});
setlistener("/systems/radio/rmp[1]/sel_chan", func {
update_chan_sel(1);
});
setlistener("/systems/radio/rmp[2]/sel_chan", func {
update_chan_sel(2);
});

View file

@ -30,23 +30,24 @@ file, these values will be used (they are hardcoded).
-->
<PropertyList>
<adf>
<name>adf</name>
<number>0</number>
</adf>
<adf>
<name>adf</name>
<number>1</number>
</adf>
<airspeed-indicator>
<name>airspeed-indicator</name>
<number>0</number>
<total-pressure>/systems/pitot/total-pressure-inhg</total-pressure>
<static-pressure>/systems/static/pressure-inhg</static-pressure>
</airspeed-indicator>
<altimeter>
<name>altimeter</name>
<number>0</number>
@ -54,13 +55,13 @@ file, these values will be used (they are hardcoded).
<quantum>0</quantum>
<tau>0</tau>
</altimeter>
<attitude-indicator>
<name>attitude-indicator</name>
<number>0</number>
<suction>/systems/vacuum/suction-inhg</suction>
</attitude-indicator>
<clock>
<name>clock</name>
<number>0</number>
@ -70,12 +71,17 @@ file, these values will be used (they are hardcoded).
<name>comm</name>
<number>0</number>
</comm-radio>
<comm-radio>
<name>comm</name>
<number>1</number>
</comm-radio>
<comm-radio>
<name>comm</name>
<number>2</number>
</comm-radio>
<dme>
<name>dme</name>
<number>0</number>
@ -103,33 +109,33 @@ file, these values will be used (they are hardcoded).
<quantum>10</quantum>
<tau>0.1</tau>
</altimeter>
<marker-beacon>
<name>marker-beacon</name>
<number>0</number>
</marker-beacon>
<heading-indicator>
<name>heading-indicator</name>
<number>0</number>
<suction>/systems/vacuum/suction-inhg</suction>
</heading-indicator>
<KT-70>
<name>kt-70</name>
<number>0</number>
</KT-70>
<magnetic-compass>
<name>magnetic-compass</name>
<number>0</number>
</magnetic-compass>
<nav-radio>
<name>nav</name>
<number>0</number>
</nav-radio>
<nav-radio>
<name>nav</name>
<number>1</number>
@ -144,49 +150,49 @@ file, these values will be used (they are hardcoded).
<name>nav</name>
<number>3</number>
</nav-radio>
<slip-skid-ball>
<name>slip-skid-ball</name>
<number>0</number>
</slip-skid-ball>
<transponder>
<name>transponder</name>
<number>0</number>
<mode-c-altitude>/instrumentation/encoder/mode-c-alt-ft</mode-c-altitude>
</transponder>
<turn-indicator>
<name>turn-indicator</name>
<number>0</number>
</turn-indicator>
<vertical-speed-indicator>
<name>vertical-speed-indicator</name>
<number>0</number>
<static-pressure>/systems/static/pressure-inhg</static-pressure>
</vertical-speed-indicator>
<gps>
<name>gps</name>
<number>0</number>
</gps>
<tcas>
<name>tcas</name>
<number>0</number>
</tcas>
<radar>
<name>wxradar</name>
<number>0</number>
</radar>
<tacan>
<name>tacan</name>
<number>0</number>
</tacan>
<mk-viii>
<name>mk-viii</name>
<number>0</number>

View file

@ -1 +1 @@
4652
4654