Jump to content
The simFlight Network Forums

Paul Henty

Members
  • Content Count

    1,217
  • Joined

  • Days Won

    36

Paul Henty last won the day on September 20 2020

Paul Henty had the most liked content!

Community Reputation

66 Excellent

About Paul Henty

  • Rank
    Advanced Member
  • 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.

  1. Hi James, For C# you'll need my .NET Client DLL. If you haven't already, please see the website for details on how to install it into your project, and to download the 'Example Code' project which gives examples of how to use the DLL. http://fsuipc.paulhenty.com Specifically, have a look at the example called "BC004: Writing to Offsets" under the 'Basic Concepts' section in the Example Code application. For your Project Magenta offset you'll need to declare it with a type of 'byte'. Then assign the value 51 and call Process(). I recommend using the grouping feature so
  2. HI, I use FS2004 here for testing sometimes so it does work. You shouldn't need a registered FSUIPC for IPC activity, but Pete has made FSUIPC3 registration free. See at the bottom of this post for the free reg key. The only cause of FSUIPC_ERR_SENDMSG I've seen is a mismatch between the admin permissions for the app and the sim. Double check that both are 'as admin' or both are not. If that's definitely not the problem then the log files might tell us something. Paste here if you can't see anything obvious. The log should be in the modules folder (FSUIPC.log).
  3. 07C8 is the heading lock, not the heading itself. The heading is 0x07CC. Declare as UShort. To convert to degrees, divide by 65536 then multiply by 360. Paul
  4. Yes there is a Set(x) function as well. In .NET you assign a boolean value: myBitArray.Set(3) = true; If WinDev doesn't have booleans then 0/1 should work. Paul
  5. Hi Didier, In .NET the array access for these classes is fake. The compiler will replace myBitArray[2] with myBitArray.Get(2). It looks like WinDev doesn't understand this, so try calling the Get() function directly: Lights.Value.Get(0) Lights.Value.Get(1) etc... Paul
  6. In addition to Pete's answer above... 0B4C is only 2 bytes long, so it needs to be declared as Short. (Not UShort because some land is below sea level and therefore the elevation is negative). Private groundElevation As New Offset(Of Short)(&HB4C) 0020 should also be Integer not UInteger. Here is the code with conversion to metres... Private groundElevation As New Offset(Of Integer)(&H20) aglStatus.Text = groundElevation.Value / 256D As I said in a reply above, if you want AGL you need to subtract the ground elevation from the aircraft's current altitude:
  7. Hi, There doesn't seem to be much wrong with this sub you have posted. Most of it uses the payload services which manages the offsets for you. There is one small issue: Dim Parkingbrk As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&HBC8) This offset is being re-created every time you call refuel(). If you call it 3 times you will have three copies of this offset. That's obviously not enough to cause the FSUIPC_ERR_SIZE, but you might be making the same mistake elsewhere in your code. Are you creating offsets anywhere else? You should declare offsets at the form o
  8. Hi Marc, MSFS has a new 'active pause' mode which is different from the real pause mode. This has caused some confusion with the pause offsets and controls in MSFS. I don't think it's resolved yet. This is the current thread about it. I haven't read all the way through it - it's quite long - but it might give you a solution. Just off the top of my head, if the pause offset doesn't work you could try the pause control: FSUIPCConnection.SendControlToFS(FsControl.PAUSE_OFF, 0); But that may have the same problem. Paul
  9. Looking at the WinDev documentation for .NET (https://doc.windev.com/en-US/?2012002&name=Using_NET_assemblies) I think you need to declare the offset like this: Offset_Airspeed is "Offset<4-byte unsigned int>"(0x02BC) Then use the value like this: AirspeedKnots is real AirspeedKnots = Offset_Airspeed.Value / 128.0 I can't test this however. The strongly-typed offset (with <>) is easier to use. If you really want to use the base Offset() class then you also need to include the length of the offset: Offset_Airspeed is Offset(0x02BC, 4) Paul
  10. Hi Didier, This happens when you try to Process() but there are no Offsets created. This will be work if we can solve your next problem: Can you post your code here (where you create offsets)?. Maybe I can see the problem. A bit, but I'm not fluent. Paul
  11. The main documentation is the example code application available on the website. http://fsuipc.paulhenty.com/#downloads There is also a video tutorial in the help section for beginners. Everything is centred around Visual Studio however because that how most people use it. Paul
  12. It's compiled to target "any cpu" so it will compile to 32bit or 64bit depending on the application it's used in. Paul
  13. Hi Didier, I only distribute it on NuGet now as it's much easier for me, and also for the users to keep up-to-date. If WinDev doesn't support NuGet you can use Visual Studio to download the package into a blank project and pick up the files from there. Or, you can download the package directly from the NuGet website: https://www.nuget.org/packages/FSUIPCClientDLL/ Rename the .nupkg to .zip, then you can just unzip it and get the DLL and XML from the 'lib' folder. Paul
  14. Version 3.1.25 is now available. Overview: There is a new class called FsLatLonPolygon. Its constructor takes in an array of FsLatLonPoint that defines the points (vertices) of a closed polygon. There can be any number of points. The polygon can be convex, concave or complex (having self-intersecting sides). Testing if a point is in a poylgon: Once the polygon has been defined you can use the ContainsPoint() method to test if the given point is contained within the polygon. FsLatLonPolygon london = new FsLatLonPolygon(londonOutline); FsLatLonP
  15. Ah fair enough. I'll just leave it as an array of FsLatLonPoint[] then. It'll be simple enough to build from your data. Thanks, 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.