1
0
Fork 0
fgdata/Aircraft/Instruments-3d/TR1133/Nasal/TR1133.nas

120 lines
3.9 KiB
Text
Raw Normal View History

#####################################################################################
# This script provides the gui to set up the TR1133 radio #
# #
# Author Vivian Meazza June 2011 #
#####################################################################################
# ================================ Initalize ======================================
# Make sure all needed properties are present and accounted
# for, and that they have sane default values.
var channelA_node = props.globals.initNode("instrumentation/comm/channels/A-mhz", 0, "DOUBLE");
var channelB_node = props.globals.initNode("instrumentation/comm/channels/B-mhz", 0, "DOUBLE");
var channelC_node = props.globals.initNode("instrumentation/comm/channels/C-mhz", 0, "DOUBLE");
var channelD_node = props.globals.initNode("instrumentation/comm/channels/D-mhz", 0, "DOUBLE");
var channel_selected_node = props.globals.initNode("systems/comm/SCR-522C/frequencies/channel-selected", 0, "INT");
var tr_node = props.globals.initNode("systems/comm/SCR-522C/tr", 1, "INT");
props.globals.initNode("systems/comm/SCR-522C/frequencies/channel", "", "STRING");
props.globals.initNode("systems/comm/SCR-522C/channel-dimmer", 0, "BOOL");
props.globals.initNode("systems/comm/SCR-522C/tr-lock", 1, "BOOL");
var comm_selected_node = props.globals.getNode("instrumentation/comm/frequencies/selected-mhz", 1);
var comm_standby_node = props.globals.getNode("instrumentation/comm/frequencies/standby-mhz", 1);
var comm1_selected_node = props.globals.getNode("instrumentation/comm[1]/frequencies/selected-mhz", 1);
var comm1_standby_node = props.globals.getNode("instrumentation/comm[1]/frequencies/standby-mhz", 1);
var radio_dlg = gui.Dialog.new("dialog","Aircraft/Instruments-3d/TR1133/Dialogs/radios.xml");
var channel = ["OFF","A","B","C","D"];
#getprop("systems/comm/SCR-522C/frequencies/channel", 1);
setprop("systems/comm/SCR-522C/frequencies/channel", channel[channel_selected_node.getValue()]);
var TR1133_init = func(){
print ("initializing TR1133 ...");
var channelA_init = comm_selected_node.getValue();
var channelB_init = comm_standby_node.getValue();
var channelC_init = comm1_selected_node.getValue();
var channelD_init = comm1_standby_node.getValue();
channelA_node.setValue(channelA_init);
channelB_node.setValue(channelB_init);
channelC_node.setValue(channelC_init);
channelD_node.setValue(channelD_init);
comm_selected_node.setValue(0);
comm_standby_node.setValue(0);
comm1_selected_node.setValue(0);
comm1_standby_node.setValue(0);
# override F12
setprop("input/keyboard/key[268]/binding/command", "nasal");
setprop("input/keyboard/key[268]/binding/script", "TR1133.radio_dlg.open()");
# Disable the menu item "Equipment > radio" so we use our own gui: " > Radio".
print("Disabling Menu: Equipment -> Radios GUI using TR1133 -> Radio");
gui.menuBind("radio", "TR1133.radio_dlg.open()");
# =============================== listeners ===============================
#
setlistener("systems/comm/SCR-522C/frequencies/channel-selected", func(n) {
var channel_no = n.getValue();
if (channel_no == nil) channel_no = 0;
# print("channel", channel_no, " ", channel[channel_no]);
setprop("systems/comm/SCR-522C/frequencies/channel", channel[channel_no]);
},
1,
0); #end listener
setlistener("systems/comm/SCR-522C/tr", func(t) {
var tr = t.getValue();
# print("tr ",tr);
if (tr == nil) tr = 1;
if (tr == 0)
setprop("instrumentation/comm/ptt", 1);
else
setprop("instrumentation/comm/ptt", 0);
},
1,
0); # end listener
print("... done");
}#end func initialize
setlistener("sim/signals/fdm-initialized", TR1133_init);