Jump to content
The simFlight Network Forums

PMDG 744v2 SDK integration


Recommended Posts

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!

 

Link to comment
Share on other sites

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 Protection
64F8   2   BYTE x 2   APU_annunLOW_OIL_PRESSURE
64FA   2   BYTE x 2   APU_annunFAULT
64FC   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

 

Link to comment
Share on other sites

1 hour ago, Pete Dowson said:

What document are you looking at? Here, my copy reads like this:

Rain Protection
64F8   2   BYTE x 2   APU_annunLOW_OIL_PRESSURE
64FA   2   BYTE x 2   APU_annunFAULT
64FC   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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 4 weeks later...

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

Link to comment
Share on other sites

  • 1 month later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • 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.