Jump to content
The simFlight Network Forums

Mouseviator

Members
  • Content Count

    10
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Mouseviator

  • Rank
    Member

Profile Information

  • Gender
    Male
  • Location
    Czech Republic

Recent Profile Visitors

832 profile views
  1. Hello there. I am writing this post as I would like to share with you guys (girls also), an FSUIPC Java SDK that I wrote, recently. Wait, what? There is one already! A 32 bit one written by Mark Burton and 64 bit one amended by Paul Henty, which was released quite recently. Why another one? You are right. Short answer is, that I was studying the existing SDK and I found out, that the FSUIPC_Process function is being called for every data read/write from within the C++ wrapper libraries that serves as the bridge between FSUIPC and Java. That means, for every single value you want to read/write from/to some offset. That might be an issue if you would like to use it in an app that does multiple read/writes per second. I coded my SDK differently in a way that it reflect the approach the would be used when using C++. Register multiple read/write requests and then process them all in one call of the process function. Both, the 32 bit and 64 bit wrapper libraries have been modified. But also, due to the different approach, any existing code using the "old" SDK will not be compatible and will require rewriting. I am not saying the existing SDK is bad. It was a great starting point for me, thanks their authors for writing it. I am just offering alternative SDK here. It may also contain bugs or bad design... well, the more people who look at it...you know, more eyes, see more 🙂 Anyway, if you are interested, you can read more about it (and also download it) at my website here. Will be glad to hear your opinions, suggestions, bug reports... 😉
  2. Hi again, thanks for explanation. I thought it might somehow "clog the connection". However, if I am not mistaken and remember what I have read in the Jeehell documentation, the Jeehell software does not need WideClient, it should talk to simulator using SimConnect. Wideclient I wanted to use because I could start/stop the programs using it. There probably would be some persmission issues, since the Jeehell suite required admin rights to run correctly (which should be ok even when started using Wideclient which has been run with admin rights too). Will try to post this also on mycockpit forums, maybe the author of Jeehell will have some idea.
  3. Hi, thanks for your reply and sorry I did not respond for a long ime. Have been quiet busy. I thought there would probably will not be any limit. Well, the programs do start, but they do not connect. I also tried start them all via wideclient, but the behavior is the same. I do not understand why, but that is not the first strange thing I came across around simulators :) I do not have any other time to spare investigating this issue. I just start it using scheduled task when computer starts and if something goes wrong, restart it manually. Just thought will be able to control it using your wonderful wideclient and keysend commands, but apparently not (and not because of wideclient)...
  4. Hi, not an issue that could not be "worked around", just wondered if anyone has similar experience. I am playing with Jeehell A320 FMGS, which is free software that simulates A320 cockpit. It has server part which does server for apps that runs on client. The software at all does not require FSUIPC, it uses SimConnect. But on client PCs, I use some other programs that utilize FSUIPC via WideClient. I thought I would start client programs using WideClient (so WideClient can close them when simulator is closed). The Jeehell FMGS suite uses Starter.exe application which starts the modules you define it to start. I start this app via WideClient. Now the strange thing is, if I start it using WideClient, only about half of the started programs will initiate connection with Jeehell FMGS Server application. If I start the Starter.exe application manually or by scheduled task (after login to system), it works without issues. Like if there is some SimConnect connection limit or something like that. Anyone have any idea why it might behave like this? Thanks for any reply. Oh, hope you all enjoyed Christmas and wish you all great simming year 2017.
  5. I am not any kind of FSUIPC guru (or flightsim at general) and I am not very sure I understand your problem correctly (we (mean people around here) would probably need to see some more details from your configuration (like FSUIPC.ini, the aircraft profiles...), but: Does this mean it behaves incorrectly, or your button assignments does not work? Assuming it is the second case, I had similar issue first time I switched from "everything in FSUIPC.ini" to "separate aircraft profiles in Profiles folder". Found out the generated profiles were missing the [Axes] section and I needed to copy it to these profiles to make it work. Might be wrong, it is about 2 years ago since I had this issue. Not sure if it is necessary to have [Axes] section in every profile (given the fact that mines are all the same - no different axis assignments for different aircrafts) - this would be question for Pete. I only vaguely remember that when I did not have [Axes] section in aircraft profile, the [Buttons] (button assignment) did not work for the respective profile (which makes sense, because if FSUIPC did not take [Axes] from FSUIPC.ini, it would not know what controller the buttons belongs to)
  6. Hello guys, this time not reporting an issue, just a short looooooong info about how did I setup GPS output on two (or more) programs (devices) using FSUIPC, WideFS and virtual serial ports. Just in case someone would find this helpful. What I had: A simulator server PC A client PC (an old notebook) with map application. I did setup a server pc to send out GPS data via network to client PC using FSUIPC and WideClient. Recently I got a new android phone... Now, what I wanted to have: Since I do not have blue-tooth on my server, I cannot use second GSPOut to send gps data to android phone. But I have blue-tooth on my old notebook, which is already receiving GPS data. So what I wanted to do, is to read GPS data on client PC (notebook) by two programs - a map application that is already working and a map application on android phone connected via blue-tooth to client PC. How did I do it: It is also important to say that: Both, the server and client runs on 64bit version of Windows 10. I want the solution based on freeware apps if possible. 1) Server config: Just as you could have seen many times, I need only to setup GPSOut in FSUIPC.ini: [GPSout] Port=WideFS Speed=19200 Interval=500 PosTo6Decimal=No Sentences=RMC,GGA, PGRMZ GPSoutEnabled=Yes SimModeIndicator=No 2) Client config: To receive GPS data with WideClient, we need something like this in WideClient.ini: [GPSout] Port=com4 Speed=19200 Now the tricky part comes in :) I need a virtual COM ports (since I do not have real ones). The problems are: a) It is not that easy to find freeware virtual COM ports for 64bit system. - But I found this: com0com b) Only one application can "access" a COM port at a time, thus a pair of COM ports is needed – so that one application can write to a COM port (WideClient writing GPS data) and the other can read a COM port (a map application). And also, it is required that the GPS data entering one COM port comes out exactly the same on the other COM port (side). - That is exactly what above com0com program does. It creates virtual COM port pairs like if we had two COM ports interconnected directly via a cable. c) I said I wanted to read the data with two applications, but com0com can only do pairs of COM ports - Ok, something like COM hub would come handy to share the data that are being written to one COM port by WideClient to be accessible on more than one COM ports. - Luckily, "HUB for communications", a part of com0com project does exactly this. So, first I downloaded com0com and installed it: https://sourceforge.net/projects/com0com Actual version right now is 3.0.0 After installing, I created these virtual COM pairs: COM4-COM5 COM10-COM11 as on following picture: Oh, make sure you run this Setup app As Administrator. All you need to do is click “Add Pair” button. A pair of COM ports should appear in the list. Make sure you have “use Ports class” and “emulate baud rate” selected for both COM ports and click Apply. The Setup might throw an exception at you after clicking Add Pair or Apply button, not sure when it did for me. But you can ignore this, close the program, open it again and your changes should be there. Confirm in Device manager that the COM ports are installed: If they show that yellow warning triangle, just right click on them and choose “Update Driver Software…”, than “Browse my computer for driver software” and navigate to the folder where com0com is installed (In my case, it is C:\com0com). In this folder there is only one INF file (a file with .inf extension) so select it and the driver should get updated and the warning triangle should go away. If you are going to use Android or other device connected by blue-tooth, you need to add one COM port for this too. It is described here: http://forum.simflight.com/topic/75481-sending-gps-data-to-android-apps-bluetooth/ but to make this tutor complete, here is how I did it on Windows 10: Go to: Settings → Devices → Bluetooth Turn on bluetooth Click “More Bluetooth options” Click the “COM Ports” tab Click “Add...” button Check “Incoming (device initiates the connection)” Click Ok A COM port should be added in the list, like COM9 in my case: No we have our COM ports, 5 of them to be precise. The last thing to get show going is to start the COM hub. Download hub4com from here: https://sourceforge.net/projects/com0com/files/hub4com/ and extract is somewhere, like C:\hub4com the you need to start the COM hub using a command like this: hub4com \\.\COM5 \\.\COM9 \\.\COM10 which a placed in batch file and running it along WideClient. It would be good if you take a look at the readme file for hub4com, to get a little familiar with the software. Ok, if everything done Ok, you should be able to read GPS data by two applications now (on port COM5 and COM10 in my case) Ok, what the hell? Why all those COM ports? Remember I wrote: only one application can access a COM port? If for example WideClient opens a COM port to write GPS data to it, no other application can use the COM port. To explain my setup: COM4 – WideClient writes GPS data here. COM4-COM5 is COM pair, thus like one COM port. Hub4com creates hub from COM5, COM9 and COM10, so the data that are on one of these ports are on all three ports. Hope I understand it right that, WideClient writes to COM5 (via COM4). COM9 is for blue-tooth, so once my Android device connects, it will find GPS data there. COM10 – is COM pair (COM10-COM11), so what is on COM10 is mirrored to COM11. COM11 – on this port my Windows map application can read GPS data. You cannot point your applications directly to COM5 or COM10, as these are open by hub4com. The COM9 used by blue-tooth is some sort of exception, which I cannot explain, but it works for me. On Android device, as described here: http://forum.simflight.com/topic/75481-sending-gps-data-to-android-apps-bluetooth/ you need to use something like “BluetoothGPS” https://play.google.com/store/apps/details?id=googoo.android.btgps - Pair your Android toy with PC - Allow “Mock positions” - Open BluetoothGPS app and connect to PC (there is a list of paired devices on the top of the screen) - If successfully connected, you should see GPS data on the screen...(FSX or Prepar3D must be running) - Leave BluetoothGPS and open whatever navigation or other GPS related app you want to use (most of them should be tricked it is real GPS connected via blue-tooth and should use the data). Hope you fellow flight simmers will find this helpful. Not saying this is the best solution, but is free and the best I found so far.
  7. Hi, in case you did not find it yet, I believe it is this one: https://play.google.com/store/apps/details?id=googoo.android.btgps
  8. Hi, thanks for answer. Unfortunatelly, still not able to make it work. Tried to set AutoShutdown=Yes in FSUIPC.cfg (actually, I already had that). Then I tried to vary AllowShutdown parameter on client PC via all values - ie: Yes, App, AppOnly and the apps on client PC were never closed after I closed P3D and WideClient lost connection. As I wrote before, if I initiate the action using "Close FS" button defined in WideClient on client PC, P3D is closed also as are the apps on clients, and WideClient.log contains a line saying that: Shutdown request received! (param=DCBA) This line is never there when I close P3D normally using Esc -> Exit Preapr3D. So I think the request is not being send as it should be. Well, I am sure there are more important issues that need to be solved and this one is actually not a big pain in the... fuselage, just hate these moments when I cannot figure things out :) Not saying that will not be happy for another suggestions, if anyone have any.
  9. I dare to disagree here :) One is AllowShutdown and the other is AutoShutdown. According to my understanding of the documentation (WideFS Technical.pdf), I set AllowShutdown=Yes - to allow flight sim server to be shutdown by clients (or just sim closed). and AutoShutdown=Apps - for WideServer (FSUIPC) to tell clients to close the "CloseReady" apps when Prepar3D is closed. It does, but for my setup, only on the first session. When I close Prepar3D, the apps are not closed and thus not started again on new session. Well I used notepad just for testing purposes as it is "simple" program. And it is in the system path so does not need to specify path. But thanks for pointing out mistyped Apps Only parameter, I could be looking at it thousand more times without noticing it. One char mistyped - programmers worst enemy. You usually need somebody else to find out these :) True. But Sim Physics, for example is the exception which requires it. Let's leave the fact that it is not much quality software aside, since I've already paid for it.... Can you suggest what the configs should look like then? I wanted to: On client 2, I have defined the "Close FS" and "Shutdown FS" buttons. Via these, I wanted to be able to close Prepar3D and apps on client PCs / or shutdown server pc and client 1 pc. Well, this works ok. Also, when I exit simulator using normal menu option - "Exit Prepar3D", this should send request to close the apps on client PCs - this does not work. Because I probably missing something here... Thanks
  10. Hello, I have a an issue with starting/closing apps using WideFS. Maybe I understand something wrong...but, I am out of ideas :( Here is to my configuration: Server PC: Running Windows 10 Home EN ********* FSUIPC4, Version 4.949k by Pete Dowson ********* Prepar3D.exe version = 3.2.3.16769 WideFS settings in FSUIPC.ini: [WideServer] Log=Errors+ WideFSenabled=Yes AdvertiseService=1 Port=8002 Port2=9002 !1=;Allow FS to be closed by clients. This allows to turn off the whole computer AllowShutdown=Yes !2=;This will send shutdown notification to clients when FS closes, telling them to close all apps they opened AutoShutdown=Apps RestartHotKey=78,11 ..... [buttons] .... 651=P64,22,Cx02003320,xDCBA 652=P64,23,Cx02003320,xABCD Client 1: Running Windows 10 Home EN This is from WideClient.ini [user] Log=Errors+ AllowShutdown=Yes RunReady1=c:\ASNext_P3D\ASNext.exe DelayReady1=5 CloseReady1=Yes RunReady2=C:\Sim Physics X_P3D\Sim Physics P3D.exe DelayReady2=5 CloseReady2=Yes RunReady3=C:\Program Files\Air Manager\airmanager.exe CloseReady3=Yes Client 2: Running Windows 10 Home EN WideClient.ini for Client2: ; ----------------------------------------------- [user] Log=Yes AllowShutdown=AppsOnly ButtonScreen=Yes RunReady1=notepad.exe CloseReady1=Yes [GPSout] Port=com4 Speed=19200 [buttonScreen] Size=9,5 Title1="===System Menu===" 0=G0r"Misc" 1=T"Pause" 2=T"Slew" 3=B"Clear\rWeather" 4=B"Toggle\rTraffic" 5=B"Refresh\rScenery" 6=B"Reload\rAircraft" 7=B"Escape" 8=B"Restart\rFlight" 9=G9r"Logging" 10=T"Weather" 11=T"IPC Writes" 12=T"IPC Reads" 13=T"Extras" 14=T"Button and Keys\r(Extended)" 15=T"VRI Comms" 16=T"com HID" 17=T"L:Vars" 18=T"Axes" 19=T"Events" 20=T"Button and Keys\r(Standart)" 21=T"Lua (separate)" 22=T"Log to console" 23=B"New log file" 24=U 25=U 26=U 27=G28r"Programs\rcontrol" 28=Ba"Close FS" 29=Ba"Shutdown FS" 30=U 31=U 32=U 33=U 34=U 35=U 36=U 37=U 38=U 39=U 40=U 41=U 42=U 43=U 44=U All software is executed with Admin rights (Prepar3D, WideClient etc.) Ok, according to documentation and my understanding of it, when I start Prepar3D (and when WideFS is ready), all the defined applications should be started on the client PCs. This works for the first time. When I exit Prepar3D (using menu - Exit Prepar3D), the applications on the client PCs should be turned off and WideClients should wait for another simulator session. Ok, but the programs does not close. If I close them manually, WideClient is not aware of it and when I start Prepar3D again, no program is started. When I close simulator using "Close FS" on Client 2 (from defined ButtonScreen), everything works as expected. Prepar3D is closed, as well as all apps started by WideClients and everything starts again with new simulator session. Is this how it is supposed to work or not? Thought the shutdown message should have been sent when closing Prepar3D, but is seems it is not. Maybe this has something to do with the fact that the menus are done with the Scaleform now, If I am not mistaken. Think this configuration worked with Prepar3D v 2, but maybe my memory fails me. Anyway, if anybody can point out something, would be great. Thanks for any reply. Happy flying
×
×
  • 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.