If I put a print() inside the function I get what I expect to get back.
can someone please explain Global vs local. I thought my 'power = {}' at the top would make it global but it seams that when I assign power['IsPowerOn'] it is not assigning it to the global power array.
Code: Select all
power = {}
function set_power_xpl(bus_volts, avionics_on, avionics_EQ)
power['isPowerOn'] = fif((bus_volts[1] > 3 or bus_volts[2] > 3 or bus_volts[3] > 3), 1, 0)
power['isAvionicsAvl'] = avionics_EQ
power['isAvionicsOn'] = avionics_on
end
xpl_dataref_subscribe("sim/cockpit2/electrical/bus_volts", "FLOAT[6]",
"sim/cockpit/electrical/avionics_on", "INT",
"sim/cockpit/electrical/avionics_EQ", "BOOL",
set_power_xpl)
print('isPowerOn:', power['isPowerOn'])
print('isAvionicsAvl:', power['isAvionicsAvl'])
print(power)