Jump to content
The simFlight Network Forums

Paul Henty

Members
  • Posts

    1,642
  • Joined

  • Days Won

    74

Paul Henty last won the day on January 25

Paul Henty had the most liked content!

About Paul Henty

  • Birthday 01/01/1970

Profile Information

  • Gender
    Male
  • Location
    Gloucestershire, UK

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Paul Henty's Achievements

Rising Star

Rising Star (9/14)

  • Very Popular Rare
  • Reacting Well Rare
  • Conversation Starter Rare
  • Dedicated Rare
  • Posting Machine Rare

Recent Badges

122

Reputation

  1. Hi Jason. You'll need to ask John Dowson about this in the MSFS (FSUIPC7) support forum. Paul
  2. Hi, You are getting the warnings because my DLL depends on the Win32 API and the WinForms library . Those are not included in the .NET Standard 2.0 specification. It's telling you that if you use my library, your application will no longer be .NET Standard 2.0 compatible. e.g. It won't run on Linux. Running it on a Windows .NET 8 machine will be fine because that platform does include the Win32 API and the WinForms library. Since my DLL cannot work on any platform except Windows I cannot make it target a cross-platform specification like .NET Standard 2.0. Even the .NET versions I do target have to be the specific 'windows' versions. e.g. net6.0-windows not net6.0. If you must use Standard 2.0, the only thing you can do is tell VS to suppress the warning, but your app will not really be compatible with Standard 2.0. Paul
  3. Hi Kees, This forum is for .NET programming; your questions seems to be about Lua so this isn't really the best place to get help with that. However, you'll probably get better performance by using the lua event system for LVars: event.Lvar("lvarname", interval, "function-name") This will call the specified function when the value of the LVar changes. That function can then set the value in the offset. I think this will reduce the processing from the current situation where you are reading the writing every LVAR every 100ms. I don't really know lua that well, so If you want more information about this, please ask John Downson in the main FSUIPC forum (not any of the sub-forums) at the link below. https://forum.simflight.com/forum/30-fsuipc-support-pete-dowson-modules/ Paul
  4. My DLL has no way to access SimConnect variables. I know FSUIPC7 has a way to map a simconnect variable to an unused offset, but I'm not sure if this works with a whole structure, or if it works with earlier versions of FSUIPC. @John Dowson will be able to tell you if it's possible to access this simconnect data via offsets. If he doesn't see this and reply here, please ask him directly in the main FSUIPC support forum. Paul
  5. Hi Robert, I don't know anything about the P3D shared cockpit feature, but it sounds like these particular variables are not getting shared between the copies of P3D. I guess P3D can't share everything due to bandwidth, especially if you're using third-party aircraft. FSUIPC itself doesn't do any cockpit sharing so offset values will also not be shared unless they are backed by P3D data that is shared. So writing to spare offsets on one copy of P3D will not be seen on the other. I don't think there's an easy way to do this. You'll need to come up with a way to pass the data between the two PCs yourself. The obvious way is probably to use a TCP link between your application running on the the server and the client(s) and pass the LVAR data between them. .NET has a TcpClient and TcpListener class. Your application can then exchange the LVAR data over the TCP link and update the local copies of the LVARs using FSUIPC. There might be some .net libraries that make data exchange easier than writing your own networking code, but I've never looked into this. Paul
  6. Hi, I think you've posted in the wrong sub-forum. This is for questions about programming FSUIPC applications in .NET languages. I recommend reposting in the main FSUIPC support forum. Follow this link, scroll down a bit and find the [Start New Topic] button. https://forum.simflight.com/forum/30-fsuipc-support-pete-dowson-modules/ Paul
  7. The NAV offsets are stored in hexadecimal, not decimal like the COM offsets. To convert the value, you must convert it to a string using hexadecimal format. Then you need to add the 1 at the front and the decimal point in the middle... string nav1String = nav1offset.Value.ToString("X4"); // Convert to hex - exactly 4 digits nav1String = "1" + nav1String.Substring(0, 2) + "." + nav1String.Substring(2, 2); In your example you got the value 4176. In hexadecimal this is 1050. Which represents the frequency 110.50 Paul
  8. Great! Glad it's all sorted. It was baffling me for sure. I hadn't considered you were using the untyped Offset class. I've reproduced the error here and I've made a small change to the DLL so that it gives a much better exception than "index out of range": FSUIPC.FSUIPCException: 'FSUIPC Error #999: FSUIPC_ERR_WRITE_OVERFLOW. Offset 66C0 is declared with length of 9 Bytes. The data you are trying to write is different from this. (8 bytes)' Version 3.3.9 is now on NuGet. Paul
  9. That line number doesn't really help unfortunately. Can you make sure FSUIPCConnection.DLLVersion is reporting 3.3.8? Also some of this info might help: 1. are you using any named offset groups anywhere in your application? Or are you just using the blank default group? 2. is there any multi-threading in your application? Or is everything run on the main UI thread? Paul
  10. Okay - here's the file. Copy it to your application folder (along side the fsuipcClient.DLL). When you get the stack trace it should give you the line number in my Process() method where it's failing. Paul fsuipcClient.pdb
  11. The pdb files don't seem to be in the latest packages either. I'll have to sort that out. But at least I can attach a copy for the latest version. I'll need to know which framework version you're using though - 4, 5, 6 or 7. Paul
  12. That's a very old version (about 4 years). Back then I was not shipping the pdb files in the package. The pdb files are specific to each build of the DLL so I can't generate one for an old version. I can only really suggest updating to the latest version. There could be a few breaking changes however, depending on what features you're using. Also, the earliest framework supported is now .NET Framework 4.6.2. If you're using an earlier framework and don't want to upgrade your project to a new framework, let me know what version you're targeting. I might be able to suggest an alternative version of the DLL that supports the framework you're using. Paul
  13. Hi Robert, It's difficult to tell from that error. What version of the DLL are you using? Can you make sure you have the fsuipcClient.pdb file in the folder you run your application from. This should make it so the line number from my DLL is reported in the stack trace. That would help a lot. Visual Studio usually copies the pdb file to the build folder (e.g. bin/release). Paul
  14. Hi Andy, In the PMDG_737_NGX_Offsets class there is: ICE_TestProbeHeatSw[2] In the PMDG SDK this data is called ICE_ProbeHeatSw. My DLL takes the names from John's FSUIPC Documentation for the PMDG Offsets, not from the PMDG SDK. I don't know why the FSUIPC name is different in this case. Paul
  15. Polling can't be avoided with FSUIPC because the protocol is based on polling. Applications that use FSUIPC are meant to constantly poll for look for changes. As John says, my Websocket Server does have an event-driven model, but it has to use polling in the background to monitor for changed values. The developer can choose the polling rate. My C# DLL does not have an event model for offsets (only LVars which uses John's LVar WAPI server and not FSUIPC). If you're comfortable using the Node.JS SDK for FSUIPC then you should probably stick with that and just use polling. FSUIPC can comfortably handle requests every 40ms, maybe faster on modern hardware. The only reason I can see to use another SDK is if the Node.JS wrapper is too slow to manage this rate of polling for some reason. Paul
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.