The script posting is made by using this icon which add tags and we insert the script in the middle of both tags between "][" chars
In the mentioned script, we can extract the string format which, I guess, have to be edited accordingly to your own wiring and 2 x 3 Digits displays and X-Plane ?
Code: Select all
function new_frequencies_xpl(com1_act, com1_stby, com2_act, com2_stby, nav1_act, nav1_stby, nav2_act, nav2_stby, bus_volts, avionics)
if bus_volts[1] >= 5 and avionics == 1 and sw_power then
frequency_value["COM1 ACT"] = spaces_com .. string.format("%07.03f", com1_act / 1000)
frequency_value["COM1 STBY"] = spaces_com .. string.format("%07.03f", com1_stby / 1000)
frequency_value["COM2 ACT"] = spaces_com .. string.format("%07.03f", com2_act / 1000)
frequency_value["COM2 STBY"] = spaces_com .. string.format("%07.03f", com2_stby / 1000)
frequency_value["NAV1 ACT"] = spaces_nav .. string.format("%06.02f", nav1_act / 100)
frequency_value["NAV1 STBY"] = spaces_nav .. string.format("%06.02f", nav1_stby / 100)
frequency_value["NAV2 ACT"] = spaces_nav .. string.format("%06.02f", nav2_act / 100)
frequency_value["NAV2 STBY"] = spaces_nav .. string.format("%06.02f", nav2_stby / 100)
else
frequency_value["COM1 ACT"] = " "
frequency_value["COM1 STBY"] = " "
frequency_value["COM2 ACT"] = " "
frequency_value["COM2 STBY"] = " "
frequency_value["NAV1 ACT"] = " "
frequency_value["NAV1 STBY"] = " "
frequency_value["NAV2 ACT"] = " "
frequency_value["NAV2 STBY"] = " "
end
for i = 1, 2 do
hw_chr_display_set_text(max_display, i - 1, 0, frequency_value[user_prop_get(displays[i])])
end
end
xpl_dataref_subscribe("sim/cockpit2/radios/actuators/com1_frequency_hz_833", "INT",
"sim/cockpit2/radios/actuators/com1_standby_frequency_hz_833", "INT",
"sim/cockpit2/radios/actuators/com2_frequency_hz_833", "INT",
"sim/cockpit2/radios/actuators/com2_standby_frequency_hz_833", "INT",
"sim/cockpit2/radios/actuators/nav1_frequency_hz", "INT",
"sim/cockpit/radios/nav1_stdby_freq_hz", "INT",
"sim/cockpit2/radios/actuators/nav2_frequency_hz", "INT",
"sim/cockpit/radios/nav2_stdby_freq_hz", "INT",
"sim/cockpit2/electrical/bus_volts", "FLOAT[6]",
"sim/cockpit2/switches/avionics_power_on", "INT", new_frequencies_xpl)
Code: Select all
local displays = { }
displays[1] = user_prop_add_enum("Display 1", "COM1 ACT,COM1 STBY,COM2 ACT,COM2 STBY,NAV1 ACT,NAV1 STBY,NAV2 ACT,NAV2 STBY,NONE", "COM1 ACT", "What should display 1 show")
displays[2] = user_prop_add_enum("Display 2", "COM1 ACT,COM1 STBY,COM2 ACT,COM2 STBY,NAV1 ACT,NAV1 STBY,NAV2 ACT,NAV2 STBY,NONE", "COM1 STBY", "What should display 2 show")
outline = user_prop_add_enum("Outline", "Left,Center,Right", "Center", "How should the frequencies outline")
use_powersw = user_prop_add_boolean("Power switch", true, "Also use hardware switch for power")
swap1_buttn = user_prop_add_enum("Swap 1", "COM1,COM2,NAV1,NAV2", "COM1", "Which frequencies to swap")
swap2_buttn = user_prop_add_enum("Swap 2", "COM1,COM2,NAV1,NAV2", "NAV1", "Which frequencies to swap")
local frequency_value = { }
frequency_value["COM1 ACT"] = " "
frequency_value["COM1 STBY"] = " "
frequency_value["COM2 ACT"] = " "
frequency_value["COM2 STBY"] = " "
frequency_value["NAV1 ACT"] = " "
frequency_value["NAV1 STBY"] = " "
frequency_value["NAV2 ACT"] = " "
frequency_value["NAV2 STBY"] = " "
frequency_value["NONE"] = " "
local spaces_com = ""
local spaces_nav = ""
if user_prop_get(outline) == "Center" then
spaces_com = " "
spaces_nav = " "
elseif user_prop_get(outline) == "Right" then
spaces_com = " "
spaces_nav = " "
end
max_display = hw_chr_display_add("Frequencies", "MAX7219", 2)
local sw_power = true
switch_pwr = hw_switch_add("Power switch", function(position)
if user_prop_get(use_powersw) then
sw_power = position == 1
end
if fsx_connected() or p3d_connected() or fs2020_connected() then
request_callback(new_frequencies_fs)
elseif xpl_connected() then
request_callback(new_frequencies_xpl)
end
end)
function swap(channel)
if user_prop_get(channel) == "COM1" then
xpl_command("sim/radios/com1_standy_flip")
fsx_event("COM_STBY_RADIO_SWAP")
fs2020_event("COM_STBY_RADIO_SWAP")
elseif user_prop_get(channel) == "COM2" then
xpl_command("sim/radios/com2_standy_flip")
fsx_event("COM2_STBY_RADIO_SWAP")
fs2020_event("COM2_STBY_RADIO_SWAP")
elseif user_prop_get(channel) == "NAV1" then
xpl_command("sim/radios/nav1_standy_flip")
fsx_event("NAV1_RADIO_SWAP")
fs2020_event("NAV1_RADIO_SWAP")
elseif user_prop_get(channel) == "NAV2" then
xpl_command("sim/radios/nav2_standy_flip")
fsx_event("NAV2_RADIO_SWAP")
fs2020_event("NAV2_RADIO_SWAP")
end
end
hw_button_add("Swap 1", function()
swap(swap1_buttn)
end)
hw_button_add("Swap 2", function()
swap(swap2_buttn)
end)
function new_frequencies_xpl(com1_act, com1_stby, com2_act, com2_stby, nav1_act, nav1_stby, nav2_act, nav2_stby, bus_volts, avionics)
if bus_volts[1] >= 5 and avionics == 1 and sw_power then
frequency_value["COM1 ACT"] = spaces_com .. string.format("%07.03f", com1_act / 1000)
frequency_value["COM1 STBY"] = spaces_com .. string.format("%07.03f", com1_stby / 1000)
frequency_value["COM2 ACT"] = spaces_com .. string.format("%07.03f", com2_act / 1000)
frequency_value["COM2 STBY"] = spaces_com .. string.format("%07.03f", com2_stby / 1000)
frequency_value["NAV1 ACT"] = spaces_nav .. string.format("%06.02f", nav1_act / 100)
frequency_value["NAV1 STBY"] = spaces_nav .. string.format("%06.02f", nav1_stby / 100)
frequency_value["NAV2 ACT"] = spaces_nav .. string.format("%06.02f", nav2_act / 100)
frequency_value["NAV2 STBY"] = spaces_nav .. string.format("%06.02f", nav2_stby / 100)
else
frequency_value["COM1 ACT"] = " "
frequency_value["COM1 STBY"] = " "
frequency_value["COM2 ACT"] = " "
frequency_value["COM2 STBY"] = " "
frequency_value["NAV1 ACT"] = " "
frequency_value["NAV1 STBY"] = " "
frequency_value["NAV2 ACT"] = " "
frequency_value["NAV2 STBY"] = " "
end
for i = 1, 2 do
hw_chr_display_set_text(max_display, i - 1, 0, frequency_value[user_prop_get(displays[i])])
end
end
xpl_dataref_subscribe("sim/cockpit2/radios/actuators/com1_frequency_hz_833", "INT",
"sim/cockpit2/radios/actuators/com1_standby_frequency_hz_833", "INT",
"sim/cockpit2/radios/actuators/com2_frequency_hz_833", "INT",
"sim/cockpit2/radios/actuators/com2_standby_frequency_hz_833", "INT",
"sim/cockpit2/radios/actuators/nav1_frequency_hz", "INT",
"sim/cockpit/radios/nav1_stdby_freq_hz", "INT",
"sim/cockpit2/radios/actuators/nav2_frequency_hz", "INT",
"sim/cockpit/radios/nav2_stdby_freq_hz", "INT",
"sim/cockpit2/electrical/bus_volts", "FLOAT[6]",
"sim/cockpit2/switches/avionics_power_on", "INT", new_frequencies_xpl)
function new_frequencies_fs(com1_act, com1_stby, com2_act, com2_stby, nav1_act, nav1_stby, nav2_act, nav2_stby, bus_volts, avionics)
if bus_volts >= 5 and avionics and sw_power then
frequency_value["COM1 ACT"] = spaces_com .. string.format("%07.03f", com1_act)
frequency_value["COM1 STBY"] = spaces_com .. string.format("%07.03f", com1_stby)
frequency_value["COM2 ACT"] = spaces_com .. string.format("%07.03f", com2_act)
frequency_value["COM2 STBY"] = spaces_com .. string.format("%07.03f", com2_stby)
frequency_value["NAV1 ACT"] = spaces_nav .. string.format("%06.02f", nav1_act)
frequency_value["NAV1 STBY"] = spaces_nav .. string.format("%06.02f", nav1_stby)
frequency_value["NAV2 ACT"] = spaces_nav .. string.format("%06.02f", nav2_act)
frequency_value["NAV2 STBY"] = spaces_nav .. string.format("%06.02f", nav2_stby)
else
frequency_value["COM1 ACT"] = " "
frequency_value["COM1 STBY"] = " "
frequency_value["COM2 ACT"] = " "
frequency_value["COM2 STBY"] = " "
frequency_value["NAV1 ACT"] = " "
frequency_value["NAV1 STBY"] = " "
frequency_value["NAV2 ACT"] = " "
frequency_value["NAV2 STBY"] = " "
end
for i = 1, 2 do
hw_chr_display_set_text(max_display, i - 1, 0, frequency_value[user_prop_get(displays[i])])
end
end
fsx_variable_subscribe("COM ACTIVE FREQUENCY:1", "MHz",
"COM STANDBY FREQUENCY:1", "MHz",
"COM ACTIVE FREQUENCY:2", "MHz",
"COM STANDBY FREQUENCY:2", "MHz",
"NAV ACTIVE FREQUENCY:1", "MHz",
"NAV STANDBY FREQUENCY:1", "MHz",
"NAV ACTIVE FREQUENCY:2", "MHz",
"NAV STANDBY FREQUENCY:2", "MHz",
"ELECTRICAL MAIN BUS VOLTAGE", "Volts",
"AVIONICS MASTER SWITCH", "Bool", new_frequencies_fs)
fs2020_variable_subscribe("COM ACTIVE FREQUENCY:1", "MHz",
"COM STANDBY FREQUENCY:1", "MHz",
"COM ACTIVE FREQUENCY:2", "MHz",
"COM STANDBY FREQUENCY:2", "MHz",
"NAV ACTIVE FREQUENCY:1", "MHz",
"NAV STANDBY FREQUENCY:1", "MHz",
"NAV ACTIVE FREQUENCY:2", "MHz",
"NAV STANDBY FREQUENCY:2", "MHz",
"ELECTRICAL MAIN BUS VOLTAGE", "Volts",
"AVIONICS MASTER SWITCH", "Bool", new_frequencies_fs)