EXT Power and Parking brake logic A350

  • For a future update: A request for EXT power logic to be tied to weight on wheels instead of parking brake :thumbup: In real world ops there are number of reasons why the parking brake would be off when at the gate, one of which is hot brakes after landing. I released the parking brake, the aircraft went straight to batts and disconnected EXT.

  • For a future update: A request for EXT power logic to be tied to weight on wheels instead of parking brake :thumbup: In real world ops there are number of reasons why the parking brake would be off when at the gate, one of which is hot brakes after landing. I released the parking brake, the aircraft went straight to batts and disconnected EXT.

    How do you have working brake temp in the A350? I tried a RTO and the temperature doesn’t rise.

  • Only the smaller airbus aircraft have working brake temp logic. I added the logic myself to the A350 using the below cooling schedule. The devs said they may add their own working version in a future update.

    Btw, if you look at the code, there is a lot of amazing stuff going on behind the scenes with this A350 (quite a few things are disabled) it has the potential for a lot of expansion if the devs so choose.

    Below table is for Brake fans off

  • Only the smaller airbus aircraft have working brake temp logic. I added the logic myself to the A350 using the below cooling schedule. The devs said they may add their own working version in a future update.

    Btw, if you look at the code, there is a lot of amazing stuff going on behind the scenes with this A350 (quite a few things are disabled) it has the potential for a lot of expansion if the devs so choose.

    Below table is for Brake fans off

    Would you mind sharing with us how and where you exactly added the logic into the A350? I think your improvement has quite an interesting truth to it.

    Thank you in advance.

    Kind Regards,

    AeRodri

    Specs: 16-inch MacBook Pro 2019, 2.3 GHz 8-Core Intel Core i9 Processor, 16 GB 2667 MHz DDR4 RAM,
    AMD Radeon Pro 5500M 4 GB, 1TB Apple SSD, currently on MacOS Sequoia 15.7.3 + 2x Alienware AW3225DM.
    On the latest version of AeroFly FS 4 from Steam. Visit my dedicated AeroFly Instagram: https://www.instagram.com/realflightops/

  • I added some basic code into a separate system.tmd in the Aerofly documents folder, this talks to the main system.tmd - Tbh I wouldn't suggest messing around with this stuff unless you know what you are doing. The devs said they may add this officially at some point in the future


    Display Spoiler

    <[file][][]
    <[modelmanager][][]
    <[pointer_list_tmuniverse][DynamicObjects][]

    // --- DYNAMIC BRAKE TEMPS (Kelvin) ---
    // Replace the 12 BrakeTemperature constants with everything below.

    <[constant][BrakeTempAmbientK][] <[string8][Input][288.15]> > // 15C baseline
    <[constant][BrakeCoolingFactor][] <[string8][Input][0.0002]> > // tune cooling
    <[constant][BrakeHeatUpFactor][] <[string8][Input][0.008]> > // tune heating
    <[constant][BrakeDownForceFactor][] <[string8][Input][0.0000065]> >
    <[constant][BrakeCoolingWithFan][] <[string8][Input][0.0006]> >

    // Fan-based cooling select
    <[multiplexer][BrakeCoolingFactorEffective][]
    <[string8][InputSelect][BrakeFansOn.Output]>
    <[string8][Inputs][ BrakeCoolingFactor.Output BrakeCoolingWithFan.Output ]>
    >

    // Airborne cooling multiplier (set to 1.0 to disable)
    <[constant][BrakeCoolingInAirMultiplier][] <[string8][Input][2.5]> >

    <[multiplexer][BrakeCoolingAirSelect][]
    <[string8][InputSelect][InAir.Output]>
    <[string8][Inputs][ 1.0 BrakeCoolingInAirMultiplier.Output ]>
    >

    // Final effective cooling factor = (fan-selected cooling) * (air/ground multiplier)
    <[product][BrakeCoolingFactorEffectiveFinal][]
    <[string8][Inputs][ BrakeCoolingFactorEffective.Output
    BrakeCoolingAirSelect.Output ]>
    >
    // Ground speed squared
    <[product][BrakeGS2][]
    <[string8][Inputs][ InertialReferenceSystem.OutputGroundSpeed
    InertialReferenceSystem.OutputGroundSpeed ]>
    >

    // -------- LEFT --------
    <[mixlinear][BrakeLeftAboveAmbient][]
    <[string8][Input0][BrakeTempLeftK.Output]>
    <[string8][Input1][BrakeTempAmbientK.Output]>
    <[float64][Weight0][1.0]>
    <[float64][Weight1][-1.0]>
    >

    <[product][BrakeLeftCool][]
    <[string8][Inputs][ BrakeCoolingFactorEffective.Output
    BrakeLeftAboveAmbient.Output ]>
    >

    <[maximum][LeftWheelLoadPos][]
    <[string8][Inputs][ LeftWheelLoad.Output 0.0 ]>
    >

    <[product][BrakeLeftDownForce][]
    <[string8][Inputs][ BrakeDownForceFactor.Output
    LeftWheelLoadPos.Output ]>
    >

    <[product][BrakeLeftHeat][]
    <[string8][Inputs][ BrakeHeatUpFactor.Output
    BrakeLeftDownForce.Output
    ServoLeftBrake.Output
    BrakeGS2.Output
    OnGroundSensor.Output ]>
    >

    <[mixlinear][BrakeLeftNet][]
    <[string8][Input0][BrakeLeftHeat.Output]>
    <[string8][Input1][BrakeLeftCool.Output]>
    <[float64][Weight0][1.0]>
    <[float64][Weight1][-1.0]>
    >

    // moved integral to AFTER BrakeLeftNet (so it doesn't reference forward)
    <[integral][BrakeTempLeftK][]
    <[string8][Input][BrakeLeftNet.Output]>
    <[float64][Value][288.15]>
    >

    // -------- RIGHT --------
    <[mixlinear][BrakeRightAboveAmbient][]
    <[string8][Input0][BrakeTempRightK.Output]>
    <[string8][Input1][BrakeTempAmbientK.Output]>
    <[float64][Weight0][1.0]>
    <[float64][Weight1][-1.0]>
    >

    <[product][BrakeRightCool][]
    <[string8][Inputs][ BrakeCoolingFactorEffective.Output
    BrakeRightAboveAmbient.Output ]>
    >

    <[maximum][RightWheelLoadPos][]
    <[string8][Inputs][ RightWheelLoad.Output 0.0 ]>
    >

    <[product][BrakeRightDownForce][]
    <[string8][Inputs][ BrakeDownForceFactor.Output
    RightWheelLoadPos.Output ]>
    >

    <[product][BrakeRightHeat][]
    <[string8][Inputs][ BrakeHeatUpFactor.Output
    BrakeRightDownForce.Output
    ServoRightBrake.Output
    BrakeGS2.Output
    OnGroundSensor.Output ]>
    >

    <[mixlinear][BrakeRightNet][]
    <[string8][Input0][BrakeRightHeat.Output]>
    <[string8][Input1][BrakeRightCool.Output]>
    <[float64][Weight0][1.0]>
    <[float64][Weight1][-1.0]>
    >

    // moved integral to AFTER BrakeRightNet (so it doesn't reference forward)
    <[integral][BrakeTempRightK][]
    <[string8][Input][BrakeRightNet.Output]>
    <[float64][Value][288.15]>
    >

    // Feed the 12 wheel temps expected by the SD page
    <[servoclassic][BrakeTemperature1][]
    <[string8][Input][BrakeTempLeftK.Output]>
    <[float64][Speed][1.9]>
    <[float64][P1][1.0]>
    <[float64][Position][288.15]>
    >
    <[servoclassic][BrakeTemperature2][]
    <[string8][Input][BrakeTempLeftK.Output]>
    <[float64][Speed][1.75]>
    <[float64][P1][1.0]>
    <[float64][Position][289.65]>
    >
    <[servoclassic][BrakeTemperature3][]
    <[string8][Input][BrakeTempLeftK.Output]>
    <[float64][Speed][2.12]>
    <[float64][P1][1.0]>
    <[float64][Position][287.35]>
    >
    <[servoclassic][BrakeTemperature4][]
    <[string8][Input][BrakeTempLeftK.Output]>
    <[float64][Speed][2.02]>
    <[float64][P1][1.0]>
    <[float64][Position][290.15]>
    >
    <[servoclassic][BrakeTemperature5][]
    <[string8][Input][BrakeTempLeftK.Output]>
    <[float64][Speed][2.07]>
    <[float64][P1][1.0]>
    <[float64][Position][286.65]>
    >
    <[servoclassic][BrakeTemperature6][]
    <[string8][Input][BrakeTempLeftK.Output]>
    <[float64][Speed][1.46]>
    <[float64][P1][1.0]>
    <[float64][Position][289.05]>
    >

    <[servoclassic][BrakeTemperature7][]
    <[string8][Input][BrakeTempRightK.Output]>
    <[float64][Speed][2.0]>
    <[float64][P1][1.0]>
    <[float64][Position][288.15]>
    >
    <[servoclassic][BrakeTemperature8][]
    <[string8][Input][BrakeTempRightK.Output]>
    <[float64][Speed][2.11]>
    <[float64][P1][1.0]>
    <[float64][Position][289.35]>
    >
    <[servoclassic][BrakeTemperature9][]
    <[string8][Input][BrakeTempRightK.Output]>
    <[float64][Speed][1.95]>
    <[float64][P1][1.0]>
    <[float64][Position][287.55]>
    >
    <[servoclassic][BrakeTemperature10][]
    <[string8][Input][BrakeTempRightK.Output]>
    <[float64][Speed][2.0]>
    <[float64][P1][1.0]>
    <[float64][Position][290.05]>
    >
    <[servoclassic][BrakeTemperature11][]
    <[string8][Input][BrakeTempRightK.Output]>
    <[float64][Speed][2.12]>
    <[float64][P1][1.0]>
    <[float64][Position][286.95]>
    >
    <[servoclassic][BrakeTemperature12][]
    <[string8][Input][BrakeTempRightK.Output]>
    <[float64][Speed][2.01]>
    <[float64][P1][1.0]>
    <[float64][Position][288.85]>
    >

  • I added some basic code into a separate system.tmd in the Aerofly documents folder, this talks to the main system.tmd - Tbh I wouldn't suggest messing around with this stuff unless you know what you are doing. The devs said they may add this officially at some point in the future

    In the user directory folder "aircrafts" you can create a folder with the same name as in FS 4 and then make adjustments there without intervening in the original data of the FS 4.

    Tschüss, Michael (🍎🚁)

    Configurations:

    - MacBook Pro (16", 2024); Chip: Apple M4 Max; actual macOS
    - Controllers: | WinWing: URSA MINOR-Fighter-Joystick R, EFIS-L & FCU & EFIS-R | Thrustmaster TCA AIRBUS EDITION: 2x Quadrant, 2x Quadrant Add-On | Pro-Flight-Trainer: PUMA X | Steelseries: Nimbus+

    - iPad (12,9", 4th Generation, RAM: 6 GB); actual iOS | Steelseries: Nimbus+

  • In the user directory folder "aircrafts" you can create a folder with the same name as in FS 4 and then make adjustments there without intervening in the original data of the FS 4.

    Hi Michael, I did state that in my post, I am not editing the original system.tmd. I have a a parameters & second system file in my documents folder, all modifications and overrides are made there :thumbup: On my PC, it is located - Documents\Aerofly FS 4\aircraft\a350_1000

  • Hi Michael, I did state that in my post, I am not editing the original system.tmd. I have a a parameters & second system file in my documents folder, all modifications and overrides are made there :thumbup: On my PC, it is located - Documents\Aerofly FS 4\aircraft\a350_1000

    Thanks for your clarification😀, I had misinterpreted it🙁.

    Tschüss, Michael (🍎🚁)

    Configurations:

    - MacBook Pro (16", 2024); Chip: Apple M4 Max; actual macOS
    - Controllers: | WinWing: URSA MINOR-Fighter-Joystick R, EFIS-L & FCU & EFIS-R | Thrustmaster TCA AIRBUS EDITION: 2x Quadrant, 2x Quadrant Add-On | Pro-Flight-Trainer: PUMA X | Steelseries: Nimbus+

    - iPad (12,9", 4th Generation, RAM: 6 GB); actual iOS | Steelseries: Nimbus+