Jump to content

Archived

This topic is now archived and is closed to further replies.

HUSSAR

How do you guys do it?

Recommended Posts

I, like many of my fellow simmers have enjoyed your products among many others and I have taken for granted the amount of work that goes into producing stunning visuals in the flight sim world.To put things into context, for example, could you describe the amount of coding that goes into making a flap extend, and what kind of programming language is it that developers use?Thanks and keep up the great work,

Share this post


Link to post

Robert, I am gong to go out on a limb here and say that there is no way that PMDG will entertain such a thread....as internal business is NEVER discussed. -sorry Peter Osborn

Share this post


Link to post
and what kind of programming language is it that developers use?
C++

Share this post


Link to post

C++ (Visual Studio 2008 specifically) for most of the custom programmed stuff.Something like making a flap extend isn't all that difficult, it's the systems where we have to do a bunch of mathematical modeling that end up being crazy.If I recall correctly, the FMS in the MD-11 has something like 100,000 lines of code in it. The Autopilot/Flight Director System and the Engine modeling are also very complicated.

Share this post


Link to post

Ryan, interesting facts...but to dummies like me, a line of code doesnt mean much, perhaps you could give an example of what exactly a line of code would look like.-thanksPeter

Share this post


Link to post

Thats crazy. I dont know C++ but I do know a couple programming languages and I cant imagine working on something that huge. Thats why they make the big bucks :)Noah B.

Share this post


Link to post

Exactly, and one line of code isnt independant. Line 33,409 may have relation to 4,000 other lines of code. So you need to project relation before you ever get to that point. It can be very complex. Which is why developers usually only work on one project at a time. And those that can work on many at a time are few and indispensable assest to the company.

Share this post


Link to post
Guest Callmecapt

It's not really that hard. A little reading can get you started on an add on. The hard part is having the patience and thick skin to work on something or a section for days, sometimes weeks, then finding out you went wrong somewhere and it's better to just delete all that work and start again rather than trying to fix it.Believe me, I know!And it's finally nearly finished!Goran

Share this post


Link to post

Putting code here wouldn't tell you much - basically what you need to know is that the code is a way of specifiying the logical "constructs" if you will that make the systems of the plane work. A very very simple example would be (and this isn't actual code, it's just a description of what happens), "IF flap handle position= greater than 0, THEN display flap position on the EICAS." Programming is done in this way - everything is equations, logic statements etc. It gets extremely complicated when you're doing things like the ND magenta line drawing, VNAV etc...Btw, Henning just told me that the J41 has over 50,000 lines of custom XML code that drives the VC. XML is the other method besides the C++ stuff that I was forgetting about.

Share this post


Link to post
Putting code here wouldn't tell you much - basically what you need to know is that the code is a way of specifiying the logical "constructs" if you will that make the systems of the plane work. A very very simple example would be (and this isn't actual code, it's just a description of what happens), "IF flap handle position= greater than 0, THEN display flap position on the EICAS." Programming is done in this way - everything is equations, logic statements etc. It gets extremely complicated when you're doing things like the ND magenta line drawing, VNAV etc...Btw, Henning just told me that the J41 has over 50,000 lines of custom XML code that drives the VC. XML is the other method besides the C++ stuff that I was forgetting about.
Ryan,With this simple example, may I ask if following will be a possible code for the MD11."IF AP/FD mode = GO-AROUND, THENIF Flaps <31.5, skip GPWS 'TOO LOW FLAPS', ELSE IFIF Gear selected UP, skip GPWS 'TOO LOW GEAR', ELSE IFIF FLaps <31.5 AND Gear selected up, skip GPWS 'TOO LOW TERRAIN'END IF"This one is nested and not correct of course, I'm not a programmer, but any other possible code C++ or XML will do.Would be happy not to hear these warnings where not appropriate. :( Regards,Harry

Share this post


Link to post

As long as you have positive rate of climb, then pull the flaps up before the gear, you shouldn't hear anything at all.Remember:* TOGA* POSITIVE RATE* FLAPS - select 15

Share this post


Link to post
As long as you have positive rate of climb, then pull the flaps up before the gear, you shouldn't hear anything at all.Remember:* TOGA* POSITIVE RATE* FLAPS - select 15

Share this post


Link to post

Harry,Being a real MD-11 driver you probably know exactly what you want however not being a programmer you may not realizethat ELSE-IFs above are dangerous and may prevent you from getting what you want. My hunch is that this should be rewritten like this:IF AP/FD mode = GO-AROUND, THENIF Flaps <31.5, skip GPWS 'TOO LOW FLAPS', ENDIFIF Gear selected UP, skip GPWS 'TOO LOW GEAR', ENDIFIF FLaps <31.5 AND Gear selected up, skip GPWS 'TOO LOW TERRAIN' ENDIFENDIFOtherwise (in your version) if Flaps were less than 31.5 you would never reach the last IF test.Best Regards,

Share this post


Link to post
Harry,Being a real MD-11 driver you probably know exactly what you want however not being a programmer you may not realizethat ELSE-IFs above are dangerous and may prevent you from getting what you want. My hunch is that this should be rewritten like this:IF AP/FD mode = GO-AROUND, THENIF Flaps <31.5, skip GPWS 'TOO LOW FLAPS', ENDIFIF Gear selected UP, skip GPWS 'TOO LOW GEAR', ENDIFIF FLaps <31.5 AND Gear selected up, skip GPWS 'TOO LOW TERRAIN' ENDIFENDIFOtherwise (in your version) if Flaps were less than 31.5 you would never reach the last IF test.Best Regards,
Michael,Thanks for the correction, looks more logic now.Point is that I'am not happy with the calls and the alternating FMA indications, when executing a Go-Around procedure 'according the books'.So any code that is able to correct this would be highly appreciated.Regards,Harry

Share this post


Link to post
Ryan,With this simple example, may I ask if following will be a possible code for the MD11."IF AP/FD mode = GO-AROUND, THENIF Flaps <31.5, skip GPWS 'TOO LOW FLAPS', ELSE IFIF Gear selected UP, skip GPWS 'TOO LOW GEAR', ELSE IFIF FLaps <31.5 AND Gear selected up, skip GPWS 'TOO LOW TERRAIN'END IF"This one is nested and not correct of course, I'm not a programmer, but any other possible code C++ or XML will do.Would be happy not to hear these warnings where not appropriate. :( Regards,Harry
Hi Harry,Can you describe any of the situations where you hear alarms that are not appropriate? If possible, can you state actual and set states for gear, flaps, throttles, rate of descent etc. (i.e. Gear lever up, three reds still showing). If there is a difference between the logic used by PMDG and the real aircraft, this is the only way we will find it. Can you post a screen shot with an inappropriate alarm sounding and tell us your sequence of events prior it? As for the coding, I know a lot more about software then I do the MD11 and it is not usually correct to use negative tests. Statements like "IF Flaps <31.5, skip GPWS 'TOO LOW FLAPS'" cause problems because they do not make clear when an action should happen, only when it should not. Reading the systems manual for GPWS modes 4A and 4B, it looks like the rules could be coded as: ...IF GEAR is not "Down and locked" then { /* Mode 4A */......IF spd < 190kts then {.........if Radar_alt < 500ft then {............sound GWPS "TOO LOW, GEAR" .........}......} else if Radar_alt < 1000 then { /* check this carefully */.........boundry = (Radar_alt - 500) multiplied by (60 divided by 500) .........if spd < (190+boundry) then { ............sound GPWS "TOO LOW TERRAIN".........}......} ...} else /* Gear is down and locked */ { /* Mode 4B */......if Radar_alt <=245 AND flaps <35 then {.........if spd < 159 then {............sound GPWS "TOO LOW FLAPS".........} else { /* boundry conditions not clear! */............sound GPWS "TOO LOW TERRAIN".........}......}...}

Share this post


Link to post
Hi Harry,Can you describe any of the situations where you hear alarms that are not appropriate? If possible, can you state actual and set states for gear, flaps, throttles, rate of descent etc. (i.e. Gear lever up, three reds still showing). If there is a difference between the logic used by PMDG and the real aircraft, this is the only way we will find it. Can you post a screen shot with an inappropriate alarm sounding and tell us your sequence of events prior it? As for the coding, I know a lot more about software then I do the MD11 and it is not usually correct to use negative tests. Statements like "IF Flaps <31.5, skip GPWS 'TOO LOW FLAPS'" cause problems because they do not make clear when an action should happen, only when it should not. Reading the systems manual for GPWS modes 4A and 4B, it looks like the rules could be coded as: ...IF GEAR is not "Down and locked" then { /* Mode 4A */......IF spd < 190kts then {.........if Radar_alt < 500ft then {............sound GWPS "TOO LOW, GEAR" .........}......} else if Radar_alt < 1000 then { /* check this carefully */.........boundry = (Radar_alt - 500) multiplied by (60 divided by 500) .........if spd < (190+boundry) then { ............sound GPWS "TOO LOW TERRAIN".........}......} ...} else /* Gear is down and locked */ { /* Mode 4B */......if Radar_alt <=245 AND flaps <35 then {.........if spd < 159 then {............sound GPWS "TOO LOW FLAPS".........} else { /* boundry conditions not clear! */............sound GPWS "TOO LOW TERRAIN".........}......}...}
Paul,Thanks for your digging into this subject and programming code.Before I continue, let me state this:It is in NO WAY my intention to reprogram any part of software made by PMDG.As I'm not a programmer myself (must be clear from my first post in this thread), I have also NO intention to trigger any other person to reprogram something.Beside of that, how would one be able to integrate this into the default software.As the titel of this thread is "How do you guys do it?", and some example of a code line is given, made me ask Ryan a question in a code-like way.In normal words: Why do I get the mentioned EGPWS calls if I do a normal go-around, in the hope that whenever there will be an update to the MD11, this would be brought in line with the real aircraft.That being said, some other info:Additional to the PMDG SYSTEM .pdf WARN 10.17/18, I also consulted my RW documentation on EGPWS which states it slightly different.There it states that:Mode 4A is applicable during cruise and approach when landing gear is not down.Mode 4B is applicable during cruise and approach when landing gear is down and flaps not in landing position.No big differences there.Mode 4C:( the calls TOO LOW GEAR, TOO LOW FLAPS, TOO LOW TERRAIN are part of the EGPWS system only, and in the older GPWS systems voiced by calling 'TERRAIN' only.)So in the SYS.pdf, yes, EGPWS is installed.For Mode 4C I find in the other documentation that it is applicable at Take-off OR Go-around with either gear up or flaps not in landing position.As I see it:During a Go-around, when the gear is retracted or when the flaps are put out of the landing position, the only call remaining is 'TOO LOW TERRAIN' , and then only when you enter the Mode 4C envelope.That's how I remember it from the real thing too.Hope it is possible to simulate this logic whenever an MD11 update is considered.Regards,Harry

Share this post


Link to post

Harry,Didn't know you flew the real thing.Either way, by doing as I suggested in my post, I do not hear the calls (they do work though).Best regards,Robin.

Share this post


Link to post
Harry,Didn't know you flew the real thing.Either way, by doing as I suggested in my post, I do not hear the calls (they do work though).Best regards,Robin.
Robin,Will try your personal procedure as well some time.However, I prefer to do a go-around the way it is stated in manuals, even more where PMDG's and my realworld procedures are the same.Regards,Harry

Share this post


Link to post

Hi Harry, I should have known it was mode 4C you were interested in as it is the least clear cut. Would I be right in thinking that in a go-around situation, you move the gear lever to UP before confirming a positive rate of climb? That would cause an instant "TOO LOW TERRAIN" warning.

Share this post


Link to post
Hi Harry, I should have known it was mode 4C you were interested in as it is the least clear cut. Would I be right in thinking that in a go-around situation, you move the gear lever to UP before confirming a positive rate of climb? That would cause an instant "TOO LOW TERRAIN" warning.
Hi Paul,Digged a bit deeper into my books lastnight on EGPWS Modes. Hence my conclusions as written above.Regarding the moment of Gear-Up selection:NO, Gear-Up selection is ONLY done AFTER a positive rate of climb is confirmed.Even then I still get non-appropriate calls for this fase off flight.@ Robin,If you do the Go-around procedure NOT according the books and leave the landing flaps set and also the Gear down to altitudes above 2500ft RA, yes then you effectively discard any GPS warnings here.Your only next concern is to retract the flaps out of a landing setting, before retracting the gear, in order to miss the gear warning. But thats not the way it's supposed to be done.Try it as every MD11 jocky is supposed to do it.Regards,Harry

Share this post


Link to post

Hi Harry,I am still not clear about when you are getting the warning. Are you following the procedures detailed in FCOM PT.30.7 or do you use some other procedure?

Share this post


Link to post
Hi Harry,I am still not clear about when you are getting the warning. Are you following the procedures detailed in FCOM PT.30.7 or do you use some other procedure?
HI Paul,I'm following the GA procedure exactly as stated in the PMDG FCOM, which is exactly the same procedure that I used on the 11 in real live.When selecting Flaps28, I get the call 'TOO LOW TERRAIN' and 'TOO LOW FLAPS'When selecting Gear-Up (Yes,positive climb) the call 'TOO LOW GEAR'All with the Amber 'GROUND PROX' Warning on the FMA.Difference is that, the procedures being the same, these calls are NOT there in the real plane.(Hearing lots of Turboprops around now.. ;-))Regards,Harry

Share this post


Link to post

Hi Harry, I am wondering if there is a timing issue. I could generate the TOO LOW GEAR only by pulling the gear early. In other words, if I pulled the gear lever while below 190kts and under 500ft I got a GEAR warning, I only got the FLAPS warning once, and I was very low and slow at the time. The missed approach procedure I use is power, speed, heigth. I hit the throttle or the TOGA and wait until I see the engines respond. Then I level off and wait until my speed starts to climb, then I raise the nose, ensuring my speed doesn't fall, only when I am on my climbing and and accelerating do I clean up the aircraft. While cleaning up first helps gain speed more quickly, my instructor pointed out that if the engine choses to fail forcing you to abort the abort, you may not have time to get your wheels and flaps back down. This was in a light single and not a commercial multi so I am not sure how relevant that advice still is to the MD11.

Share this post


Link to post
Exactly, and one line of code isnt independant. Line 33,409 may have relation to 4,000 other lines of code. So you need to project relation before you ever get to that point. It can be very complex. Which is why developers usually only work on one project at a time. And those that can work on many at a time are few and indispensable assest to the company.
Copy paste and hack......thats the way we do things at *****...

Share this post


Link to post
×
×
  • Create New...