Push 2 Pass

Discussion in 'Car Modding' started by Lazza, Feb 8, 2022.

  1. Lazza

    Lazza Registered

    Joined:
    Oct 5, 2010
    Messages:
    12,345
    Likes Received:
    6,572
    Currently (Feb 2023) most of these options have some documentation at https://docs.studio-397.com/develop...car-physics/using-the-new-push-to-pass-system

    I'll separate the entries a little to make it more clear which are documented, which are understood, and which might need exploring...

    Note: HDV entries. Generally best to use all lines and keep unwanted items on neutral values, rather than trying to use only a minimum of entries and omitting other lines.


    Documented items, with corrections from our original guesses (or original behaviour) where appropriate:
    Code:
    [PUSH2PASS]
    Push2PassType=0 // 0 = mixture map. 1 = turbo
    Push2PassEngineMap=5 // engine mixture map to use
    Push2PassAllowManualDeactivation=1 // can de-activate using button
    Push2PassActivateThrottleThreshold=0.94 // this was the old threshold, recommended: 0.6
    Push2PassDeactivateThrottleThreshold=0.5 // recommended: 0.5
    Push2PassMinStartSpeedKPH=20 // minimum speed to activate
    Push2PassHoldButton=0 // 1 means the P2P only lasts while the button is held
    Push2PassMaxUses=5 // total. Set to -1 for unlimited.
    Push2PassMaxTime=50 // total. Set to 0 for unlimited.
    Push2PassTimePerPush=10 // max duration of each activation
    Push2PassActivationsPerLap=2 // maximum. Set to 0 for unlimited.
    Push2PassBoostMap=0 // boost map to use
    Push2PassInRace=1
    Push2PassInQuali=1
    Push2PassInWarmup=1
    Push2PassInPractice=1
    

    Not documented but understood/straightforward:
    Code:
    [ENGINEMIXTURELIMITS]
    RaceLimit=0 // maximum mixture available to select manually during each session
    WarmupLimit=0 // these settings don't affect the P2P mixture!
    QualifyingLimit=0
    PracticeLimit=0
    
    [BOOSTMIXTURELIMITS]
    RaceLimit=0
    WarmupLimit=0
    QualifyingLimit=0
    PracticeLimit=0
    

    Undocumented/untested:
    Code:
    Push2PassHybridMap=0 //
    Push2PassMaximumWheelSpin=0 // units? Worst driven wheel, average?
    Push2PassTimeBetweenActivations=0 // seconds between activations?
    Push2PassNumberLapsAfterStartBeforAllowed=0 // seems to explain itself. Note the 'Befor' typo.
    Push2PassTimePerLap=0 // maximum activation time per lap
    Push2PassMinimumGear=0 //
    Push2PassDisableWhenCrossingStartFinish=0 // 1 to deactivate P2P when crossing S/F
    

    Notes:
    • Push2PassMaxTime can be set to 0 for unlimited use. Unfortunately it will display negative numbers for remaining time. Setting to negative values disables P2P (tried -1 and -3). Not retested since original post

    As always - if I've missed something, let me know!
     
    Last edited: Feb 25, 2023
    lemming77, Flipo, memoNo1 and 9 others like this.
  2. John R Denman

    John R Denman Registered

    Joined:
    Mar 18, 2018
    Messages:
    512
    Likes Received:
    630
    Nice.
    Are those Variables defined in the Engine Configurator from the Physics Worksheets?

    Push2PassHybridMap=0 // ??? Hybrid?!?! Definitely needed. In the F1 vernacular MGU-K's are in the future for Indycar and F1. That needs a separate table for power/harvest rates.

    Temp Boost and Power Demand were the only options I can assign with the IR-18. They may have released it to meet a deadline without having all the bugs worked out, a few minor ones have already been identified.
     
  3. Bill Worrel

    Bill Worrel Registered

    Joined:
    May 1, 2019
    Messages:
    456
    Likes Received:
    325
    The P2P rules in IndyCar have changed over the years and it looks like it can be configured to adapt to some of those rules.

    The rules for 2021 (and AFAIK 2022) restrict it to 150 or 200 seconds with unlimited usage and no minimum secs and a maximum of 15 or 20 seconds.

    And that's set by track restrictions in the upgrade.ini for the IR-18.
    Here's an example:
    UpgradeLevel="Barber"
    {
    HDV=[PUSH2PASS]
    HDV=Push2PassMaxTime=200
    HDV=Push2PassTimePerPush=20
    HDV=
    }
    UpgradeLevel="St. Petersburg"
    {
    HDV=[PUSH2PASS]
    HDV=Push2PassMaxTime=150
    HDV=Push2PassTimePerPush=15
    HDV=
    }

    Also in the upgrade are settings for the 3 oval configurations which are the same:
    HDV=[PUSH2PASS]
    HDV=Push2PassType=1
    HDV=Push2PassEngineMap=0
    HDV=Push2PassBoostMap=1
    HDV=Push2PassHybridMap=0
    HDV=Push2PassMaxTime=0
    HDV=Push2PassTimePerPush=0
    HDV=Push2PassHoldButton=0
    HDV=Push2PassMaxUses=0
    HDV=Push2PassThrottleRequired=1
    HDV=Push2PassMinStartSpeedKPH=-1.0
    HDV=Push2PassActivationsPerLap=0

    I don't know if there are restrictions somewhere that would support this IndyCar rule:
    We have something similar that restricts DRS until 2 laps after the start of the race.

    There was also a 5 second delay added in 2012: https://www.indycar.com/News/2012/07-July/7-31-Push-to-pass-includes-wrinkle
    I don't know if that can be supported.
     
  4. SharD

    SharD Registered

    Joined:
    Apr 17, 2019
    Messages:
    374
    Likes Received:
    437
    Where in the .HDV should this be placed?
     
  5. Lazza

    Lazza Registered

    Joined:
    Oct 5, 2010
    Messages:
    12,345
    Likes Received:
    6,572
    Anywhere. It's its own section - they can all be placed anywhere in the file, just need to have the parameters in the correct [section] of course.


    The funny part is I realised after posting this I'm rather late to the party; I found these parameters while discussing whether the p2p stuff was already in the game last week (when the controls appeared), and tried them in devmode yesterday. But as evidenced by Bill's post they're all laid out in the vehicle upgrades now anyway :p :oops: (I don't have the car!)
     
  6. Robin Pansar

    Robin Pansar Member

    Joined:
    May 20, 2018
    Messages:
    139
    Likes Received:
    107
    Anyone else been struggling to get hold button function to work?
    Tried:
    Push2PassHoldButton=1 // 1 should engage hold instead of toggle. Tried -1 as well
    Push2PassThrottleRequired=1 // Also tried with 0 and -1

    No luck getting it to work. Toggle works perfectly fine with and without a throttle threshold.
     
  7. Coutie

    Coutie Moderator Staff Member

    Joined:
    Oct 5, 2010
    Messages:
    3,779
    Likes Received:
    2,241
    Something I thought of, are you using a button on your wheel? Some of my buttons are just a single pulse, maybe that's what you have it mapped to.
     
  8. Robin Pansar

    Robin Pansar Member

    Joined:
    May 20, 2018
    Messages:
    139
    Likes Received:
    107
    Tested with both wheel and keyboard. Looking in the wheel profile, when I hold the button I've mapped it shows as activated, so doubt it's any issue with equipment.
     
  9. Raintyre

    Raintyre Registered

    Joined:
    Jul 28, 2013
    Messages:
    226
    Likes Received:
    187

    Did you try with '2'?

    Push2PassThrottleRequired=2
     
  10. Raintyre

    Raintyre Registered

    Joined:
    Jul 28, 2013
    Messages:
    226
    Likes Received:
    187
    Thanks for your efforts, Lazza.
    Which tracks are suitable to test this?
     
  11. Robin Pansar

    Robin Pansar Member

    Joined:
    May 20, 2018
    Messages:
    139
    Likes Received:
    107
    Tried, didn't work.
    I believe Push2PassThrottleRequired is only 1 or 0. Where 1 is a throttle threshold that you have to be over to activate P2P. Not tested ex. 0.5 yet to see if you can set custom throttle thresholds, which would be sweet.

    Meanwhile, I've done an interpretation of this new feature and applied it to get closer to hybrid simulation. Results are pretty neat.
    I set it up to have a similar behaviour to the MGU-K deploy. Since IRL is a bit more advanced with different deploy maps, I didn't fuss around and simplified it with power from ICE only (P2P deactivated) and full power from MGU-K (P2P activated).

    Although this power delivery could be recreated before, you were very limited on how you could restrict it. It was either via fuel or engine wear, but now you can do it in many other ways. For this project, I ended with only a total time limit. A second limit that counts usage per lap would've been optimal to loosely simulate draining of a battery since that's a possibility on certain tracks.
    I fudged some numbers with references from the Mercedes W12 in iRacing and ended up with a basic calculation to somewhat limit the P2P deploy for a full race, but still allow a hefty usage to represent real life. P2P usage per lap / Total laps
    Again, very basic, but it gives you a whole lot of strategic plays with management under a full race.

    How does it look over a lap? In the picture below you can see how it works via the boost map. The P2P channel is custom made that starts to count whenever Turbo Boost Pressure is over a certain value and resets for every lap. If you look at the P2P channel trace, you can see in this example that a throttle threshold is set. This feature helps massively on corner exits, but for lap time it will reduce the potential slightly since you can very likely handle more power available. And it takes some time to press the button to activate the P2P.
    [​IMG]
    Qualifying lap from Monza

    A couple of qualifying laps for your viewing pleasure:
    Monza
    Spa
    Zandvoort
    Silverstone
     
    Ricardo Diz and Bill Worrel like this.
  12. Lazza

    Lazza Registered

    Joined:
    Oct 5, 2010
    Messages:
    12,345
    Likes Received:
    6,572
    @Robin Pansar I've really not tested anything since my initial test run, but I'd very much expect the required throttle to be a fraction (0.0-1.0) rather than a switch. But, 1 is probably logical for many uses - if you aren't at full throttle it's probably because you're traction limited. You sure you want extra power? :D

    For more subtle uses though, a fraction may be more practical. (I imagine if you set it to hold, and the driver starts holding the button "too early", the p2p will still activate once the throttle threshold is reached)
     
  13. MileSeven

    MileSeven Registered

    Joined:
    Apr 1, 2014
    Messages:
    650
    Likes Received:
    244
    @Lazza - I’ve managed to get p2p working on a naturally aspirated engine based on your posted settings above, thanks. I’ve set the engine.ini to have two fuel maps - but for the user to be unable to change these in-car - so they can only benefit via the p2p button…

    Testing in dev-mode is a bit tedious though - it’s kind-of ok in an NA-engined car as you can see the torque and power limit change with p2p - but I was getting nowhere trying to get to grips with a turbo engine. Am I correct in finding that fuel/boost maps etc. are unavailable via the DAMPlugin? Boost-pressure obviously is - but that doesn’t necessarily help identify if the correct settings are applied by p2p.

    I haven’t yet looked at what’s available via the sharedmemorymap that SimHub can hook into (mainly as I’m back on VR and don’t regularly use my dash). Maybe that’d be a fruitful area of investigation…
     
    Raintyre likes this.
  14. MileSeven

    MileSeven Registered

    Joined:
    Apr 1, 2014
    Messages:
    650
    Likes Received:
    244
    @Raintyre - in my testing, p2p works everywhere using @Lazza ’s settings. I’ve (mostly) been testing in the shonky old Skidpan v0.21 as it’s got a lovely (semi hidden) extreme straight. The track-specific upgrade.ini settings Bill mentioned do not seem to be a base requirement.
     
    Bill Worrel and Raintyre like this.
  15. Robin Pansar

    Robin Pansar Member

    Joined:
    May 20, 2018
    Messages:
    139
    Likes Received:
    107
    I've not checked the throttle threshold yet either, but will do that some day this week.

    I'd say it depends on the power difference between having it activated or not. If the gap is big the power potential with no P2P can be too low, which means that you are throwing away exit speed potential. If you take tyre deg into account, less power has some more worth, but the higher the driver skill, the easier throttle control becomes, which makes it easier to maximize the traction available whilst managing tyre deg. In the end we might not talk about a big advantage in terms of lap time, but on a quali lap, free .05 is golden if competition is tight.

    I found the opposite. Doing it via turbo/boost map you have it way easier to control power and fuel. With mixture, you will be connected to the FuelAirMixtureTable which can complicate things if the car already has mixtures that you want to keep.

    With the boost map you generally just have to change BoostEffects to control extra rpm per boost map, fuel and wear increase, and BoostTurboPressure to control base pressure and pressure increase per map.

    To observe the torque/power curve in realtime, you can just cycle through the displays by pressing Ctrl+U. (dev-mode only)

    You can get the fuel flow in Motec via the DAMPlugin with this calculation:
    derivative(-'Fuel Level' [l],0.1)

    Boost map you can create yourself if you know what kind of range of boost pressure each map is at.

     
    Bill Worrel likes this.
  16. Cosmo

    Cosmo Registered

    Joined:
    Feb 18, 2022
    Messages:
    7
    Likes Received:
    14
    Here's what I've deduced so far from some testing.
    Code:
    [PUSH2PASS]
    Push2PassType=0 // Whether the push to pass alters the engine (0) or turbo (1) map.
    Push2PassEngineMap=0 // Which engine mixture map to use if PushToPassType=0.
    Push2PassBoostMap=0 // Which turbo mixture map to use if PushToPassType=1.
    Push2PassHybridMap=0 // Likely not implemented yet, reserved for future content that uses it maybe, or a combo of both above settings?
    Push2PassThrottleRequired=0 // Minimum throttle percent needed to activate/maintain P2P.
    Push2PassMinStartSpeedKPH=20 // Minimum speed required to activate P2P.
    Push2PassHoldButton=0 // This currently does not work, but I believe value 1 means P2P button must be held to continue P2P use.
    Push2PassMaxUses=5 // How many times the P2P can be used in total.
    Push2PassTimePerPush=10 //  How many seconds the P2P can be used for each activation.
    Push2PassMaxTime=50 // Maximum total P2P time usage.
    Push2PassActivationsPerLap=2 // How many times the P2P can be used per lap.
    Push2PassInRace=1 // Whether P2P can be used in race.
    Push2PassInQuali=1 // Whether P2P can be used in qualifying.
    Push2PassInWarmup=1 // Whether P2P can be used in warmup.
    Push2PassInPractice=1 // Whether P2P can be used in practice.
    
     
    MileSeven, Lazza and PatientRF2fan like this.
  17. Lazza

    Lazza Registered

    Joined:
    Oct 5, 2010
    Messages:
    12,345
    Likes Received:
    6,572
    Yep, so I definitely got the Push2PassTimePerPush wrong, that's a maximum duration per push (obviously important when activations per lap > 0).

    And contrary to my opinion earlier with @Robin Pansar , Push2PassThrottleRequired looks to be a switch (0 or 1; false and true don't resolve correctly). Anything >=0.50 deactivates P2P at something like 80% throttle, 0.49 and below means throttle has no effect on duration. There's no fine tuning available, though again that really makes sense anyway (to automatically activate P2P during progressive throttle application in a traction limited scenario would be like the most abrupt turbo lag ever).

    Push2PassHoldButton eludes me. Looks like anything other than false/0 just makes activation immediately fail, so no time is used and it announces P2P is deactivated. Various combinations of other settings have so far failed to achieve anything else.

    And on that note, I'll go delete the 40 odd motec logs I've just created while playing with this...
     
    davehenrie likes this.
  18. davehenrie

    davehenrie Registered

    Joined:
    Jul 6, 2016
    Messages:
    7,453
    Likes Received:
    4,369
    Perhaps you guys can cobble together a finalized list for the mod makers?
     
  19. Lazza

    Lazza Registered

    Joined:
    Oct 5, 2010
    Messages:
    12,345
    Likes Received:
    6,572
    mod makers are very adept at cobbling together their own stuff, otherwise they wouldn't still be modding. So don't worry, what we have here is more than enough :D
     
    davehenrie likes this.
  20. Chris Lesperance

    Chris Lesperance Registered

    Joined:
    Nov 29, 2012
    Messages:
    1,294
    Likes Received:
    2,061
    I really hope that S397 is reading and hopefully have some real documentation for this. I'm away at the moment for work, but I would like to get this added properly to the Panoz DP-01.
     

Share This Page