##################################################################################### # 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);