Luke Kolin Posted October 15, 2017 Author Report Posted October 15, 2017 I've found.... something. When comparing your docs to the PMDG SDK documentation I've found the following discrepancies: 64F8 - FSUIPC: APU_AnnunLowPressure[2], PMDG: Wipers_Select[2] 64FA - FSUIPC: APU_AnnunFault[2], PMDG: Washer_Sw[2] 64FC - FSUIPC: APU_AnnnOverspeed[2], PMDG: Rain_Rep_Sw[2] The data sizes match, but I don't see anything in the PMDG docs for those specific indicators. Might just be a typo. The real issue (I think) is in offset 65ED: It's the brake pressure needle - PMDG has it as an INT, whereas you have it as a 2-byte WORD. Are you shrinking the size internally, or is this an error? That might explain why everything farther down is off. Cheers!
Pete Dowson Posted October 15, 2017 Report Posted October 15, 2017 1 hour ago, Luke Kolin said: I've found.... something. When comparing your docs to the PMDG SDK documentation I've found the following discrepancies: 64F8 - FSUIPC: APU_AnnunLowPressure[2], PMDG: Wipers_Select[2] 64FA - FSUIPC: APU_AnnunFault[2], PMDG: Washer_Sw[2] 64FC - FSUIPC: APU_AnnnOverspeed[2], PMDG: Rain_Rep_Sw[2] What document are you looking at? Here, my copy reads like this: Rain Protection64F8 2 BYTE x 2 APU_annunLOW_OIL_PRESSURE64FA 2 BYTE x 2 APU_annunFAULT64FC 2 BYTE x 2 APU_annunOVERSPEED 1 hour ago, Luke Kolin said: The real issue (I think) is in offset 65ED: It's the brake pressure needle - PMDG has it as an INT, whereas you have it as a 2-byte WORD. Are you shrinking the size internally, or is this an error? That might explain why everything farther down is off Ah, thanks! I have never been able to check the offsets myself, being dependent upon folks who have the 747 and can actually make it load. All feedback before this has said they were okay. Rather surprising no one has mentioned this one all this time! Any others, after that, at all? Pete
Pete Dowson Posted October 15, 2017 Report Posted October 15, 2017 P.S. Is it possible for you to check that the last few entries in that section of offsets (i.e. 6C8C - 6C94) would be correct if they were 2 bytes up. i.e. 6C8E, 6C92, 6C96? Please? Thanks, Pete
Luke Kolin Posted October 15, 2017 Author Report Posted October 15, 2017 1 hour ago, Pete Dowson said: What document are you looking at? Here, my copy reads like this: Rain Protection64F8 2 BYTE x 2 APU_annunLOW_OIL_PRESSURE64FA 2 BYTE x 2 APU_annunFAULT64FC 2 BYTE x 2 APU_annunOVERSPEED That's my point. The header file included with the SDK has this: // Rain Protection unsigned char WIPERS_Selector[2]; // left/right 0: OFF 1: INT 2: LOW 3:HIGH; INT applies only to 747-8 bool WASHER_Sw[2]; // left/right MOMENTARY action bool RAIN_REP_Sw[2]; // left/right MOMENTARY action, passenger only I *think* the rest of the file is OK. I can't actually check it, I am in the same boat as yourself not owning the 744v3. If you can create a beta copy I should be able to get some rapid feedback. Cheers! Luke
Luke Kolin Posted October 15, 2017 Author Report Posted October 15, 2017 3 hours ago, Pete Dowson said: P.S. Is it possible for you to check that the last few entries in that section of offsets (i.e. 6C8C - 6C94) would be correct if they were 2 bytes up. i.e. 6C8E, 6C92, 6C96? Please? I'll give this a try. Because I'm slow this afternoon, everything after 65ED should be +2? Cheers! Luke
Pete Dowson Posted October 15, 2017 Report Posted October 15, 2017 44 minutes ago, Luke Kolin said: I'll give this a try. Because I'm slow this afternoon, everything after 65ED should be +2? Well, if you are right about the value you mentioned, I would guess so. But possibly there are some alighment issues. If so it may be that the brake pressure needle is not at 65ED but 65EF, and everything later is 4 bytes further. I don't recall offhand whether there are any such issues, but I don't think so, else I don't think I'd have arrived at 65ED in the first place, it being an odd value for a WORD. So, I would expect just the 2 byte, yes. But just checking the flight number or whatever, right at the end, should show immediately. I think that's the way I checked back with the original NGX long ago. Pete
Luke Kolin Posted October 17, 2017 Author Report Posted October 17, 2017 On 10/15/2017 at 7:16 PM, Pete Dowson said: Well, if you are right about the value you mentioned, I would guess so. But possibly there are some alighment issues. If so it may be that the brake pressure needle is not at 65ED but 65EF, and everything later is 4 bytes further. I don't recall offhand whether there are any such issues, but I don't think so, else I don't think I'd have arrived at 65ED in the first place, it being an odd value for a WORD. I believe the SimConnect structs are all "packed", ie. not aligned on a WORD/DWORD boundary, but it's been a few years since I last poked at it. I have some calls out for feedback, we'll see what they say. Cheers! Luke
Pete Dowson Posted October 17, 2017 Report Posted October 17, 2017 10 minutes ago, Luke Kolin said: I have some calls out for feedback, we'll see what they say. Ah, you don't have the aircraft yourself? Sorry. Pete
Luke Kolin Posted November 11, 2017 Author Report Posted November 11, 2017 Welcome back (when you read this).... just got feedback that correcting for the mis-sized offset fixes things. You can make the change. Cheers!
Pete Dowson Posted November 15, 2017 Report Posted November 15, 2017 On 11/11/2017 at 7:55 PM, Luke Kolin said: Welcome back (when you read this).... just got feedback that correcting for the mis-sized offset fixes things. You can make the change. Okay. Will do, ready for next release. Thank you! Pete
Pete Dowson Posted November 17, 2017 Report Posted November 17, 2017 I was just about to make this change, for inclusion in the now-released version 5.122 package, when I noticed that the value after the "BRAKES_BrakePressNeedle" is a 1 BYTE at 65EE. So the offsets were 1 out already in any case if BrakePressNeedle is a 2-byte WORD. Making it a 4-byte INT will move everything 3 bytes, not 2! So, I think something else is wrong. There are no other values, described as integers or otherwise, which are 4 BYTE INTs, so I reckon either BrakePressNeedle is only 1 byte and there's another 2 byte discrepancy somewhere. After all, the values it can take are only 0-100. OR ... ... it gets more complicated! I've just found another arithmetic error! 65FB is only a one byte value, yet the next value is 4 bytes further on, at 65FF. So, if 65ED is a 4 byter, as you think, but I've only allowed 1 byte, the offsets thereafter are 3 further on, not 2, except from 65FF, where they are correct again! I've assumed the latter is the case for now, and attach and amended PDF for you or your contacts to check again, please. (Sorry about the mess). Pete Offset Mapping for PMDG 747QOTSII.pdf
Luke Kolin Posted December 19, 2017 Author Report Posted December 19, 2017 I think it looks good from this end. Cheers! Luke
Pete Dowson Posted December 19, 2017 Report Posted December 19, 2017 6 hours ago, Luke Kolin said: think it looks good from this end. Good! Thanks, Pete
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