Jump to content
The simFlight Network Forums

Recommended Posts

Posted

Hi John / Pete,

P3Dv5.2HF1 with the PMDG737 NGXu and FSUIPC6 v6.1.0.2.

There was an excellent tutorial posted here a few years ago that showed how to program actions for the PMDG737 using GoFlight hardware.

I used it back then for the 737NGX and have copied / pasted it for the 737NGXu as the SDK is identical for these purposes.

One multiple action is to open and close Pax doors (left forward and aft) and the other is for cargo (forward and aft). So 2 doors for each of 2 switches.

Whilst the opening sequence always works more often than not the closing one doesn't with one door on each sequence remaining open.

I've reexamined the instructions but cannot see a problem. The sequence is shown on the attached jpg. Any help would be appreciated for this frustrating problem.

The sequence starts by selecting the MENU option on the CDU and navigating to the Doors menu. After actioning the doors the menu actions take the user back to the top level of the CDU so each sequence starts at the same point.

PMDG737_DoorActions.jpg

Posted

Ray, I can't speak to the correctness of that sequence but have you considered just writing to the door LVARs? That seems to have fewer state issues and certainly a lot less work and timings to go wrong.

Cheers!

Posted

Luke, I have no experience with LVARS. Given the completeness of the PMDG SDK you would expect all this to work. I’ll check with them if there’s a direct command for the doors operation.

The commands beginning with P are the on switch action and U the off switch action. They’re identical for each switch.

Posted (edited)

Hi Ray,

2 hours ago, Ray Proudfoot said:

Whilst the opening sequence always works more often than not the closing one doesn't with one door on each sequence remaining open.

Apart from switching to using lvars, as suggested by Luke, you could try activating logging for Events and see if you can notice anything different in the log when closing the doors between when it works and when it doesn't. You could also try adjusting the TimeForSelect, but I don't know if this will have any effect as you are using PMDG custom controls (and I don't have any PMDG aircraft to check).

 

Edited by John Dowson
corrected
Posted
13 minutes ago, John Dowson said:

Also, I'm nor sure what those custom controls do, but 70171 is being sent twice on each button (5,6) press and release - is that correct?

Yes, it’s LSK5L from memory to move up one level in the CDU menu. The top level is two levels up.

I’ll try the logging option and see if it reveals anything.

Posted

I may have a solution. Looking through the events these are listed...

// Custom shortcut special events
#define EVT_LDG_LIGHTS_TOGGLE                        (THIRD_PARTY_EVENT_ID_MIN + 14000)
#define EVT_TURNOFF_LIGHTS_TOGGLE                    (THIRD_PARTY_EVENT_ID_MIN + 14001)
#define EVT_COCKPIT_LIGHTS_TOGGLE                    (THIRD_PARTY_EVENT_ID_MIN + 14002)
#define EVT_COCKPIT_LIGHTS_ON                        (THIRD_PARTY_EVENT_ID_MIN + 14003)
#define EVT_COCKPIT_LIGHTS_OFF                        (THIRD_PARTY_EVENT_ID_MIN + 14004)
#define EVT_DOOR_FWD_L                                (THIRD_PARTY_EVENT_ID_MIN + 14005)
#define EVT_DOOR_FWD_R                                (THIRD_PARTY_EVENT_ID_MIN + 14006)
#define EVT_DOOR_AFT_L                                (THIRD_PARTY_EVENT_ID_MIN + 14007)
#define EVT_DOOR_AFT_R                                (THIRD_PARTY_EVENT_ID_MIN + 14008)
#define EVT_DOOR_OVERWING_EXIT_L                    (THIRD_PARTY_EVENT_ID_MIN + 14009)
#define EVT_DOOR_OVERWING_EXIT_R                    (THIRD_PARTY_EVENT_ID_MIN + 14010)
#define EVT_DOOR_CARGO_FWD                            (THIRD_PARTY_EVENT_ID_MIN + 14013)  // note number skip to match eDoors enum
#define EVT_DOOR_CARGO_AFT                   

So rather than program events to navigate through the CDU these may be the solution. More later...

Posted

Problem identified and solved.

I didn't tell you the full picture. I also use GoFlight Interface Tool so I can get the LEDs to illuminate and extinguish depending on the door state.

I had already programmed front Left and front Right into GIT and was repeating the action via my code above. So front left and right were being operated twice - hence the problem.

I've removed the offending lines and now the code works flawlessly. Thanks all for your suggestions. 👍

Posted

John,

I have to say FSUIPC is very impressive to run this code so precisely. When you consider it’s navigating its way through the CDU menu it does it extremely quickly. It just needs the user to get things right. 😃

Posted
16 minutes ago, John Dowson said:

👍

But do you need to go through the CDU menu to operate the doors? The specific (custom) events (or lvars) may be the easier way to assign for this.

I would have to learn a whole new system John. It might appear clunky but it works. I tried right-clicking on the separate door lights on the overhead hoping it would make them move.  No chance. The CDU system seems the only way in combination with GIT to get the LED on my T8 panel to light up.

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.