
Paul Henty
Members-
Posts
1,724 -
Joined
-
Days Won
77
Content Type
Profiles
Forums
Events
Gallery
Downloads
Everything posted by Paul Henty
-
P3D v4.5 stürzt ab, wohl duch FSUIPC6
Paul Henty replied to Hoorn's topic in FSUIPC Client DLL for .NET
The message in your picture is from an application that uses FSUIPC to communicate with P3D. When your P3D crashes, this application cannot get a reply from FSUIPC so it shows this error. You need to find out why P3D is crashing. This message if not from P3D or FSUIPC. Paul -
FS9 problem: not all data is read
Paul Henty replied to Skino2412's topic in FSUIPC Client DLL for .NET
Very strange. I notice that your example code application is out of date. Can you please try with the latest version, and update it's copy of the client dll to the latest stable or beta version. Paul -
FS9 problem: not all data is read
Paul Henty replied to Skino2412's topic in FSUIPC Client DLL for .NET
Thanks. I still can't think what could be causing this. Please can you try using a different FSUIPC client. I suggest FSInterrogate2std.exe from the FSUIPC SDK: Read the Aircraft Info in that program to see if's working there: 1. Goto the Interrogate Tab 2. Type in an offset range from 3130 to 3177 3. Press [Setup fields] 4. Press [Select all] on the toolbar 5. Press [Read buffer-1] to get the values (They should appear in the last column). If this program also doesn't get the values then there's something wrong with FSUIPC itself or maybe FS2004. Paul -
FS9 problem: not all data is read
Paul Henty replied to Skino2412's topic in FSUIPC Client DLL for .NET
I've tried here with FS2004, the latest version (3.2.2-Beta) of my FSUIPC Client DLL and FSUIPC 3.999z9b and it works fine. To check if the problem is with my DLL or not, can you please log the following two offsets in FSUIPC: E004 (U16) and F004 (U16). These will show how many ground and airborne AI planes FSUIPC is seeing. Let me know the results. Thanks, Paul -
You'll need to add a call to VS.RefreshData() after the sleep, and before you try to read the LVAR. If it still doesn't work try the following: 1. Waiting longer than 2 seconds. 2. Check the list of LVar names at VS.LVars.Names to see all the LVars that have been found. (If you have logging set up you could also use VS.LogLVars()) Paul
-
Make sure your exe is compiling and running as a 64 bit process. The FSUIPC_WASPID.dll is 64bit so cannot be loaded from a 32-bit process. In your exe project properties, go to the Build tab. Make sure your platform target is either x64 or "any cpu". If it's "any" make sure the box for 'prefer 32bit" is NOT checked. Paul
-
I can't help much as I don't have MSFS. From what I know: 1. HVars need to be added to a file somewhere so that the WASM module knows about them. 2. You need to wait a few seconds after calling Start() as the WASM module needs time to discover the variables. 3. HVars do not have values. They are only actions that can be 'Set()'. 4. When you change aircraft or change the HVar files you need to call MSFSVariableServices.Reload() to discover the new variables for that aircraft. If you've added these variables to the file and you've waited for the WASM module then @John Dowson may have some more suggestions. Paul
-
My .NET Client DLL now has direct access to LVars/HVars in MSFS from managed code via the MSFSVariableServices class. See here: This uses John's WAPI DLL in the background. Paul
-
If it is then WheelChocksSet must be 6C60. Paul
-
Thanks. I also noticed the addresses for some of the old offsets seem to have changed now... Everything from FMC_CruiseAlt onwards has moved 1 byte forward FMC_PerfInputComplete has typo: 6C20 FMC_DistanceToTOD onwards have been shifted forward 4 bytes. Is this intended? Paul
-
Sorry John, one more error: FIRE_APUHandleIsUnlocked isn't an array, it should be FIRE_EngineHandleIsUnlocked to match FIRE_EngineHandleIlluminated. I've double checked against the .h file and all the others seem okay. Paul
-
Hi John, I think you uploaded the wrong document - this one you attached doesn't have the arrays and still has COMM_ReceiverSwitches at 6C58. Paul
-
How can I get multiple engine failure in MSFS20?
Paul Henty replied to ptinosq's topic in FSUIPC Client DLL for .NET
Hi T, This offset doesn't take the engine number like that. As the offsets document says, each bit in the offset represents an engine. So bit 0 is engine 1, bit 1 is engine 2 etc. If the bit is set to 1 the engine is failed. If 0 it's working ok. The easiest way to work with bits using the DLL is to declare the offset as an FsBitArray: private Offset<FsBitArray> engine_failure = new Offset<FsBitArray>(0x0B6B, 1); Note that the 1 (second parameter) is the length of the offset. This is required for some types like FsBitArray. 1 here means 1 byte as can been seen in the offsets documentation. To access the individual bits in the offset use the following: if (engine_failure.Value[1]) { // engine 2 has failed } engine_failure.Value[0] = true; // Set engine 1 to failed engine_failure.Value[3] = true; // Also set engine 4 to failed Another thing you need to be aware of is that you declared this offset as uint which is 4 bytes, but the documentation says this offset is only one byte. If you declare offsets with the wrong type you're going to have problems with the values you read, and writing offsets with the wrong type will result is unexpected things happening in the sim. Paul -
Okay - I'll add these new offsets to my DLL. Paul
-
I don't think there are any updates required. @Jason Fayre seems to have the 777 CDU working from my dll. Like Luke, I'm a confused as to what has changed with the offsets you mentioned. Those offsets from 0x6C00 were in the Sept 2015 777x offsets list and so are already included in my dll. They don't look to have changed from 2015. Paul
-
Hi, John has confirmed that the delay between calling Reload() and the HVars being available is to be expected. It takes time for the WASM module to gather the data from the files and do it's housekeeping. A few seconds should be enough. I'll update the documentation to make this clear. By the way, Start() called Reload() internally so you shouldn't need to call it yourself. Another point John raised is that there can also be a delay between writing a new LVar value and that value being set in the sim and read back by the WASM module. Because of this I'll need to change the value setting to be on a method (SetValue) instead of setting the value property. Paul
-
I'm not sure why this is happening, or how long you should wait. I'll ask John about it. Paul
-
You need to call Start() sometime after Init(). Sorry, I completely left that out of the other post. I'll go and fix it now. If you're using LVars as well then you'll also need to call RefreshData() periodically to get the latest values. Paul
-
Hi Matt, The new beta version of my DLL is now available with support for LVars and HVars in MSFS via John's WASM Module. It's on NuGet (3.2.1-Beta) (remember to tick the box to 'include pre-release'.) Documentation is here: Paul
-
Hi, The beta is now available on NuGet (3.2.1-Beta) (remember to tick the box to 'include pre-release'. Documentation is here: https://forum.simflight.com/topic/92372-added-support-for-lvarshvars-access-in-msfs-via-john-dowsons-wasm-module/ Paul