yindengxie Posted January 16, 2021 Report Posted January 16, 2021 Hi, We have been using FSUIPC4 and FSUIPC5 to add on FSX and P3D, and the FSX and P3D are used only as the Visual Scenery for our simulators. Our same program to communicate with FSUIPC4 to FSX or to communicate with FSUIPC5 to P3D, works very well. It means that our program can send Lat, Lon, Altitude, Pitch, Bank, Heading to locate FSX and P3D at any assigned positions, once FSX and P3D are started. Likewise, we are now using FSUIPC7 with MSFS 2020, and MSFS 2020 is used only as the Visual Scenery for our simulators. Question: After FSUIPC7 with MSFS 2020 is started, our same program to communicate with FSUIPC7 to MSFS 2020. Our program sends Lat, Lon, Altitude, Pitch, Bank, Heading to FSUIPC7 with MSFS 2020 as Runway initial position , however MSFS 2020 Scenery can not well be located at the assigned Runway initial positions (Lat, Lon, Altitude, Pitch, Bank, Heading). THANKS for your Help and Supports!
yindengxie Posted January 16, 2021 Author Report Posted January 16, 2021 After FSUIPC7 with MSFS 2020 is started, what status MSFS 2020 should be set (operated) to wait for FSUIPC7 to input Lat, Lon, Altitude, Pitch, Bank, Heading? In other words, after FSUIPC7 with MSFS 2020 is started, what status MSFS 2020 should be set (operated) ? then to start our program to begin to send Lat, Lon, Altitude, Pitch, Bank, Heading to FSUIPC7-> MSFS 2020? THANKS for your Help and Supports!
John Dowson Posted January 16, 2021 Report Posted January 16, 2021 There are various offsets that you can use/monitor to determine the state of MSFS (connected or not, pause state, in main menu) and the aircraft state. Please check the documentation. If you need an aircraft loaded and ready before your program sends its lat, lon, etc (and to whatever that applies!), then you probably want to monitor the ready-to-fly indicator in offset 0x3364. Also see 0x03365. John
yindengxie Posted January 17, 2021 Author Report Posted January 17, 2021 THANKS Mr. John Dowson! You always answer my questions quickly and give me great help! "to determine the state of MSFS (connected or not, pause state, in main menu) and the aircraft state. " What means your "main menu"? Is the "main menu" on MSFS ? Best Regards!
John Dowson Posted January 17, 2021 Report Posted January 17, 2021 37 minutes ago, yindengxie said: in main menu) and the aircraft state. " What means your "main menu"? Is the "main menu" on MSFS ? The 'Main menu' is the initial (main) menu and the one that you go back to when you end a flight, containing access to the various features with the WELCOME page, the World map, Flight Training, etc. When connected to MSFS, you are either in the 'main menus' or are in a flight (which can be paused of course).
yindengxie Posted January 17, 2021 Author Report Posted January 17, 2021 THANKS Mr. John Dowson! I use the following program to get 0X3364 and 0X3365 values. uint8 Indicator = 8; uint8 Indicator2 = 9; if (!FSUIPC_Read(0x3364, 1, &Indicator, &dwResult)) { printf("Read Error \n"); } else { FSUIPC_Process(&dwResult); printf("Indicator = %d ", Indicator); } if (!FSUIPC_Read(0x3365, 1, &Indicator2, &dwResult)) { printf("Read Error \n"); } else { 22 hours ago, John Dowson said: There are various offsets that you can use/monitor to determine the state of MSFS (connected or not, pause state, in main menu) and the aircraft state. Please check the documentation. If you need an aircraft loaded and ready before your program sends its lat, lon, etc (and to whatever that applies!), then you probably want to monitor the ready-to-fly indicator in offset 0x3364. Also see 0x03365. John FSUIPC_Process(&dwResult); printf("Indicator2 = %d \n", Indicator2); } --------------------------------------------------------------------------- After starting FSUIPC7 with MSFS, I get the MSFS WELCOME page: WORLD MAP, FLIGHT TRAINING, ......, My above-mentioned program reads FSUIPC7 and gets Indicator (0X3364) = 0, Indicator2 (0X3365) = 0. then, my program sends initial Runway positions Lat, Lon, Altitude, Pitch, Bank, Heading to FSUIPC7=> MSFS 2020, however, MSFS 2020 no reaction to the sending position. What is my problem? Please you help me, THANKS!
John Dowson Posted January 18, 2021 Report Posted January 18, 2021 14 hours ago, yindengxie said: What is my problem? Please you help me, THANKS! I suggest that you should initially just log the values in those offsets. Here's what I see when I log those offsets when starting MSFS (and MSFS auto-starts FSUIPC7): Quote ... 750 Monitor IPC:3364 (U8) = 255 750 Monitor IPC:3365 (U8) = 0 750 Monitor IPC:3124 (U8) = 0 750 Monitor IPC:0264 (U16) = 0x0 ... 8500 Monitor IPC:3124 (U8) = 110 8500 Monitor IPC:0264 (U16) = 0x1 ... 53718 Monitor IPC:3365 (U8) = 1 56000 Aircraft loaded: running normally now ... 56000 Monitor IPC:3365 (U8) = 0 ... 56703 Aircraft="Airbus A320 Neo Asobo" 64125 -------------------- Starting everything now ---------------------- 64125 Starting WideServer now ... 64156 Monitor IPC:3364 (U8) = 0 ... 65468 Monitor IPC:0264 (U16) = 0x0 65468 Monitor IPC:3365 (U8) = 1 As you can see, the flags change several times during start-up. This start-up sequence finishes when 0264 (pause indicator) contains 0 and 3365 (in-menu indicator) contains 1, and you will be in the main menu. Then, you set-up a flight and press the Fly button, you see these changes: Quote 1586156 Monitor IPC:3365 (U8) = 3 1586156 Monitor IPC:0264 (U16) = 0x1 1586156 Monitor IPC:3365 (U8) = 2 1587484 Monitor IPC:3365 (U8) = 0 1593937 Planned flight from LEVX to LEBB 1593937 C:\USERS\JLDOW\APPDATA\ROAMING\MICROSOFT FLIGHT SIMULATOR\MISSIONS\CUSTOM\CUSTOMFLIGHT\CUSTOMFLIGHT.PLN 1594047 C:\Users\jldow\AppData\Roaming\Microsoft Flight Simulator\MISSIONS\Custom\CustomFlight\CustomFlight.FLT 1668547 Monitor IPC:0264 (U16) = 0x0 So the sim is set to a pause state (0264 (U16) = 0x1), the in-menu flag is cleared (3365 (U8) = 0) and then the sim is un-paused (0264 (U16) = 0x0). You probably want to start sending your commands after the in-menu flag is cleared, and maybe also after the final un-pause. John
yindengxie Posted January 18, 2021 Author Report Posted January 18, 2021 John: Very many thanks for your detailed answer. I will test our application according to your suggestion. If it is convenient for you, I expect to get your further help for the following questions: 1) How to get your "Quote log"? I also want to know the start-up sequence of MSFS. 2) Just as I said before, MSFS 2020 is only used as the Visual Scenery for our simulators. For P3D, after press "start", our program begins to send Lat, Lon, Altitude, Pitch, Bank, Heading to FSUIPC6 => P3D, to locate the initial runway (Scenery) at any positions in the world. Then we start our simulation program to fly. Likewise, we want to MSFS 2020 works in the same way. After Starting MSFS with FSUIPC7, we wait for the MSFS to enter the main-menu: WELCOME, WORLD MAP, FLIGHT TRAINING,......! Question: In this case (screen), now what sequence settings are needed first to send to FSUIPC7 => MSFS? so that we can locate the initial runway (Scenery) at any positions of MSFS in the world, then we start our simulation program to fly. Should we send 0x0262 value 0 to set for un-pause? THANKS for your Help!
John Dowson Posted January 18, 2021 Report Posted January 18, 2021 10 minutes ago, yindengxie said: 1) How to get your "Quote log"? I also want to know the start-up sequence of MSFS. use the Log->Offsets option to log the offsets that you want to monitor. If you keep the console window open, you can see the messages logged in real-time. 10 minutes ago, yindengxie said: Likewise, we want to MSFS 2020 works in the same way. But you can't - its a different sim and works in a different way. You need to be out of the main menu before you send anything. 10 minutes ago, yindengxie said: After Starting MSFS with FSUIPC7, we wait for the MSFS to enter the main-menu: WELCOME, WORLD MAP, FLIGHT TRAINING,......! But when in the main menu, there is no aircraft, airport, lat, lon, etc. You set this up in the main menu. 10 minutes ago, yindengxie said: Should we send 0x0262 value 0 to set for un-pause? Why? If you check the log extract I sent, you will see the pause is only temporary, and it is unset later when you are finally 'ready-to-fly'. This just seems to be part of the MSFS sequence it goes through when loading a flight. I suggest you monitor those offsets and work out for yourself when your software needs to start acting - I can't do that for you! John
yindengxie Posted January 18, 2021 Author Report Posted January 18, 2021 THANKS, THANKS, THANKS John! I will work on MSFS, according to your suggestion. Best Regards! Dengxie
yindengxie Posted January 18, 2021 Author Report Posted January 18, 2021 John said: "But when in the main menu, there is no aircraft, airport, Lat, Lon, etc. You set this up in the main menu." Just as I said before, MSFS 2020 is only used as the Visual Scenery for our simulators. We do not need the aircraft, airport, runway, Lat, Lon, Altitude, Pitch, Bank, Heading provided by MSFS or set on MSFS! MSFS is only waiting for our program to send the airport, runway, Lat, Lon, Altitude, Pitch, Bank, Heading at the Visual Scenery (WITHOUT AIRCRAFT on the screen to fly). FSX and P3D work in this way. This only is the clarification for our application. THANKS John!
John Dowson Posted January 18, 2021 Report Posted January 18, 2021 I understand...but you still need to wait for MSFS to be in the correct state to understand your requests.... I don't know how you app works, but be aware of the different changes to those offsets that you will see depending upon when FSUIPC7 is started. So you will see different values in those offsets depending upon when FSUIPC7 is started/connected, but the final state of the offsets should be the same and correct. John
yindengxie Posted January 18, 2021 Author Report Posted January 18, 2021 John, Thanks for your reply! Our application in FSX and P3D works in the following way: 1) Press "Start" FSX or P3D (in the same time also start your add on FSUIPC6) 2) FSX or P3D (also your FSUIPC6 ) is waiting for ....... 3) Start our small program (coped from your example program) to run on the Visual computer: The small program receives Lat, Lon, Altitude, Pitch, Bank and Heading from LAN (UDP) and immediately sends these values (Lat, Lon, Altitude, Pitch, Bank, Heading) to your FSUIPC6 => FSX or P3D. Note: Without Aircraft on the Screen (Scenery). 4) FSX or P3D continually receives the Lat, Lon, Altitude, Pitch, Bank, Heading to locate the Visual Scenery (Runways) at assigned positions of our simulator. We want to MSFS to work the same way. ----------------------------------------------------------------------------- Using the above-mentioned complete same program (way), we also can send Lat, Lon, Altitude, Pitch, Bank, Heading to MSFS through your FSUIPC7 to see the Scenery movement. However, this initial process can NOT be started from our assigned initial Runway. Best Regards! Dengxie
yindengxie Posted January 18, 2021 Author Report Posted January 18, 2021 I do not know how to set (operate) on MSFS to what case, so that MSFS is waiting for our input values (Lat, Lon, Altitude, Pitch, Bank, Heading) through FSUIPC7 .
John Dowson Posted January 18, 2021 Report Posted January 18, 2021 42 minutes ago, yindengxie said: I do not know how to set (operate) on MSFS to what case, so that MSFS is waiting for our input values (Lat, Lon, Altitude, Pitch, Bank, Heading) through FSUIPC7 . But that is what you have to decide! What state does the FS have to be in for your software to work? Probably when out of main menu with a plane loaded - if not, whatever you send will be ignored or reset when the user starts whatever flight he has chosen from the main menu. MSFS is different from other FSs. You need to think how the user interacts with your software AND MSFS together. I do not know your software and cannot help you with this. John
yindengxie Posted January 18, 2021 Author Report Posted January 18, 2021 Hi John, You always give me great help, THANKS! Indeed, MSFS is different with FSX and P3D. I have some test with MSFS and tell you as follows: 1) Start MSFS with FSUIPC7. 2) Start our small program (coped from your example program) to run on the Visual computer: The small program receives Lat, Lon, Altitude, Pitch, Bank and Heading from LAN (UDP) and immediately sends these values (Lat, Lon, Altitude, Pitch, Bank, Heading) to your FSUIPC7 => MSFS. In the meantime, the above-mentioned small program continually sends assigned runway initial position (Lat, Lon, Altitude, Pitch, Bank, Heading) to FSUIPC7=>MSFS. Send, Send, Send to MSFS ....... In the meantime, MSFS is also making some its initial settings. 4) When Ready to Fly occurs on MSFS screen, Press Ready to Fly! In this moment, MSFS captures (receives) the assigned runway initial position (Lat, Lon, Altitude, Pitch, Bank, Heading) from FSUIPC7 and locates the runway (scenery) at expected position. Then begin to fly according to our simulation program. Problem: We do not need the aircraft on the screen (Scenery). However, We do not know how to remove (turn off) the aircraft from the screen (Scenery). Have you some ideas to remove (turn off ) the aircraft from the screen (Scenery)? THANKS, John! Dengxie
John Dowson Posted January 18, 2021 Report Posted January 18, 2021 15 minutes ago, yindengxie said: We do not know how to remove (turn off) the aircraft from the screen (Scenery). Have you some ideas to remove (turn off ) the aircraft from the screen (Scenery)? No, I have no idea. I have heard/read of others using MSFS for scenery only but I don't know the details. Maybe try asking on the MSFS / Asobo forums.
Pete Dowson Posted January 18, 2021 Report Posted January 18, 2021 1 hour ago, yindengxie said: Problem: We do not need the aircraft on the screen (Scenery). However, We do not know how to remove (turn off) the aircraft from the screen (Scenery). Have you some ideas to remove (turn off ) the aircraft from the screen (Scenery)? I think you would need to have an aircraft with no panels or graphics at all. I think this means either creating oyur own add-on aircraft for MSFS, or editing files related to an aircraft you choose and editing them accordingly. But this is not at all the province of FSUIPC and neither John nor i are able to advise in any further detail. Perhaps you might get advice on the AVSIM MSFS or on the MS MSFS general forums? I do know it can be done because ProSim have just recently done it for their 738 model (ProSim provide all of the instrumentation on external modules). One way does occur to me and I have seen it mentioned on one of those Forums, and that is to set the pilot's viewpoint forward of the aircraft. But don't ask me how that is done. BTW I am staying with the excellent P3Dv5 until MSFS is mature enough (maybe in 2022? 😉 ). Pete
yindengxie Posted January 19, 2021 Author Report Posted January 19, 2021 THANKS, THANKS, THANKS, Pete and John for your INFO!
yindengxie Posted February 1, 2021 Author Report Posted February 1, 2021 Hello Pete and John, Good Evening! I want to ask you a simple question not related to FSUIPC. If it is convenient for you, please give me a help. When P3D is started, your Add-on FSUIPC6 is also started and running in the same time. We have a program copied from your example program, this program communicates with your FSUIPC6. Question: How can our this communication program be set , so that when P3D is started, also our this communication program in the same time is started and running? THANKS! Dengxie Yin
John Dowson Posted February 2, 2021 Report Posted February 2, 2021 13 hours ago, yindengxie said: How can our this communication program be set , so that when P3D is started, also our this communication program in the same time is started and running? If you want P3D to start your program, you can use P3D's EXE.xml file (see the P3D documentation). Alternatively, if your program needs FSUIPC, then it may be better to start your program from FSUIPC using FSUIPC's [Programs] section. See the Advanced User Guide, section Programs: facilities to load and run additional programs. John
yindengxie Posted February 2, 2021 Author Report Posted February 2, 2021 Very many THANKS, John! Our program starts from FSUIPC. So I will see the Advanced User Guide, section Programs: facilities to load and run additional programs. BEST REGARDS! Dengxie Yin
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