Jump to content
The simFlight Network Forums

PMDG 737-8 Engine Fire Handles Not Configurable


Recommended Posts

Hello everyone. This is my first post here, so please be patient¬†ūüėÖ

I am trying to separately assign them to two switches on my Warthog Hotas Throttle quadrant using 69632 + 697 and 6971 with the appropriate parameters without success on FSUIPC7 (THIRD_PARTY_EVENT_ID_69632+).

The terminology in the SDK is a bit confusing compared to the others:



I am not sure what "TOP" & "BOTTOM" are referring to, since the parameters include 0: In and 2: Out (which may be "Botton" and "Top" respectively), as copied below:

unsigned char FIRE_HandlePos[3]; // 0: In 1: Blocked 2: Out 3: Turned Left 4: Turned right

If anyone could configure those handles, please help me out, since they play a fundamental role in executing most of the engine memory items and it is essential to have them assigned to switches.

Thanks, guys

PS: I was indeed able to configure the Fire Unlock Switches normally using the codes below and they are being pressed while I try to configure the Fire Handles.

#define EVT_FIRE_UNLOCK_SWITCH_ENGINE_1                    (THIRD_PARTY_EVENT_ID_MIN + 976)
#define EVT_FIRE_UNLOCK_SWITCH_APU                        (THIRD_PARTY_EVENT_ID_MIN + 977)
#define EVT_FIRE_UNLOCK_SWITCH_ENGINE_2                    (THIRD_PARTY_EVENT_ID_MIN + 978)

Edited by marcoswmd
Link to comment
Share on other sites

  • marcoswmd changed the title to PMDG 737-8 Engine Fire Handles Not Configurable

I am not that familiar with the 737, but I have just taken a look and it seems that top/bottom refer to the top and bottom parts of the handle, which use different controls. You can see this if you set logging for Events (and open the logging console) and use the mouse to control the handle, you will see the following logged (note the UI uses the custom controls via the Rotor Brake control method):


  1032172 *** EVENT: Cntrl= 66587 (0x0001041b), Param= 69703 (0x00011047) ROTOR_BRAKE   - top control
  1032875 *** EVENT: Cntrl= 66587 (0x0001041b), Param= 69701 (0x00011045) ROTOR_BRAKE   - top control
  1033016 *** EVENT: Cntrl= 66587 (0x0001041b), Param= 69704 (0x00011048) ROTOR_BRAKE  - top control
  1034375 *** EVENT: Cntrl= 66587 (0x0001041b), Param= 69703 (0x00011047) ROTOR_BRAKE  - top control
  1034422 *** EVENT: Cntrl= 66587 (0x0001041b), Param= 69703 (0x00011047) ROTOR_BRAKE  - top control
  1034469 *** EVENT: Cntrl= 66587 (0x0001041b), Param= 697103 (0x000aa30f) ROTOR_BRAKE  - bottom control
   1035141 *** EVENT: Cntrl= 66587 (0x0001041b), Param= 697103 (0x000aa30f) ROTOR_BRAKE  - bottom control
  1035828 *** EVENT: Cntrl= 66587 (0x0001041b), Param= 697101 (0x000aa30d) ROTOR_BRAKE  - bottom control
  1036000 *** EVENT: Cntrl= 66587 (0x0001041b), Param= 697104 (0x000aa310) ROTOR_BRAKE  - bottom control

I do not know how this handle is supposed to function, so do not know why this is and cannot really advise further on how to set this up.

16 hours ago, marcoswmd said:

unsigned char FIRE_HandlePos[3]; // 0: In 1: Blocked 2: Out 3: Turned Left 4: Turned right

Note also that this is a 3-byte array, and so holds 3 distinct values, for the engine 1, engine 2 and APU handles respectively.  These values are held in offset 0x6C44, 0x6C45 and 0x6C46, so you can try logging those offsets (as U8) to see what values they hold as you change the position of the handles.


Link to comment
Share on other sites

Hi John. Thank you for your reply.

So, basically, the engine fire handles allow the pilots to activate the fire extinguishing system individually in the engines or APU.

When pulled (from "bottom" 0: In to "top" 2: Out, I believe), they basically isolate the Engine/APU from all the systems that are connected to them in order to allow the insertion of the fire extinguishant element into them and optimize its extinguishing effect. 

After pulling any of the handles, you can discharge the fire extinguishant from the LH Fire Extinguishing Bottle by rotating the handle to the left (3: Turned Left), or from the RH one by rotating it to the right (4: Turned right).

The handles are normally locked to prevent inadvertent activation and are automatically unlocked and illuminated when a fire is detected in the related engine/APU. However, there are some cases when pilots need to pull the Fire Handles and isolate the Engines/APU even when a fire is not detected. For those cases, there is a Fire Unlock Switch underneath each Fire Handle that unlocks them, which I was able to configure using the codes described in my first post. 

#define EVT_FIRE_UNLOCK_SWITCH_ENGINE_1                    (THIRD_PARTY_EVENT_ID_MIN + 976)
#define EVT_FIRE_UNLOCK_SWITCH_APU                        (THIRD_PARTY_EVENT_ID_MIN + 977)
#define EVT_FIRE_UNLOCK_SWITCH_ENGINE_2                    (THIRD_PARTY_EVENT_ID_MIN + 978)

Obviously, I was pressing the respective Fire Unlock Switches when trying to configure and pull the Fire Handles without an active fire indication.

Maybe with this explanation, you will be able to work something out.

I am not a computer expert, but I read the FSUIPC User Manual and managed to understand most of it, and I will try to understand the Rotor Brake control method and Offset concept through the Advanced Manual.

Thanks a lot again!

Link to comment
Share on other sites

Ok - thanks for the explanation.

1 hour ago, marcoswmd said:

I will try to understand the Rotor Brake control method

The Rotor Brake method is just another way to use custom controls, just more limited - you can only send mouse operations and not actual values. If you take a look un the FAQ section, both methods are described, but the Rotor Brake one is deprecated in favor of the custom control method.

With the switch unlocked, have you tried sending a parameter of 3 to using either one, or maybe both, of the EVT_FIRE_HANDLE_ENGINE_1_TOP & EVT_FIRE_HANDLE_ENGINE_1_BOTTOM  custom controls? And then once out, you can use the same control and send a parameter of 3 or 4  to turn the handle. You just need to play around to see what works.

I can take a further look tomorrow.


Link to comment
Share on other sites

Where are the fire unlock switches located? I can't seem to get handle unlocked with the custom controls. 
The initial value in offset 0x6C44 is 0. This is In according to the documentation, which seems correct. If I send a custom control of 70329, which is EVT_FIRE_HANDLE_ENGINE_1_TOP, with a parameter of x20000000 (left mouse click), then the handle does move slightly, and the value in offset 0x6C44 goes briefly to 1 (blocked) then back to 0, which seems correct as it is still locked I guess.

So try using the mouse parameters to the _top/_bottom controls, not the values. If I can unlock the handle, I can test further.


Link to comment
Share on other sites

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.