niberon Posted April 18, 2020 Report Posted April 18, 2020 Hi! When I query it PMDG 747 v3 his undermentioned values, 0 come back always. Is it possible to repair this? // 747QOTSII data structure struct PMDG_747QOTSII_Data { ... // More additional variables //------------------------------------------ bool ELEC_annunBatteryOFF; // OFF light in the elec battery switch bool FIRE_annunCargoDEPRESS; // Freighter only bool MCP_panelPowered; bool COMM_RadioPanelPowered[3]; bool COMM_AudioControlPanelPowered[3]; bool TCAS_ATC_panelPowered; bool FIRE_HandleIllumination[5]; // [0..3]: Engines 1-4, [4]: APU bool WheelChocksSet; unsigned char reserved[160]; }; Thanks, Niberon
Pete Dowson Posted April 18, 2020 Report Posted April 18, 2020 7 hours ago, niberon said: When I query it PMDG 747 v3 his undermentioned values, 0 come back always. Is it possible to repair this? Where are you looking -- how are you trying to get them? Does this involve FSUIPC at all? I'm afraid you have to give more details. Pete
niberon Posted April 18, 2020 Author Report Posted April 18, 2020 (edited) Hello Pete! Excuse me for the little information. I developing cockpit modules and to communication LUA I use it. PMDG 747 MCP Example: -- Don't work, return value always 0 local function mcpPowered_calc() local pwr = ipc.readUB(0x6C9F) -- bool MCP_panelPowered (PMDG_747QOTSII_SDK.h) return pwr -- Error: always 0 end -- Working, but not really local function mcpPowered_calc() local tieSwitch = ipc.readUD(0x6453) -- Bus Tie switch 1-4 local genOff = ipc.readUD(0x646D) -- Gen 1-4 off annunciator if (logic.And(genOff, 0xFFFF00) ~= 0x010100) then -- Gen 2 or 3 not off return true end if (logic.And(tieSwitch, 0xFFFF00) ~= 0) then -- Bus Tie switch 2 or 3 on if ((logic.And(genOff, 0xFF) == 0) and (logic.And(tieSwitch, 0xFF) ~= 0)) or ((logic.And(genOff, 0xFF000000) == 0) and (logic.And(tieSwitch, 0xFF000000) ~= 0)) then -- ((Gen 1 not off) and (Bus Tie Switch 1 on)) or ((Gen 4 not off) and (Bus Tie Switch 4 on)) return true end if (ipc.readUW(0x6465) ~= 0) or (ipc.readUW(0x6469) ~= 0) then -- (Ext.Power 1 or 2 on) or (APU Gen 1 or 2 on) return true end end return false end function Sync_mcpPowered(force) local pwr = mcpPowered_calc() if (force or (pwr ~= mcpPowered)) then mcpPowered = pwr if (hdfsMCP_hnd ~= 0) then local str = string.char(0, 1) -- ReportId if (mcpPowered) then str = str .. string.char(1) else str = str .. string.char(0) end com.writefeature(hdfsMCP_hnd, str, 2) end end end function hdfsMCP_disp(force) Sync_mcpPowered(force) Sync_mcpIASBlank(0x659D, ipc.readUB(0x659D), force) Sync_mcpHeading(0x659E, ipc.readUW(0x659E), force) Sync_mcpAltitude(0x65A0, ipc.readUW(0x65A0), force) Sync_mcpVertSpeedBlank(0x65A4, ipc.readUB(0x65A4), force) end FSUIPC Document: Offset Mapping for PMDG 747QOTSII.pdf 6C90 4 FLOAT32 FMC_DistanceToDest 6C94 9 STR [9] FMC_flightNumber 6C9D Last byte of second reserved area for PMDG 747QOTSII PMDG 747 SDK: PMDG_747QOTSII_SDK.h float FMC_DistanceToDest; // nm; negative if n/a ipc offset: 0x6C90 char FMC_flightNumber[9]; // ipc offset: 0x6C94 // More additional variables //------------------------------------------ bool ELEC_annunBatteryOFF; // OFF light in the elec battery switch ipc offset: 0x6C9D bool FIRE_annunCargoDEPRESS; // Freighter only ipc offset: 0x6C9E bool MCP_panelPowered; // ipc offset: 0x6C9F bool COMM_RadioPanelPowered[3]; // ipc offset: 0x6CA0 bool COMM_AudioControlPanelPowered[3]; // ipc offset: 0x6CA4 bool TCAS_ATC_panelPowered; // ipc offset: 0x6CA8 bool FIRE_HandleIllumination[5]; // [0..3]: Engines 1-4, [4]: APU ipc offset: 0x6CAC bool WheelChocksSet; // ipc offset: 0x6CB1 unsigned char reserved[160]; // ipc offset: 0x6CB2 }; I hope for it so already understandable my problem. Thanks, Niberon Edited April 18, 2020 by niberon
Pete Dowson Posted April 18, 2020 Report Posted April 18, 2020 You have local pwr = ipc.readUB(0x6C9F) -- bool MCP_panelPowered but 6C9F is not part of the Offsets provided. Where are you getting that information from. Please use the 747QOTSII offsets list provided! As it shows, the last byte provided is at offset 6C9C. Pete
niberon Posted April 19, 2020 Author Report Posted April 19, 2020 (edited) Hello Pete! Yes. I know that he is not provided. I ask it to be provide. PMDG recorded these few fields later, and it FSUIPC truncate the data structure currently. PMDG is not in dubbing and it FSUIPC data structure. PMDG added on some fields meanwhile. I calculated it anyway the 0x6C9F value. I believed it I try it. He did not succeed.☹️ I attach it current PMDG header file. Thanks, Niberon PMDG_747QOTSII_SDK_h.rar Edited April 19, 2020 by niberon
Pete Dowson Posted April 19, 2020 Report Posted April 19, 2020 4 hours ago, niberon said: Yes. I know that he is not provided. I ask it to be provide. PMDG recorded these few fields later, and it FSUIPC truncate the data structure currently. I did not know about the added data in a later release. PMDG don't tell me these things. So yours in the first mention. You didn't make a request for more data to be added, just a problem report that you were getting zero. Surely you should have referred to the punlished list of offsets before trying to use them, and make your request for extension then in a proper manner. 4 hours ago, niberon said: I attach it current PMDG header file. Thank you. We will see about adding the extra data in a future release, but you should understand that at present there is a more immediate need to resolve any outstanding problems which may be discovered with P3Dv5, it being a rather premature release (in our opinion). When we have a version of FSUIPC with the additional data we shall supply you with a test version and ask you to check that all the fields are correct. To this end could you please send me an Email (it is easier then for me to mark it for attention): petedowson@btconnect.com. Note that you'll need to be using a registered install of FSUIPC6. Pete
niberon Posted April 19, 2020 Author Report Posted April 19, 2020 Hello Pete! Thank you for you answer. 18 minutes ago, Pete Dowson said: You didn't make a request for more data to be added, just a problem report that you were getting zero. Surely you should have referred to the punlished list of offsets before trying to use them, and make your request for extension then in a proper manner. Very much were a task when I realised the problem and the priority of the problem was very low. I induced it through an other function temporarily it'll be fun. But I got a claim for the correction. I have to deal with him in the immediate future because of this. 24 minutes ago, Pete Dowson said: We will see about adding the extra data in a future release, but you should understand that at present there is a more immediate need to resolve any outstanding problems which may be discovered with P3Dv5, it being a rather premature release All right, thanks, I wait for it. Onto so much not it's urgent. I try it with pleasure naturally. My public email: niberon@freemail.hu I have FSUIPC6 registration. Thanks and best regards, Niberon
John Dowson Posted April 20, 2020 Report Posted April 20, 2020 Hi Niberon, could you try the attached dll for me please: FSUIPC6.dll If that works, I'll update the documentation and release later in the week. John
niberon Posted April 21, 2020 Author Report Posted April 21, 2020 Hello John, I tested all of the new variables under FSInterrogate and LUA. He worked well everywhere. They work the offset events. Thanks, Niberon
John Dowson Posted April 21, 2020 Report Posted April 21, 2020 Ok, thanks for testing Niberon. I'll release officially this as v6.0.4 in the coming days. John
John Dowson Posted April 23, 2020 Report Posted April 23, 2020 Hi Niberon, do you use (or did you try) the offset area for the CDU screen data? This has also changed, with an additional 3 items (bytes) added to the structure. I'm looking at this now, but it looks like the new structure doesn't fit in the available offsets, so I may have to move these 3 new additional items to a different area. Just wondered if you have used/tested these. John
John Dowson Posted April 23, 2020 Report Posted April 23, 2020 Sorry, its ok. The size of the new structure still fits. John
niberon Posted April 23, 2020 Author Report Posted April 23, 2020 John, I did not tested it CDU data structure. I do not use it. Yet. CDU screen PMDG draws it who, the button events ipc.control() they get in with his usage. I did not notice the new fields 🙂. Thank you for the fast support, Niberon
ckovoor Posted July 5, 2020 Report Posted July 5, 2020 Dear Pete and John, I operate the PMDG B747-400 QOTS II v3 on FSX-SP2 and Win 7 x64 with registered FSUIPC4. The B744v3 from PMDG does not come with 2-D panels so I constructed my own working 2-D panel sets with my own XML gauge code and FSUIPC4-LUA scripts. I also built a hardware MCP+EFIS+DSP unit using Arduino Megas and FSUIPC4-LUA. Of course Pete's documentation for the FSUIPC offsets and the PMDG 747 SDK for Control Event ID's are the backbone of this implementation. You can see the system in operation here: https://www.youtube.com/watch?v=saFJ_xGBDTs Anyway, all was going well with FSUIPC 4.974b until a few days ago when I saw a newer version FSUIPC 4.975a and decided to install it. And immediately thereafter, the B747v3 stopped working properly. Specifically, the inputs and outputs to and from my Hardware and XML gauges were not being read or linked properly to the PMDG software. Replacing the FSUIPC4 DLL with the earlier version 4.974b immediately solved the problem and everything started working again. I switched the modules back and forth a few times, so I can confirm that something has broken, at least as far as the B747v3 in FSX is concerned, in the move from FSUIPC 4.974b to 4.975a. I have posted this report in this thread, because I suspect it may have something to do with the modifications that have been discussed here, which may or may not have been necessary for the FSX version of the B747v3, for which development ceased several months ago. For the time being I am reverting to FSUIPC 4.974b in order to be able to fly this wonderful airplane again. Would you please investigate? Thanks and Regards, Chakko.
Pete Dowson Posted July 5, 2020 Report Posted July 5, 2020 8 hours ago, ckovoor said: For the time being I am reverting to FSUIPC 4.974b in order to be able to fly this wonderful airplane again. Since FSUIPC4 ceased development a while back, and that recent change was only to do with the recognition of different ways that SimConnect gets installed with some Windows 10 installations, I think you are okay sticking to 4.974a since that works for you. 8 hours ago, ckovoor said: Would you please investigate? I'm afraid I don't have any PMDG aircraft and only have access to FSX-SE these days, so I doubt I'll be able to do that. Was 4.975a working well for you otherwise? If not you'd need to supply Install and run-time Logs for us to check. You also say 8 hours ago, ckovoor said: I suspect it may have something to do with the modifications that have been discussed here, which may or may not have been necessary for the FSX version of the B747v3 but of course this thread was concerned with FSUIPC6, not FSUIPC4. Pete
ckovoor Posted July 6, 2020 Report Posted July 6, 2020 Dear Pete, Apart from this problem with the PMDG B747-400 v3, FSUIPC 4.975a appeared to be functioning normally, but then that is only after a few days of testing, and not with all the aircraft that I fly. I need to do more extensive testing with all the other airplanes I fly before I can be certain. So, I shall stick with FSUIPC 4.974b for the time being, but will sometime soon re-test 4.975a and supply you with Install and Run-Time Logs for you to check. But I will open a separate thread for that. Thanks and Regards, Chakko.
Pete Dowson Posted August 29, 2020 Report Posted August 29, 2020 I've checked the code in FSUIPC and as far as the PMDG aircraft are concerned I can't see any changes up to version 4.975a which could stop this data being seen. I don't have those aircraft to test with, but I'll try to check further. Please get me some logging. Add these lines to the [General] section of the FSUIPC4.INI file: Debug=Please TestOptions=x400 run the sim and select you PMDG 737, 747 or 777 (one after the other if you have all three. Then close and ZIP up the FSUIPC4.INI, FSUIPC4.LOG, and the Options INI files from the PMDG aircraft used. I can't guarantee to solve this, but i'll take a look. You can try this version of FSUIPC. FSUIPC4974b.zip If that works please let me know. Pete
ckovoor Posted August 29, 2020 Report Posted August 29, 2020 Dear Pete, First, thank you very much for looking into this. I shall be loading FSUIPC 4.975a and test-logging with the PMDG 737, 747 and 777, as I have all three, and will provide you with the zipped files, soon. I am not sure why you have provided the FSUIPC 4.974b (dll), as I already have that, and I have mentioned in this thread that the problem does not occur with that version. The problem is only with FSUIPC 4.975a, and simply replacing that DLL with FSUIPC 4.974b clears the issue. Also, as mentioned in the other thread concerning the B777 at : https://forum.simflight.com/topic/90304-pmdg-777-fsuipc-offsets-not-updating/?do=findComment&comment=546961 , the same problem occurs with the B777, but not the B737. That is, the B737 functions normally with FSUIPC 4.975a, but the B777 does not. Anyhow, I'll work on getting you the logs now. Thanks, Chakko.
ckovoor Posted August 29, 2020 Report Posted August 29, 2020 Dear Pete, I started FSX and loaded the PMDG 737v1.2, waited for it to complete initializing systems, then after about a minute loaded the PMDG 747-400v3.0. A PMDG popup immediately warned that it is not a good idea to load a second PMDG aircraft in succession, but I went on nevertheless, and the 747v3 completed loading. Again, after a minute or so, I tried loading the PMDG 777v1.1, and again ignored the PMDG warning ..... but the 777 did not load completely, i.e. all panels were not displayed, and the menu options stopped working. So I had to shut down FSX. I tried a second time with similar results. It seems that the maximum number I can load in succession is 2 PMDG aircraft. So would it be okay if I sent you a separate log for each aircraft, with the sim restarted each time? Or would you want me to load them in pairs, like 737-747, 747-777 and 737-777? I await your instructions. Chakko.
ckovoor Posted August 29, 2020 Report Posted August 29, 2020 Dear Pete, I attach separate zip folders for each of PMDG B737v1.2, B747v3.0 and B777v1.1, with the simulator restarted each time, and running FSUIPC 4.975a. Please note that I did not connect the Arduino-based MCP/EFIS/DSP hardware each time, so the log files may contain the LUA error: bad COM handle, which can be ignored. Please let me know if I can provide any further information. Chakko. B737v1.2.zip B747v3.0.zip B777v1.1.zip
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