
DaveSCUSA
Members-
Posts
151 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Gallery
Downloads
Everything posted by DaveSCUSA
-
Dear John, I am receiving Lua errors on several (or all) ipc.CalcCode("code") statements and can't figure out why. I double checked the ipc code, event syntax and compared the coding to similar code in the events.txt file. Please help. Following is the log error and Lua code for a couple of examples: 132562 *** LUA Error: C:\FSUIPC7\MSFSLua\DA62_12Keys.lua:68: attempt to call field 'CalcCode' (a nil value) 68 ipc.CalcCode("1 (>K:SET_STARTER1_HELD)") 128500 *** LUA Error: C:\FSUIPC7\MSFSLua\DA62_12Keys.lua:120: attempt to call field 'CalcCode' (a nil value) 120 ipc.CalcCode("1 (>K:ENGINE_MASTER_1_TOGGLE)") 130234 *** LUA Error: C:\FSUIPC7\MSFSLua\DA62_12Keys.lua:149: attempt to call field 'CalcCode' (a nil value) 149 ipc.CalcCode("1 (>K:ENGINE_MASTER_2_TOGGLE)") Sample events I looked are: PA24_250_Magneto_Both#3 (>K:MAGNETO1_SET) PA24_250_Magneto_Left#2 (>K:MAGNETO1_SET) PA24_250_Magneto_Off#0 (>K:MAGNETO1_SET) PA24_250_Magneto_Right#1 (>K:MAGNETO1_SET) For the life of me I can't figure out why. Thanks DA62_12Keys.log DA62_12Keys.lua FSUIPC7.ini FSUIPC7.log
-
As usual, thanks
-
Hello John, Really appreciate your support. Many othe MSFS venues take days to repond. You always respond quickly even if the issue may not be tied directly to FSUIPC7. I have two questions: 1. There are two methods to defining LVars I have found (there may be others). One is to define LVars in the system.cfg file [LocalVar.n] and their initial value. These LVars are persistent with the aircraft. Another method is to define an LVar in a .flt file in the same category as in the systems.cfg file (different formats) which is not persistent. I defined the LVars used in the DA62 in the system.cfg file instead of in the Lua and seems to work well. I use an LVar in the apron.flt and hangar.flt to let the Lua know the aircraft is not on the runway. The question has to do with the timeing of loading the LVars along with the Lua. I test for nil or 0 using the ipc.readLvar from the Library (not on Apron). I then test for the value set in the apron.flt file. The vaule is never what is contained in the apron.flt file DA62L_Apron = 22 or the runway.flt file DA62L_Apron = 0. So far I have seen the vaues 622 and 135 from the LVar. Are Lua executions initiated befor the LVars are loaded? If the flight is started, an immediate list of the LVars (from the console) contains the LVars defined in the .cfg or .flt files. After a few moments, the console list Lua shows the defined LVars and the correct values. Is there a way to wait until the LVars are loaded with the correct initial values? Test that the load is complete? There are several discussions about LVars using Simconnect and C++ but no where else. I have asked the same question in the MSFS Forum and no answer after 5 days. 2. And do you know if an LVar and its value defined in the system.cfg file can be changed by the LVars entry in the .flt file. Or are they mutually exclusive (can't have the same LVar in both definitions). Thanks as always FSUIPC7.log MSFS_Lua.lua
-
PS , I found the answer to the last question. In the system.cfg file, one can assign/create LVars. In the apron.flt file and/or runway.flt file, one can assign values to an LVar. I can create the LVars there and not use the Lua to create the LVars. But, would like to know why the error.
-
I keep obtaining an error attempting to create an LVar. The error (in the FSUIPC7.log) is: 429750 [ERROR]: Error: CDA with id=18 not found 429750 [ERROR]: Error: CDA with id=0 not found 429750 [ERROR]: Error: CDA with id=0 not found 429750 [ERROR]: Error: CDA with id=0 not found 429750 [ERROR]: Error: CDA with id=0 not found 429750 [ERROR]: Error: CDA with id=0 not found 429750 [ERROR]: Error: CDA with id=25 not found A Google search returns: "There are no results for "[ERROR]: Error: CDA with id=0 not found"". A search on just "Error: CDA" returns no results except Canadian Dental Association. In Lua, MSFS_Lua.lua is a function that creates a set of LVars for use to communicate with Air Manager (it has an variable subscriber that is executed upon change of a variable, including LVars). MSFS_Lua.lua also sets up several items used by the Add-on DA62 Mod. I executed two flights in MSFS and included the FSUIPC7.log. The first flight is with a DA20 at the end of the runway (non-DA62). The second flight is the DA62 at the apron. This when the Error: CDA appears. Previously, I started a DA62 flight with the ipc.createlvars commented out. At first I was creating the LVars with ipc.createLvar("L:DA62_DI_Mode",false) but changed it to ipc.createLvar("L:DA62_DI_Mode", 0). Still the error. Can you help? Thanks Another question please. Do you know of an MSFS variable for the location of an aircraft when starting a flight - Apron or Runway? Currently, I am setting the tail hook variable in the apron.cfg to on to differntiate. MSFS_Lua.lua MSFS_Lua.log FSUIPC7.log FSUIPC7.ini
-
Thank you. Sometimes very confusing and not obvious. Still becoming used to Lua.
-
I keep getting this error: ********* LUA: "MSFS_Lua" Log [from FSUIPC version 7.4.1] ********* 157562 System time = 22/02/2024 18:32:10, Simulator time = 18:32:08 (23:32Z) 157562 LUA: beginning "C:\FSUIPC7\MSFS_Lua.lua" 157562 *** LUA Error: C:\FSUIPC7\MSFS_Lua.lua:15: '=' expected near 'else' 157593 >>> Thread forced exit (ipc.exit or os.exit) <<< 157593 System time = 22/02/2024 18:32:10, Simulator time = 18:32:08 (23:32Z) ********* LUA execution terminated: Log Closed ********* For the life of me, I cannot seem to find the correction. I've looked at the error online (it stated the if statement was in error ????). I've used aircraft == typeac1, aircraft ~= typeac1 or aircraft == "DA62". Please help, you are the only one that I know to ask. I'm using this module to communicate different aircraft controls and instruments to use keypads, Alpha and Bravo devices. Addon aircraft are not consistent with the use of controls, events and input events. MSFS_Lua.lua
-
No sure any more, Perhaps a spelling correction or missing word. Sorry
-
follow
-
I use two instances of MSFS with the same user id on two different computers. On is a test machine for MSFS development, periferals and Lua coding. The other is the main flying server. I share files with a local ethernet network obtaining modified files from the client and moving them to the MSFS server. Is there any way of preventing MSFS from sharing files over the cloud between the two instances?
-
Thanks. Can global variables or LVars in Lua be shared between Air Manager logic (in Lua) and FSUIPC7 Lua. FSUIPC7 compiles on the fly. Air Manager compiles when a panel is shown (executed). Does not need the sim to be running. I can figure how to code to tell when both are running.
-
Thank you John, As I said, I am using Air Manager to detect switch positions delivered to MSFS from a keypad. The AM code is from a series of AM instruments for the Diamond DA62. They are available to purchase (AU$28). For consistency, I want to use the same MSFS variables, events in the Lua used to read the keypad with keypress combinations. There is a potentiometer control but I can't figure out how to tell the control which potentiometer (glareshield and instrument). Could you point out how? The MSFS indexes show which electrical connection. Thanks
-
I have been playing with Air Manager to place monitoring of switches to a tablet, such things as starter, fuel valve, master engine, etch. These switches are being set through either Honeycomb Alpha or Bravo and an HID device. The HID device has 2 rotary switches sending forward and backward pulses. I used the Key Assignment UI to check viability. The keys section in the FSUIPC7.ini shows: 7=49,13,66058,0 -{lalt+lshift+1: Press=PANEL_LIGHTS_SET }- 8=34,13,66058,0 -{lalt+lshift+PgDn: Press=PANEL_LIGHTS_SET }- 9=37,13,66974,0 -{lalt+lshift+Left: Press=GLARESHIELD_LIGHTS_SET }- 10=39,13,66974,0 -{lalt+lshift+Right: Press=GLARESHIELD_LIGHTS_SET }- As you well know, MSFS uses indexing which can be handled in FSUIPC7 by using the ipc.execCalcCode("A:LIGHT_POTENTIOMETER:3, Percent"). Air Manager can manipulate switches on a touch screen. It also shows the status of a switch using variable subscriptions. The Air Manager Lua code to do this is: fs2020_variable_subscribe("LIGHT POTENTIOMETER:3", "Percent", --instrument/panel "LIGHT POTENTIOMETER:5", "Percent", update) --glare Air Manager uses its event management to also manipulate the MSFS events: First it sets the knob positions based on the subscribe: function update(inst, flood) --show correct knob positions inst_dim_lvl = inst[2] flood_dim_lvl = flood[1] rotate(inst_lt_knob, inst_dim_lvl * 300 - 150) rotate(flood_lt_knob, flood_dim_lvl * 300 - 150) end The update function manipulates the image. If the image on the touch screen is used, the Air Manager defined image updates the events. The panel (inst image) is defined by: --instrument light dimmer inst_lt_knob = img_add("da62 dimmer knob.png", 34, 56, 112, 112) inst_lt = dial_add(nil, 34, 56, 112, 112, function(dir) local new_val = var_cap(inst_dim_lvl + dir * 0.05, 0, 1) fs2020_event("K:PANEL_LIGHTS_SET", 1, 1) fs2020_event("K:LIGHT_POTENTIOMETER_SET", 3, new_val * 100) end) In using my HID device and its knobs, I would like to accomplish the same, left to dim the light, right to brighten the light. I'm almost certain my code will work but have doubts about enlisting a variable in an ipc.execCalcCode("code"). Here is the code I want to use. event.key(49,13,1,"PANEL_LIGHTS_SET-") --{lalt+lshift+1: Press=PANEL_LIGHTS_SET -}- event.key(34,13,1,"PANEL_LIGHTS_SET+") --{lalt+lshift+1: Press=PANEL_LIGHTS_SET +}- function PANEL_LIGHTS_SET-() panelneg = ipc.execCalcCode("A:LIGHT_POTENTIOMETER:3, Percent") panelneg = (panelneg * -1) panelneg = panelneg - 3 ipc.execCalcCode("1 (>K:PANEL_LIGHTS_SET, Bool)") ipc.execCalcCode("panelneg (>K:LIGHT_POTENTIOMETER_SET:3, Percent)") end function PANEL_LIGHTS_SET+() panelneg = ipc.execCalcCode("A:LIGHT_POTENTIOMETER:3, Percent") panelneg = panelneg + 3 ipc.execCalcCode("1 (>K:PANEL_LIGHTS_SET, Bool)") ipc.execCalcCode("panelneg (>K:LIGHT_POTENTIOMETER_SET:3, Percent)") end I use the ipc.execCalcCode due to the indexing. The glareshield light uses ipc.execCalcCode("glareneg (>K:LIGHT_POTENTIOMETER_SET:5, Percent)"). Thanks for your time.
-
Situation - shut down FSUIPC7 while MSFS is running, delete logs, make .lua or .ini changes if necessary, restart flight, restart FSUIPC7. 1. Would the restart run FSUIPC7 as a clean run? Question 2: Is there a way to assign a logging function to a button or keypress to turn on or off? While debugging a button or key press. Turn on logging. Press lua button. Use mouse to exercise same switch in the virtual cockpit. Turn logging off. Compare event, inputevent and lua log. It can be cumbersome to use the UI. Thanks
-
Thank you
-
One more question, 3. Is there a way to compile an Lua plugin outside of MSFS?
-
Two questions please: 1. Can you point me to documentation or let us know what to do if we change an Lua program or change the FSUIPC7.ini to retetst the change? Must we restart MSFS from scratch? The changes don't seem to take effect on Flight Restart or creating a new flight from the Main Menu. Time consuming to start MSFS from scratch. 2. Is there a way to eliminate all Lua traces and still display ipc.log entries? If you need more info, please let me know. Thanks
-
Couldn't find any mention in the guides. Is there a way to assign a sleep or delay to a button press in the FSUIPC7.ini. I have also read the section on compound button press. I want to sleep for 750 ms between two button presses. Thanks
-
Just a quick one. Sorry if I didn't catch you in time. Can a keypress have 2 offset conditions? 1=B66C0>0, B66C1=1 xx,yy.....
-
Saw the holiday post previously. Highly appreciated your input. Happy Christmas!
-
Thanks, wouldn't have caught the keypress controls. Don't need to use the FSUIPC added controls. I assume if you don't need a shift code just leave it and the + sign off and just use the Keycode alone. Sorry, the question was implied, why the error? I guess the answer is that "K" is not valid with keypress assignments. PS What does "JsBk" mean?
-
I didn't receive an answer from the last post above. Can a key press assignment create a keypress?
-
Hello John, It all seems to work now (at least on my test MSFS), thanks. The first time I tried the button to keypress, I received errors in attempting to send a keypress. I set offset 0x66C0 to x04 and use it as a flag to input ATC responses. I tried to use a keypress to respond. It works from my PC keyboard but an error trying to perform a keypress from a button emulating a RAlt + 1 press. I have changed the key assignments to use the ATC controls. Not as consistent in MSFS as the actual number key. [Keys] 1=48,264,x010066C0,x04 -{ralt+0: Press=offset byte set to 4, offset 66C0 }- 10=B66C0>0 53,264,K52 << ERROR 24! Line ignored >> 11=B66C0>0 53,264,x010066C0,x00 -{ralt+5: Press=offset byte set to 0, offset 66C0 }- Changed to: 1=48,264,x010066C0,x04 -{ralt+0: Press=offset byte set to 4, offset 66C0 }- 10=B66C0>0 53,264,66175,1 -{ralt+5: Press=ATC_MENU_4 }- 11=B66C0>0 53,264,x010066C0,x00 -{ralt+5: Press=offset byte set to 0, offset 66C0 }- Thanks for your input