Jump to content
The simFlight Network Forums

Fuel Pumps


kingm56

Recommended Posts

Has anyone had luck manipulating the fuel pumps on any of the Airliners (e.g. 747, 787 or A320) in MSFS?  I've tried offsets 3104 and 3125; although, they're reported as working in the v.28.ods, I could not get them accurately report the setting, or manipulate the controls.  I've also tried simvar TOGGLE_ELECT_FUEL_PUMP, to no avail.  Any advice would be greatly appreciated.  

Link to comment
Share on other sites

11 hours ago, kingm56 said:

I've tried offsets 3104 and 3125; although, they're reported as working in the v.28.ods, I could not get them accurately report the setting, or manipulate the controls.

Those offset use the indexed simvar GENERAL ENG FUEL PUMP SWITCH. This is actually documented as unsettable, so they are not writeable - I will update the offset spreadsheet document to make this clear. Not sure why they are not reflecting the correct value though - maybe those aircraft don't use this simvar...

Have you tried using the controls:
    FUELSYSTEM_PUMP_TOGGLE
    FUELSYSTEM_PUMP_SET
    FUELSYSTEM_PUMP_OFF
    FUELSYSTEM_PUMP_ON

?

The offsets may be working (i.e. for reading the current setting) for some aircraft, but not all. For complex aircraft, best to check what to use in the MobiFlight preset app (https://hubhop.mobiflight.com/).
However, I can't see much there for the 747 or the 787. Maybe try seeing if there are any lvars available for those aircraft. For the A320 (FBW version), there are toggle presets for the left/right/center pumps - here's the calculator code to toggle the center fuel pump:
 

Quote

    1 (>K:FUELSYSTEM_PUMP_TOGGLE) (L:XMLVAR_Momentary_PUSH_OVHD_FUEL_CTKPUMPS1_Pressed) ! (>L:XMLVAR_Momentary_PUSH_OVHD_FUEL_CTKPUMPS1_Pressed)

That looks like its using the control Fuelsystem Pump Toggle to toggle the fuel pump (with the parameter specifying which pump) and also toggling an lvar, presumable to  flip the switch in the UI.

I can also see there are some new simvars for this, although they are defined as read-only:

Quote
FUELSYSTEM PUMP ACTIVE:index Whether or not the indexed pump is actually active. The index is the number of the pump N component as defined by the Pump.N parameter. Bool  
FUELSYSTEM PUMP SWITCH:index Whether or not the indexed pump is enabled. The index is the number of the pump N component as defined by the Pump.N parameter. Bool


I can maybe add these to some FSUIPC offsets - possibly the same ones if its an either/or situation. I could possibly also make them writeable by triggering the Fuel System Pump Toggle event when written to. I will put this on my list to investigate, hopefully later this week.

John

Link to comment
Share on other sites

For those new simvars, the MSFS SDK documentation states:

Quote

All aircraft made for Microsoft Flight Simulator should be using this system and these SimVars, and only legacy aircraft should be using the General SimVars and the [FUEL] section of the flight model CFG file.

These are the new simvars:

Quote
FUELSYSTEM ENGINE PRESSURE:index The pressure of the fuel coming to the indexed engine. The index is the number of the engine N component as defined by the Engine.N parameter. Kilo pascal  
FUELSYSTEM JUNCTION SETTING:index This will return the current Option for the indexed junction. The index is the number of the line N component as defined by the Junction.N parameter. Number  
FUELSYSTEM LINE FUEL FLOW:index The fuel flowing through the indexed line in s per Hour. The index is the number of the line N component as defined by the Line.N parameter. s per hour  
FUELSYSTEM LINE FUEL LEVEL:index The level of fuel in the indexed line in s. The index is the number of the line N component as defined by the Line.N parameter. s  
FUELSYSTEM LINE FUEL PRESSURE:index The pressure in the indexed fuel line, measured in KiloPascal. The index is the number of the line N component as defined by the Line.N parameter. Kilo pascal  
FUELSYSTEM PUMP ACTIVE:index Whether or not the indexed pump is actually active. The index is the number of the pump N component as defined by the Pump.N parameter. Bool  
FUELSYSTEM PUMP SWITCH:index Whether or not the indexed pump is enabled. The index is the number of the pump N component as defined by the Pump.N parameter. Bool  
FUELSYSTEM TANK CAPACITY:index Total capacity of the indexed fuel tank. The index is the number of the tank N component as defined by the Tank.N parameter. s  
FUELSYSTEM TANK LEVEL:index Quantity of fuel available in the indexed fuel tank. The index is the number of the tank N component as defined by the Tank.N parameter.    
FUELSYSTEM TANK QUANTITY:index Quantity of fuel currently available in the indexed fuel tank. The index is the number of the tank N component as defined by the Tank.N parameter. s  
FUELSYSTEM TANK TOTAL QUANTITY:index Total quantity of fuel available in the indexed fuel tank, including any unusable fuel. The index is the number of the tank N component as defined by the Tank.N parameter. s  
FUELSYSTEM TANK WEIGHT:index Weight of fuel available in the indexed fuel tank. The index is the number of the tank N component as defined by the Tank.N parameter. Pounds  
FUELSYSTEM TRIGGER STATUS:index Whether or not the indexed trigger is active. The index is the number of the trigger N component as defined by the Trigger.N parameter. Bool  
FUELSYSTEM VALVE OPEN:index Whether or not the indexed valve is actually fully opened. The index is the number of the valve N component as defined by the Valve.N parameter.    
FUELSYSTEM VALVE SWITCH:index Whether or not the indexed valve is set to be opened. The index is the number of the valve N component as defined by the Valve.N parameter. Bool

I will look into adding these to FSUIPC offsets, using the same offsets if available (an aircraft will use either these or the legacy ones, not both) or I will add new ones where needed. However, all these new simvars are read-only. I can look into making some writeable by using a corresponding control. I will look into this when I can and report back.

The following fuel capacity/quantity simvars are also newly available, but I am not planning on adding these unless requested:

Quote
FUEL LEFT CAPACITY
FUEL LEFT QUANTITY
FUEL RIGHT CAPACITY
FUEL RIGHT QUANTITY
FUEL SELECTED QUANTITY PERCENT
FUEL TANK CENTER QUANTITY
FUEL TANK CENTER2 QUANTITY
FUEL TANK CENTER3 QUANTITY
FUEL TANK EXTERNAL1 QUANTITY
FUEL TANK EXTERNAL2 QUANTITY
FUEL TANK LEFT AUX QUANTITY
FUEL TANK LEFT MAIN QUANTITY
FUEL TANK LEFT TIP QUANTITY
FUEL TANK RIGHT AUX QUANTITY
FUEL TANK RIGHT MAIN QUANTITY
FUEL TANK RIGHT TIP QUANTITY

John

Link to comment
Share on other sites

@kingm56

On 11/14/2021 at 3:59 PM, John Dowson said:
Quote
FUELSYSTEM PUMP ACTIVE:index Whether or not the indexed pump is actually active. The index is the number of the pump N component as defined by the Pump.N parameter. Bool  
FUELSYSTEM PUMP SWITCH:index Whether or not the indexed pump is enabled. The index is the number of the pump N component as defined by the Pump.N parameter. Bool


I can maybe add these to some FSUIPC offsets - possibly the same ones if its an either/or situation. I could possibly also make them writeable by triggering the Fuel System Pump Toggle event when written to. I will put this on my list to investigate, hopefully later this week.

I have now added these. The 747 has 16 pumps, so I have added 16 indexed variables for each of these, so 32 new offsets in total. I am not sure how useful the FUELSYSTEM PUMP ACTIVE simvar is - seems to be used in the 747 bit not in the 787. I have added it anyway as rad-only.
The FUELSYSTEM PUMP SWITCH simvar has been made writable, and will trigger the FUELSYSTEM_PUMP_ON/OFF controls. I have teted this in both the 747 and 787 and you can control all pumps writing to these offsets.

The new offsets are (not not all contiguous!) the following, all 1 byte:
   0x0B02 FUELSYSTEM PUMP ACTIVE:1
   0x0B03 FUELSYSTEM PUMP SWITCH:1
   0x0B04 FUELSYSTEM PUMP ACTIVE:2
   0x0B05 FUELSYSTEM PUMP SWITCH:2

   0x0B06 FUELSYSTEM PUMP ACTIVE:3
   0x0B07 FUELSYSTEM PUMP SWITCH:3

   0x0B08 FUELSYSTEM PUMP ACTIVE:4
   0x0B09 FUELSYSTEM PUMP SWITCH:4

   0x0B0A FUELSYSTEM PUMP ACTIVE:5
   0x0B0B FUELSYSTEM PUMP SWITCH:5

   0x0B10 FUELSYSTEM PUMP ACTIVE:6
   0x0B11 FUELSYSTEM PUMP SWITCH:6
   0x0B12 FUELSYSTEM PUMP ACTIVE:7
   0x0B13 FUELSYSTEM PUMP SWITCH:7
   0x0B14 FUELSYSTEM PUMP ACTIVE:8
   0x0B15 FUELSYSTEM PUMP SWITCH:8
   0x0B16 FUELSYSTEM PUMP ACTIVE:9
   0x0B17 FUELSYSTEM PUMP SWITCH:9
   0x0AEE FUELSYSTEM PUMP ACTIVE:10
   0x0AEF FUELSYSTEM PUMP SWITCH:10
   0x0AF0 FUELSYSTEM PUMP ACTIVE:11
   0x0AF1 FUELSYSTEM PUMP SWITCH:11
   0x0AF2 FUELSYSTEM PUMP ACTIVE:12
   0x0AF3 FUELSYSTEM PUMP SWITCH:12
   0x0AF6 FUELSYSTEM PUMP ACTIVE:13
   0x0AF7 FUELSYSTEM PUMP SWITCH:13
   0x0AFA FUELSYSTEM PUMP ACTIVE:14
   0x0AFB FUELSYSTEM PUMP SWITCH:14

   0x0AFC FUELSYSTEM PUMP ACTIVE:15
   0x0AFD FUELSYSTEM PUMP SWITCH:15

   0x0AFE FUELSYSTEM PUMP ACTIVE:16
   0x0AFF FUELSYSTEM PUMP SWITCH:16

I have also added the new indexed simvar FUELSYSTEM ENGINE PRESSURE to the same offset as the GENERAL ENG FUEL PRESSURE simvar, with units kpa (not psf, as the original simvar for this offset).

These new offsets are available in the attached version, v7.2.13e, if you would like to try them.

After I release this I will revise the MSFS SDK documentation to document the newly available simvars in the FSUIPC offset documentation. I won't be adding these to offsets unless requested - I will add them to the end of the document as 'available upon request'.

Regards,

John

FSUIPC7.exe
 

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.