oresther Posted June 16, 2017 Report Posted June 16, 2017 Moved to Sub-Forum, FSUIPC Client DLL for .NET Hello Pete, first i want to thank you for taking the time and thank the fsuipc to 64 bit my guess is you familiar with the link2fs software , the problem with this software now that it is not working with 64bit , i spend the time and start change it to 64bit , everything is working great with the prepar3d 64bit except the fsuipc part , it is not sending any control to the game and it is not responding i have to say with the 32bit it is working great is there is a new fsuipcclient.dll for 64bit ? if yes where i can download it ? thank you
Thomas Richter Posted June 17, 2017 Report Posted June 17, 2017 Hi, this is the wrong forum for that. FSUIPCClient.dll is by Paul Henty and his latest version FSUIPCClient RC2 works for .Net2/ .Net4 and also for 32-Bit and 64-Bit FSUIPCClient3.0_RC2 Question about FSUIPCClient and .Net applications are best placed in the Sub-Forum, FSUIPC Client DLL for .NET Thomas
oresther Posted June 17, 2017 Author Report Posted June 17, 2017 is anyone know if i need new fsuipcclient.dll for fsuipc5 ? i am changing the link2fs software to work with p3d 64bit , everything work great axcept the fsuipc section only after 2 time clicking on a "send" box the command is sending to the game, the command can use only one time until i am changing screens on the software any idea ? i am developing in visual studio 2017 thank you
Paul Henty Posted June 17, 2017 Report Posted June 17, 2017 You don't need a new FSUIPCClient.dll for FSUIPC5. Any version of the DLL will connect fine with FSUIPC5. It's doesn't matter if your client application is compiled as 32 bit. I can still talk to 64 bit P3D via FSUIPC. You only need the new Version 3 if you want to compile your .NET client application as a 64 bit dll (or a Dual 32/64 binary). It has nothing to do with the Flight Sim being 32 or 64 bit. For your connection problem I'll need more information to help e.g. any exceptions that get thrown. Also posting your connection code might help. You could also try the sample solutions from the 2.4 zip and just use the new Version 3 DLL if that's what you're using. See if that has the same problems or not. Paul
oresther Posted June 17, 2017 Author Report Posted June 17, 2017 thank you for the information , the build is going well without any error code , warning or note, i am using the new client (RC2) and it still have the problem , let me check the connection code and ill try it with 2.4 will post back soon
Thomas Richter Posted June 17, 2017 Report Posted June 17, 2017 Hi, do you maybe check offset 0x3308 for FS version, P3Dv4 is value 12 ? Thomas
oresther Posted June 17, 2017 Author Report Posted June 17, 2017 thank you for the help , it's been a long time since i programmed i think it is something with the script control, any idea where i can get MSScriptControl dll for 64bit ? thank you
oresther Posted June 18, 2017 Author Report Posted June 18, 2017 I just noticed that with the dll versions 3.06152.2 - 3.06152.3 - 3.06152.4 - 3.06100.1 I can no longer send offsets via: As Sun sendButton Offset (Of Integer) = New FSUIPC.Offset (Of Integer) (& H3110) with 2.4.0.0 or 2.4.4910.2 versions all works fine. any fix to that ? i am using p3dv4 and fsuipcv5 thank you
Thomas Richter Posted June 18, 2017 Report Posted June 18, 2017 Hi, when you check the major difference from 3.xx onwards you will find Paul described that any Offset that Read/Write declared has to be Read first before it can be used for writing. Write only declared Offsets behave different, just writeable. In case you use 0x3110, that is a write only Offset in FSUIPC already, you should declare that Offset as well Write Only. Thomas
oresther Posted June 18, 2017 Author Report Posted June 18, 2017 fsuControlDatau = New FSUIPC.Offset(Of Integer)("&H3114") fsuControlu = New FSUIPC.Offset(Of Integer)("&H3110") this is how i wrote it in vb is it correct ? or i need to add something like i said it been a long long long time since i programmed :)
Thomas Richter Posted June 18, 2017 Report Posted June 18, 2017 if you use both offsets as write only then add the True parameter fsuControlDatau = New FSUIPC.Offset(Of Integer)("&H3114", True) fsuControlu = New FSUIPC.Offset(Of Integer)("&H3110", True) Thomas
oresther Posted June 18, 2017 Author Report Posted June 18, 2017 this is the error i get when i add "true" any thoughts ? thank you very much
Thomas Richter Posted June 18, 2017 Report Posted June 18, 2017 you write fsuControlDatau = New FSUIPC.Offset(Of Integer)(&H3114, True) No quotation marks for the address, in your case the offset address is seen as a string ... Thomas
oresther Posted June 18, 2017 Author Report Posted June 18, 2017 hello, this one is worked but now a small different problem , it sending the data to the p3d but it dosent stop for exmp: i am sending "65652" which is XPNDR_100_INC , it send the command but the number keep going up , until i am sending a "null" i can see on the fsuipc log file that 3110 and 3114 constantly send signals even if i didnt press anything any idea ?
Thomas Richter Posted June 18, 2017 Report Posted June 18, 2017 FSUIPC would only do that when you call process, if it doesn't need to be send anymore it shouldn't be in the process group anymore. Thomas
Michał Fira Posted July 27, 2017 Report Posted July 27, 2017 On 18.06.2017 at 5:46 PM, Thomas Richter said: Hi, when you check the major difference from 3.xx onwards you will find Paul described that any Offset that Read/Write declared has to be Read first before it can be used for writing. Write only declared Offsets behave different, just writeable. In case you use 0x3110, that is a write only Offset in FSUIPC already, you should declare that Offset as well Write Only. Thomas Hey Thomas, Would you mind linking a topic/site where we can follow the FSUIPCClient updates / changelog (even with BETA/RC) and links to newest versions? Thanks
Paul Henty Posted July 28, 2017 Report Posted July 28, 2017 The only place is this sub-forum. The official/supported release (at the moment 2.4) is always pinned to the top of the sub forum. That's the one people should use. If you've seen a new feature mentioned in the forum that's included in 3.0 and you want to help test it then I'm happy to make it available to you on request. Paul
Michał Fira Posted July 28, 2017 Report Posted July 28, 2017 1 minute ago, Paul Henty said: The only place is this sub-forum. The official/supported release (at the moment 2.4) is always pinned to the top of the sub forum. That's the one people should use. If you've seen a new feature mentioned in the forum that's included in 3.0 and you want to help test it then I'm happy to make it available to you on request. Paul I'd love to try it Paul indeed. Thanks for your quick answer. If there is anything newer than 3.0.6156.10 which I found in this topic I'd greatly appreciate it! :)
Paul Henty Posted July 28, 2017 Report Posted July 28, 2017 (edited) I've attached the latest version - RC6 A newer versions of the DLL is available later in this thread. If you want help with any of the new features let me know and I'll find you some sample code. (Maybe start your own thread in this sub-forum). Here's the change log since 2.4: Version 3.0 RC6 ================ * Added new constructor to the Airport Database. Takes in a Hashset<string> of the ICAO codes of the airports you are interested in. If your app only ever deals with a specific set of airports use this to save memory. * Added Clear() method to the Airport Database to unload it from the memory. * AITraffic now integrated with the Airports Database. If the database is loaded: a. AITrafficInfo now points to database entries for airports and runways b. AITraffic can now tell if it's on a runway or at a gate c. Database airports and runways will have a list of arriving and departing AI traffic d. A runway or gate will know if an AI Plane it on the runway/at the gate Version 3.0 RC5 ================ * BREAKING CHANGE: FsLatitude/FsLongitude base value is now stored in FS Units instead of Degrees. Don't expect the values to always be the exact lon/lat you passed to the contructor. * BREAKING CHANGE: FsLatitude and FsLongitude constructors now force the sign on degrees, minutes and seconds to be the same. If they are different the contructor will change the sign(s) internally to make them match. * BREAKING CHANGE: Changed struct FSRunway (Used for AI Traffic) to FsRunwayID. Apologies, but this struct was badly-named. There is a new class called FsRunway that is used by the airports database. * Added helper methods for reading and writing L:VARS. FSUIPCConecction.ReadLVAR() and FSUIPCConecction.WriteLVAR() * Added airports database that reads info from the output files of Pete's MakeRwys.exe. Gives you an in-memory list of airports that can be queried with LINQ. Contains basic data on all airports plus COM frequencies, runway info, gate info and helipad info. Runway info includes basic properties like length, heading etc plus lighting, ILS and pattern info. This class can be used to easily do things like: - Filter airports by country, state, runway length, ILS facilities etc - Find the nearest airports in range of the player, another airport or any lon/lat location - Find the distance and bearing to any airport/runway from player position, another airport or any lon/lat location - Tell if the player is on a runway or at a gate. * Added COM/NAV/ADF & Transponder helper classes to convert frequencies between string and FSUIPC's BCD format Version 3.0 RC2 ================ * Prepar3dx64 added to flight sim versions for 64 bit versions of P3D (V4 and above) * Global weather now uses the CC00 area, not C400. C400 has problems. * FsLongitude and FsLatitude can now be used as an Offset Type. Version 3.0 Beta ================ * BREAKING CHANGE: You cannot write to an offset than has never been read. (Not applicable to Write-Only offsets). * Connection will now automatically close if a process() fails because the connection to FSUIPC has been lost. * POSSIBLE BREAKING CHANGE: FsLatitude.ToString() now shows the degree symbol instead of an asterisk * Added property FSUIPCConnection.IsConnectedToWideClient * Added weather reading/writing via METAR string (SimConnect format) and the New Weather Interface * Added feature that records performance statisitcs about the data exchange between the DLL and FSUIPC. * Added IsConnectionOpen property + IsConnectionOpenForClass() method. * Added ability to read/write structures * Added ability to add sub menus under the FSX Add-ons menus UserInputServices.AddSubMenuItem() * Payload stations and fuel tanks are now reused between calls to PayloadServices.RefreshData(). This means you can now keep a reference to a fuel tank or payload station object rather than needing to get a new reference with .GetFuelTank() or from the PayloadStations[] list. * Added method for sending controls to Flight Sim (FSUIPCConnection.SendControlToFs()) Enums avilable for - FSX/P3D Controls - FSUIPC General Controls - FSUIPC Axes Controls - FSUIPC Autopilot Controls - PMDG 737 NGX Controls - Progect Magenta Controls * Added method for sending key presses to Flight Sim (FSUIPCConnection.SendKeyToFs()) * Fixed problems with UserInputServices when running over WideFS. * Added method on FsLonLatPoint to calculate a DME intersection. * Added an un-typed Offset class for users wanting to create offsets at runtime that are not known at design time. This allows collections of offsets to be stored and managed (e.g. List<Offset>). These untyped Offsets do not have a Value property. Instead they have a SetValue() method, GetValue<T>() method and GetValue(Type). * Overridden the ToString() method on Offset class to get back info: e.g. "Offset 0x1234 (Int32: 4 Bytes)". * Distance and bearing calculations in FSLatLonPoint now use 'great circle' calculations for greater accuracy. * Added FSUIPCVersion property to FSUIPCConnection * Added Max Gross Weight to PayloadServices * You no longer have to compile your .NET application as 32bit only. This version of the DLL is compiled to target 'Any CPU' (x86 or x64 depending on the host application) and will talk to FSUIPC/XPUIPC running in 32bit or 64bit versions of Flight Sims. * Adding and removing offsets and groups is now threadsafe. * Added property FSUIPCConnetion.GroupsIsolatedToThread. This specifies if offset groups are accessible from other threads. If false, all groups can be processed/removed from any thread. If true a group can only be processed/removed by the thread that created it. If true, a group with the same name can be created on a number of threads. Paul Edited January 4, 2018 by Paul Henty Updated to RC7
Michał Fira Posted July 28, 2017 Report Posted July 28, 2017 Thank you Paul, that was quick indeed :) Im going to grab some coffe and have a great walk with your module!
Frédéric-O DUCHEMIN Posted August 18, 2017 Report Posted August 18, 2017 Thanks Paul, Hope you are ok :) Regards Fred
motuslechat Posted December 11, 2017 Report Posted December 11, 2017 Hi Paul, Can you update changelog with the new features included between RC2 and RC6 version ? Can you open your own post for 3.0 version and put the changelog and the last release of 3.0 RCx version ? Thank you for help and your excellent DLL.
Paul Henty Posted December 11, 2017 Report Posted December 11, 2017 I've updated the post above with the new change log and the latest DLL (RC6). There is no documentation for any of the new features yet, not even on the intellisense. I'm working on a new "example project" which will be the documentation for version 3. It's about 50% done. When this is finished I can release V3. Everything will be on a cloud drive so the latest stable and beta versions will be available in a central place. I should have it done by the end of the year. I know the current situation is a bit of a mess but please bear with it for another month while I sort it all out. Paul
motuslechat Posted December 11, 2017 Report Posted December 11, 2017 Paul, Don't worry. I just give suggestions to have better view of your fantastic job. I have time and you have time. We will be patient and we can use all the functions when they will be documented. Or we will ask you help and we know you are there for us. Thank you again and I hope I havn't hurte you with my post
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now