Page 3 of 6 FirstFirst 123456 LastLast
Results 41 to 60 of 102

Thread: Failed MAF = Intermittent Stumble

  1. #41
    Quote Originally Posted by GHuggins View Post
    Maybe I should have worded differently instead of grouping everything together. Will the rpm settings be available via xdf and do they just need to be the same as the dyn settings? Added the last part but it just came up as another possible question
    Seems these hidden fuel thresholds override the DynAir disable threshold.

    Setting DynAir disable to 400rpm = HiSpeed AirCalc full time (the ?MAF only? tune).

    Setting DynAir disable to 8000rpm = Normal (or NormalTrns if stuck) until ~4000rpm, then still switching to HiSpeed.

    Setting DynAir disable to 8000rpm ?should? keep the AirCalc in Normal full time, but something is still forcing the change to HiSpeed.

    Maybe DynAir disable can only be equal or below the fuel thresholds? Maxing out for SD produces one of the VVE bugs?

    On the topic of another thread, these fuel thresholds might be the cause for loss of transients above ~4000rpm? Transients being tied to either the ?Fast? or ?Slow? fuel calc (whichever is used below 4000rpm)?
    2017 HSV Clubsport R8 LSA 30th Anniversary M6 - GMM triple-step headers, Cat delete, Stock HSV catback, Harrop pod intake, ID1050X injectors, KB BAP, 2.35" Griptec pulley w/ Gates RPM belt, FII blower & lid spacers, FII reservoir, Mantic 9000 ceramic clutch, Elite Eng. catch can, AEM 30-0334 wideband

  2. #42
    Tuning Addict
    Join Date
    Jan 2015
    Location
    Franklin, NC / Gainesville, Ga
    Posts
    6,803
    Quote Originally Posted by L1FTD View Post
    Seems these hidden fuel thresholds override the DynAir disable threshold.

    Setting DynAir disable to 400rpm = HiSpeed AirCalc full time (the ?MAF only? tune).

    Setting DynAir disable to 8000rpm = Normal (or NormalTrns if stuck) until ~4000rpm, then still switching to HiSpeed.

    Setting DynAir disable to 8000rpm ?should? keep the AirCalc in Normal full time, but something is still forcing the change to HiSpeed.

    Maybe DynAir disable can only be equal or below the fuel thresholds? Maxing out for SD produces one of the VVE bugs?

    On the topic of another thread, these fuel thresholds might be the cause for loss of transients above ~4000rpm? Transients being tied to either the ?Fast? or ?Slow? fuel calc (whichever is used below 4000rpm)?
    Sounds like you've done quite a bit more digging into this. This is also why I was asking if these settings would be available via xdf's and if they needed to be set identical to the dyn settings at all times. This way as long as you have user defined we would be able to change these settings ourselves. It would really be better if hpt would just put them into every calibration, but let's face facts - that's not going to happen anymore. This would also make things a little easier for those that don't have user defined access. All they would need to do is set the dyn settings to OE. There are also newer turbo cals from factory that have dyn set to 7000, so maybe Verlon could look at one of those to know how things need to be set?
    2010 Vette Stock Bottom LS3 - LS2 APS Twin Turbo Kit, Trick Flow Heads and Custom Cam - 12psi - 714rwhp and 820rwtq / 100hp Nitrous Shot starting at 3000 rpms - 948rwhp and 1044rwtq still on 93
    2011 Vette Cam Only Internal Mod in stock LS3 -- YSI @ 18psi - 811rwhp on 93 / 926rwhp on E60 & 1008rwhp with a 50 shot of nitrous all through a 6L80

    ~Greg Huggins~
    Remote Tuning Available at gh[email protected]
    Mobile Tuning Available for North Georgia and WNC

  3. #43
    Tuner
    Join Date
    Oct 2014
    Location
    Moscow, Russia
    Posts
    198
    Quote Originally Posted by L1FTD View Post
    Seems these hidden fuel thresholds override the DynAir disable threshold.

    Setting DynAir disable to 400rpm = HiSpeed AirCalc full time (the ?MAF only? tune).

    Setting DynAir disable to 8000rpm = Normal (or NormalTrns if stuck) until ~4000rpm, then still switching to HiSpeed.

    Setting DynAir disable to 8000rpm ?should? keep the AirCalc in Normal full time, but something is still forcing the change to HiSpeed.

    Maybe DynAir disable can only be equal or below the fuel thresholds? Maxing out for SD produces one of the VVE bugs?

    On the topic of another thread, these fuel thresholds might be the cause for loss of transients above ~4000rpm? Transients being tied to either the ?Fast? or ?Slow? fuel calc (whichever is used below 4000rpm)?
    I've done similar thing today.
    Have tested AirCalc Mode with different settings and can't get it stuck in NormalTrns. May be not all OSes affected.
    2011 Cadillac Escalade L94 w/LS3 valves and valve springs

  4. #44
    Quote Originally Posted by verlon View Post
    I've done similar thing today.
    Have tested AirCalc Mode with different settings and can't get it stuck in NormalTrns. May be not all OSes affected.
    Ok, yes maybe just certain OS for this 'bug'.

    Was thinking the way the MAF is failed as well? My MAF is de-pinned, so I'm never going to get any signal. Maybe cars that are put into VVE/SD via DynAir thresholds only, and still have a MAF signal, don't get stuck in NormalTrns?

    Didn't matter if my DynAir thresholds were stock or maxed, I'd still get NormalTrns. Maybe the HPT air patch is there for cars with no physical MAF, or MAF de-pinned?

    Would be good to see logs/screenshots of multiple cars at the point where they get the stumble. If they're all in NormalTrns when they stumble, could be the clear culprit.

    Quote Originally Posted by GHuggins View Post
    Sounds like you've done quite a bit more digging into this. This is also why I was asking if these settings would be available via xdf's and if they needed to be set identical to the dyn settings at all times. This way as long as you have user defined we would be able to change these settings ourselves. It would really be better if hpt would just put them into every calibration, but let's face facts - that's not going to happen anymore. This would also make things a little easier for those that don't have user defined access. All they would need to do is set the dyn settings to OE. There are also newer turbo cals from factory that have dyn set to 7000, so maybe Verlon could look at one of those to know how things need to be set?
    I'd also read (I'm sure you're aware too), something about the ECM processing power and the need to switch to slower processing rate at higher RPM.

    Could be the reason we're forced into HiSpeed (slower processing) regardless of DynAir thresholds.

    My current theory is there's two VVE/SD 'bugs'. One for getting stuck in NormalTrns, and one for taking the DynAir thresholds above the hidden fuel/processing thresholds.

    Could be a case of making a clear choice on which way to tune the car. If you want VVE/SD only; de-pin the MAF, or fail MAF via frequency only, leave DynAir stock, and apply HPT SD air patch (gets rid of NormalTrns). If you want blended, don't raise the DynAir thresholds above stock (or change them at all).

    Wonder if the newer turbo cals stay in 'Normal' AirCalc state until 7000rpm? Or even they switch to HiSpeed at a hidden RPM too?
    Last edited by L1FTD; 12-10-2023 at 03:58 AM.
    2017 HSV Clubsport R8 LSA 30th Anniversary M6 - GMM triple-step headers, Cat delete, Stock HSV catback, Harrop pod intake, ID1050X injectors, KB BAP, 2.35" Griptec pulley w/ Gates RPM belt, FII blower & lid spacers, FII reservoir, Mantic 9000 ceramic clutch, Elite Eng. catch can, AEM 30-0334 wideband

  5. #45
    Tuning Addict
    Join Date
    Jan 2015
    Location
    Franklin, NC / Gainesville, Ga
    Posts
    6,803
    Quote Originally Posted by L1FTD View Post
    I'd also read (I'm sure you're aware too), something about the ECM processing power and the need to switch to slower processing rate at higher RPM. Only ever run into this issue on gen 5's but they have a lot of voltage controlled items at play. You can actually cause this "VE Bug" on them by 0ing out the prediction coefficients. You can literally watch them "lock up" while logging them. When they "lock up" this VE bug takes place causing things to jump out of whack for a second just like they do on the gen 4's.

    Could be a case of making a clear choice on which way to tune the car. If you want VVE/SD only; de-pin the MAF, or fail MAF via frequency only, leave DynAir stock, and apply HPT SD air patch (gets rid of NormalTrns). If you want blended, don't raise the DynAir thresholds above stock (or change them at all) This is actually how I normally fail them. I've never understood peoples reasoning for raising or changing the dyn settings if running in SD mode. Once the MAF is failed it should be ignoring these settings as the MAF should be out of the equation - even though it never is for a lot of the calculations - different subject altogether though and still has nothing to do with the dyn settings. I leave them stock or low and haven't had a problem. In fact a lot of the time I'll set them to 100% MAF so it'll fail the MAF while cranking a little easier.

    Wonder if the newer turbo cals stay in 'Normal' AirCalc state until 7000rpm? Or even they switch to HiSpeed at a hidden RPM too? Haven't paid attention, but will now - the gen 5 factory turbo cars are the ones that have them set this way.
    2010 Vette Stock Bottom LS3 - LS2 APS Twin Turbo Kit, Trick Flow Heads and Custom Cam - 12psi - 714rwhp and 820rwtq / 100hp Nitrous Shot starting at 3000 rpms - 948rwhp and 1044rwtq still on 93
    2011 Vette Cam Only Internal Mod in stock LS3 -- YSI @ 18psi - 811rwhp on 93 / 926rwhp on E60 & 1008rwhp with a 50 shot of nitrous all through a 6L80

    ~Greg Huggins~
    Remote Tuning Available at gh[email protected]
    Mobile Tuning Available for North Georgia and WNC

  6. #46
    Great stuff!!

    Can only imagine Gen5 is exponentially harder to get a tune lined up if you're looking to optimize all areas. HPT is good, but all the hidden tables etc. make it a bit of a guessing game when trying to tune away from how the car was intended to run OEM.

    Hopefully the forum never dies, or removes old threads. Issues from 10+yrs ago have still been relevant for me today. The old threads are just about all the support you can get on some of the finer details. 'New' issues pop up, but they might've actually been fixed a long time back and the method forgotten.

    Anyway, 3hrs of driving the last few days, all the same roads/speeds/conditions. No stumbles or high rpm cuts, smoother than ever. Appears, in my case, getting rid of NormalTrns and putting DynAir back to stock has cleared the bugs up.

    Last remaining issue is the LSA lean spots (1600 & 2600rpm)!

    Many thanks to Verlon, Cringer, GHuggins, and all the expert tuners on here!
    2017 HSV Clubsport R8 LSA 30th Anniversary M6 - GMM triple-step headers, Cat delete, Stock HSV catback, Harrop pod intake, ID1050X injectors, KB BAP, 2.35" Griptec pulley w/ Gates RPM belt, FII blower & lid spacers, FII reservoir, Mantic 9000 ceramic clutch, Elite Eng. catch can, AEM 30-0334 wideband

  7. #47
    Tuner
    Join Date
    Oct 2014
    Location
    Moscow, Russia
    Posts
    198
    Quote Originally Posted by L1FTD View Post
    Ok, yes maybe just certain OS for this 'bug'.

    Was thinking the way the MAF is failed as well? My MAF is de-pinned, so I'm never going to get any signal. Maybe cars that are put into VVE/SD via DynAir thresholds only, and still have a MAF signal, don't get stuck in NormalTrns?

    Didn't matter if my DynAir thresholds were stock or maxed, I'd still get NormalTrns. Maybe the HPT air patch is there for cars with no physical MAF, or MAF de-pinned?
    I haven't de-pinned MAF, just failed it via low/high frequency and zeroed out MAF curve.

    It's a good idea to remove pin, will try next time.

  8. #48
    Senior Tuner
    Join Date
    Nov 2006
    Posts
    2,742
    Quote Originally Posted by verlon View Post
    I've done similar thing today.
    Have tested AirCalc Mode with different settings and can't get it stuck in NormalTrns. May be not all OSes affected.
    2007-2009 seem to do it the worst for me. But other still can.

    A 2008 trailblazer SS does it quite a bit.
    Tuner at PCMofnc.com
    Email tuning!!!, Mail order, Dyno tuning, Performance Parts, Electric Fan Kits, 4l80e swap harnesses, 6l80 -> 4l80e conversion harnesses, Installs

  9. #49
    Senior Tuner
    Join Date
    Nov 2006
    Posts
    2,742
    Quote Originally Posted by verlon View Post
    I haven't de-pinned MAF, just failed it via low/high frequency and zeroed out MAF curve.

    It's a good idea to remove pin, will try next time.
    The VVE bug will show up with a MAF plugged in. Just FYI
    Tuner at PCMofnc.com
    Email tuning!!!, Mail order, Dyno tuning, Performance Parts, Electric Fan Kits, 4l80e swap harnesses, 6l80 -> 4l80e conversion harnesses, Installs

  10. #50
    Advanced Tuner Cringer's Avatar
    Join Date
    Aug 2021
    Location
    Somewhere smoothing your VVE table
    Posts
    513
    Quote Originally Posted by Alvin View Post
    The VVE bug will show up with a MAF plugged in. Just FYI

    I have noted the same.
    Failed MAF and still plugged into harness = fuel spikes
    Removed MAF with IAT breakout harness = fuel spikes
    A standard approach will give you standard results.

    My Tuning Software:

    VVE Assistant [update for v1.5]
    MAF Assistant
    EOIT Assistant

  11. #51
    Tuner
    Join Date
    Oct 2014
    Location
    Moscow, Russia
    Posts
    198
    Quote Originally Posted by Alvin View Post
    The VVE bug will show up with a MAF plugged in. Just FYI
    VVE Bug have been solved. And I can confirm Cringer observation that idle surges are gone too.
    Now I'm trying to reproduce NormalTrns stuck.
    2011 Cadillac Escalade L94 w/LS3 valves and valve springs

  12. #52
    Tuning Addict
    Join Date
    Jan 2015
    Location
    Franklin, NC / Gainesville, Ga
    Posts
    6,803
    I know you have a lot going on right now Verlon with this and the CTSV issue, but now I'm curious... Does this code issue exist in the fifth gens too? They suffer a lot from idle issues with bigger tb's, so was just curious.
    2010 Vette Stock Bottom LS3 - LS2 APS Twin Turbo Kit, Trick Flow Heads and Custom Cam - 12psi - 714rwhp and 820rwtq / 100hp Nitrous Shot starting at 3000 rpms - 948rwhp and 1044rwtq still on 93
    2011 Vette Cam Only Internal Mod in stock LS3 -- YSI @ 18psi - 811rwhp on 93 / 926rwhp on E60 & 1008rwhp with a 50 shot of nitrous all through a 6L80

    ~Greg Huggins~
    Remote Tuning Available at gh[email protected]
    Mobile Tuning Available for North Georgia and WNC

  13. #53
    Tuner
    Join Date
    Oct 2014
    Location
    Moscow, Russia
    Posts
    198
    Quote Originally Posted by GHuggins View Post
    I know you have a lot going on right now Verlon with this and the CTSV issue, but now I'm curious... Does this code issue exist in the fifth gens too? They suffer a lot from idle issues with bigger tb's, so was just curious.
    Gen5 doesn't have one.
    2011 Cadillac Escalade L94 w/LS3 valves and valve springs

  14. #54
    Tuning Addict
    Join Date
    Jan 2015
    Location
    Franklin, NC / Gainesville, Ga
    Posts
    6,803
    OK, so lots of air, fuel and torque tuning then. Thank You... Be nice if all tb companies ported or did the same work to them so they weren't so different brand to brand and size to size. Oh well... Then just make sure to never 0 out the prediction coefficients on them too.
    2010 Vette Stock Bottom LS3 - LS2 APS Twin Turbo Kit, Trick Flow Heads and Custom Cam - 12psi - 714rwhp and 820rwtq / 100hp Nitrous Shot starting at 3000 rpms - 948rwhp and 1044rwtq still on 93
    2011 Vette Cam Only Internal Mod in stock LS3 -- YSI @ 18psi - 811rwhp on 93 / 926rwhp on E60 & 1008rwhp with a 50 shot of nitrous all through a 6L80

    ~Greg Huggins~
    Remote Tuning Available at gh[email protected]
    Mobile Tuning Available for North Georgia and WNC

  15. #55
    Advanced Tuner
    Join Date
    Feb 2018
    Posts
    824
    Quote Originally Posted by L1FTD View Post
    Great stuff!!

    Can only imagine Gen5 is exponentially harder to get a tune lined up if you're looking to optimize all areas. HPT is good, but all the hidden tables etc. make it a bit of a guessing game when trying to tune away from how the car was intended to run OEM.

    Hopefully the forum never dies, or removes old threads. Issues from 10+yrs ago have still been relevant for me today. The old threads are just about all the support you can get on some of the finer details. 'New' issues pop up, but they might've actually been fixed a long time back and the method forgotten.

    Anyway, 3hrs of driving the last few days, all the same roads/speeds/conditions. No stumbles or high rpm cuts, smoother than ever. Appears, in my case, getting rid of NormalTrns and putting DynAir back to stock has cleared the bugs up.

    Last remaining issue is the LSA lean spots (1600 & 2600rpm)!

    Many thanks to Verlon, Cringer, GHuggins, and all the expert tuners on here!

    I'd be forever in your debt if you could figure out those ctsv/lsa 1600 and 2600 rpm lean spots....lol and why some of us have it and others don't (unless they do have it and don't realize it)

  16. #56
    Tuner
    Join Date
    Oct 2014
    Location
    Moscow, Russia
    Posts
    198
    Ok, it's time to reveal nature of the VVE Bug.

    Gen4 ECM uses VE for calculation of the 4 things:
    - SD airmass (Actual MAP)
    - maximum reachable airmass (Max Reachable MAP = BARO + MaxPossibleBoost)
    - Diag MAP Model 1 (estimation of MAP to match Engine Airflow and Throttle Airflow)
    - Diag MAP Model 2 (estimation of MAP to match Engine Airflow and MAF Sensor)
    All 4 VE calculations uses different MAPs and current engine speed.

    Those calculations is grouped and executed in different tasks. Yes, ECM and TCM utilizes multitasking OSes.
    SD Airmass and MaxReachable Airmass is calculated in one group in the cylinder event task (once per cylinder event).
    Diag MAP Models is calculated in another group in one of the the periodical tasks (80 Hz or every 12.5ms).
    Due to complete asynchrony of those tasks it a matter of time that tasks have to be executed simultaneously (i.e. to interrupt one another) and this is absolutely normal in the multitasking environment if the code is well organized and special care taken for critical sections. But as you can already anticipate it is not.

    VVE calculation routine at first collects all VE terms from the tables using current IMTV position and DoD mode and then do math. All VE terms except one are stored in processor registers, but MAP^2 term is stored in a global memory variable. When the "lucky" chance comes cylinder event task is interrupted at right moment when MAP^2 term is stored and 80Hz peridocal task executes its own VE calculation then this variable contains MAP^2 term from the Dynamic Airflow Zone corresponding to Diag MAP Model 2 which may be different, but most of the time they are the same.

    When we are disconnecting MAF it shows zero flow and MAP Model 2 drops to the minimum allowed value ([ECM] 34972 - MAP Estimated Min: Estimated minimum MAP value) which is 10 kPa in order to achieve zero Engine Airflow. This gradually rises the chance for VVE spike because now Zone for Actual MAP and Zone for MAP Model 2 can be equal only on the coast.

    If we get back to Cringer's most indicative log
    Quote Originally Posted by Cringer View Post
    I would call out your attention to this one, it is another back to back occurrence.
    Attachment 140120
    It is now very easy to reproduce VVE spike calculation.

    Log just before spike
    1 log pre.png

    Correct VE, Actual MAP/RPM in Zone 7
    2 ve pre.png


    And now the spike
    3 log spike.png

    Corrupted VE with a MAP^2 term in Zone 7 taken from Zone 6
    4 ve spike.png

    As you can see calculated and logged VEs are very close.


    What can be done to get rid of the spikes?
    1. Patch OS so that MAP^2 term will be stored in a stack variable (which will be unique for each task) and not in the global memory. It requires modification of only 4 instructions of the VVE calculation routine.
    2. Completely zero out [ECM] 13410 MAP^2 table so that even when VVE Bug fires MAP^2 term remains the same (zero). In this case VE will look much worse and will loose smoothness but this is still a working solution. This will require creation of the special tool to convert VE. Simple zeroing-out of the [ECM] 13410 table will corrupt VE.

    It is known for sure that all E38 and E67 OSes are affected. E37 is very likely affected too but that have to be confirmed.
    2011 Cadillac Escalade L94 w/LS3 valves and valve springs

  17. #57
    Advanced Tuner Cringer's Avatar
    Join Date
    Aug 2021
    Location
    Somewhere smoothing your VVE table
    Posts
    513
    Quote Originally Posted by verlon View Post
    Ok, it's time to reveal nature of the VVE Bug.

    Gen4 ECM uses VE for calculation of the 4 things:
    - SD airmass (Actual MAP)
    - maximum reachable airmass (Max Reachable MAP = BARO + MaxPossibleBoost)
    - Diag MAP Model 1 (estimation of MAP to match Engine Airflow and Throttle Airflow)
    - Diag MAP Model 2 (estimation of MAP to match Engine Airflow and MAF Sensor)
    All 4 VE calculations uses different MAPs and current engine speed.

    Those calculations is grouped and executed in different tasks. Yes, ECM and TCM utilizes multitasking OSes.
    SD Airmass and MaxReachable Airmass is calculated in one group in the cylinder event task (once per cylinder event).
    Diag MAP Models is calculated in another group in one of the the periodical tasks (80 Hz or every 12.5ms).
    Due to complete asynchrony of those tasks it a matter of time that tasks have to be executed simultaneously (i.e. to interrupt one another) and this is absolutely normal in the multitasking environment if the code is well organized and special care taken for critical sections. But as you can already anticipate it is not.

    VVE calculation routine at first collects all VE terms from the tables using current IMTV position and DoD mode and then do math. All VE terms except one are stored in processor registers, but MAP^2 term is stored in a global memory variable. When the "lucky" chance comes cylinder event task is interrupted at right moment when MAP^2 term is stored and 80Hz peridocal task executes its own VE calculation then this variable contains MAP^2 term from the Dynamic Airflow Zone corresponding to Diag MAP Model 2 which may be different, but most of the time they are the same.

    When we are disconnecting MAF it shows zero flow and MAP Model 2 drops to the minimum allowed value ([ECM] 34972 - MAP Estimated Min: Estimated minimum MAP value) which is 10 kPa in order to achieve zero Engine Airflow. This gradually rises the chance for VVE spike because now Zone for Actual MAP and Zone for MAP Model 2 can be equal only on the coast.

    If we get back to Cringer's most indicative log


    It is now very easy to reproduce VVE spike calculation.

    Log just before spike
    1 log pre.png

    Correct VE, Actual MAP/RPM in Zone 7
    2 ve pre.png


    And now the spike
    3 log spike.png

    Corrupted VE with a MAP^2 term in Zone 7 taken from Zone 6
    4 ve spike.png

    As you can see calculated and logged VEs are very close.


    What can be done to get rid of the spikes?
    1. Patch OS so that MAP^2 term will be stored in a stack variable (which will be unique for each task) and not in the global memory. It requires modification of only 4 instructions of the VVE calculation routine.
    2. Completely zero out [ECM] 13410 MAP^2 table so that even when VVE Bug fires MAP^2 term remains the same (zero). In this case VE will look much worse and will loose smoothness but this is still a working solution. This will require creation of the special tool to convert VE. Simple zeroing-out of the [ECM] 13410 table will corrupt VE.

    It is known for sure that all E38 and E67 OSes are affected. E37 is very likely affected too but that have to be confirmed.
    Wow nice work! We all applaud your work in this!

    Did you do all this analysis in assembler or is there an option to view in a higher level language?

    I could see modifying my VVE Assistant to calc coefficients based on a modified formula that drops the MAP^2 term out. The only downside I can see is that the overall VVE shape would become less smooth by loosing one of the terms. I may experiment...
    A standard approach will give you standard results.

    My Tuning Software:

    VVE Assistant [update for v1.5]
    MAF Assistant
    EOIT Assistant

  18. #58
    Senior Tuner
    Join Date
    Nov 2006
    Posts
    2,742
    Quote Originally Posted by verlon View Post
    Ok, it's time to reveal nature of the VVE Bug.

    Gen4 ECM uses VE for calculation of the 4 things:
    - SD airmass (Actual MAP)
    - maximum reachable airmass (Max Reachable MAP = BARO + MaxPossibleBoost)
    - Diag MAP Model 1 (estimation of MAP to match Engine Airflow and Throttle Airflow)
    - Diag MAP Model 2 (estimation of MAP to match Engine Airflow and MAF Sensor)
    All 4 VE calculations uses different MAPs and current engine speed.

    Those calculations is grouped and executed in different tasks. Yes, ECM and TCM utilizes multitasking OSes.
    SD Airmass and MaxReachable Airmass is calculated in one group in the cylinder event task (once per cylinder event).
    Diag MAP Models is calculated in another group in one of the the periodical tasks (80 Hz or every 12.5ms).
    Due to complete asynchrony of those tasks it a matter of time that tasks have to be executed simultaneously (i.e. to interrupt one another) and this is absolutely normal in the multitasking environment if the code is well organized and special care taken for critical sections. But as you can already anticipate it is not.

    VVE calculation routine at first collects all VE terms from the tables using current IMTV position and DoD mode and then do math. All VE terms except one are stored in processor registers, but MAP^2 term is stored in a global memory variable. When the "lucky" chance comes cylinder event task is interrupted at right moment when MAP^2 term is stored and 80Hz peridocal task executes its own VE calculation then this variable contains MAP^2 term from the Dynamic Airflow Zone corresponding to Diag MAP Model 2 which may be different, but most of the time they are the same.

    When we are disconnecting MAF it shows zero flow and MAP Model 2 drops to the minimum allowed value ([ECM] 34972 - MAP Estimated Min: Estimated minimum MAP value) which is 10 kPa in order to achieve zero Engine Airflow. This gradually rises the chance for VVE spike because now Zone for Actual MAP and Zone for MAP Model 2 can be equal only on the coast.

    If we get back to Cringer's most indicative log


    It is now very easy to reproduce VVE spike calculation.

    Log just before spike
    1 log pre.png

    Correct VE, Actual MAP/RPM in Zone 7
    2 ve pre.png


    And now the spike
    3 log spike.png

    Corrupted VE with a MAP^2 term in Zone 7 taken from Zone 6
    4 ve spike.png

    As you can see calculated and logged VEs are very close.


    What can be done to get rid of the spikes?
    1. Patch OS so that MAP^2 term will be stored in a stack variable (which will be unique for each task) and not in the global memory. It requires modification of only 4 instructions of the VVE calculation routine.
    2. Completely zero out [ECM] 13410 MAP^2 table so that even when VVE Bug fires MAP^2 term remains the same (zero). In this case VE will look much worse and will loose smoothness but this is still a working solution. This will require creation of the special tool to convert VE. Simple zeroing-out of the [ECM] 13410 table will corrupt VE.

    It is known for sure that all E38 and E67 OSes are affected. E37 is very likely affected too but that have to be confirmed.
    Thank you very much!
    Tuner at PCMofnc.com
    Email tuning!!!, Mail order, Dyno tuning, Performance Parts, Electric Fan Kits, 4l80e swap harnesses, 6l80 -> 4l80e conversion harnesses, Installs

  19. #59
    Tuning Addict
    Join Date
    Jan 2015
    Location
    Franklin, NC / Gainesville, Ga
    Posts
    6,803
    So it is possible to then work around or fix this bug without the patch by 0ing out the map^2 table. You just have to have a tool to recalculate the VVE table to work with this modified table. Interesting... I assume with it 0ed out the VE table would still be shaped and tuned like normal? AND then does anything else in the coding reference that table so it would be possible to have a VVE table working off of the smaller number of coefficients?

    As always thank you Verlon!!!
    Last edited by GHuggins; 12-12-2023 at 02:11 PM.
    2010 Vette Stock Bottom LS3 - LS2 APS Twin Turbo Kit, Trick Flow Heads and Custom Cam - 12psi - 714rwhp and 820rwtq / 100hp Nitrous Shot starting at 3000 rpms - 948rwhp and 1044rwtq still on 93
    2011 Vette Cam Only Internal Mod in stock LS3 -- YSI @ 18psi - 811rwhp on 93 / 926rwhp on E60 & 1008rwhp with a 50 shot of nitrous all through a 6L80

    ~Greg Huggins~
    Remote Tuning Available at gh[email protected]
    Mobile Tuning Available for North Georgia and WNC

  20. #60
    Advanced Tuner Cringer's Avatar
    Join Date
    Aug 2021
    Location
    Somewhere smoothing your VVE table
    Posts
    513
    Quote Originally Posted by GHuggins View Post
    So it is possible to then work around or fix this bug without the patch by 0ing out the map^2 table. You just have to have a tool to recalculate the VVE table to work with this modified table. Interesting... I assume with it 0ed out the VE table would still be shaped and tuned like normal? AND then does anything else in the coding reference that table so it would be possible to have a VVE table working off of the smaller number of coefficients?

    As always thank you Verlon!!!

    The proposal would be to go from this equation:
    VVE Airmass = (ConstCoeff) + (MAPCoeff * MAP) + (MAP2Coeff * MAP^2) + (RPMCoeff * RPM) + (RPM2Coeff * RPM^2) + (MAP.RPMCoeff * MAP * RPM)

    To this equation:
    VVE Airmass = (ConstCoeff) + (MAPCoeff * MAP) + (0 * MAP^2) + (RPMCoeff * RPM) + (RPM2Coeff * RPM^2) + (MAP.RPMCoeff * MAP * RPM)

    Which simplifies to...
    VVE Airmass = (ConstCoeff) + (MAPCoeff * MAP) + (0) + (RPMCoeff * RPM) + (RPM2Coeff * RPM^2) + (MAP.RPMCoeff * MAP * RPM)

    Which simplifies to...
    VVE Airmass = (ConstCoeff) + (MAPCoeff * MAP) + (RPMCoeff * RPM) + (RPM2Coeff * RPM^2) + (MAP.RPMCoeff * MAP * RPM)

    Basically go from 6 to 5 coefficients. My concern is that now you are going to shape the VVE table with less resolution and the other 5 may not be able to pick up the slack effectively. The good news is that with VVE Asst. 1.5 I can define whatever equation I want, so I can force it to shape with 5 rather than 6 coefficients. I will see what I can see.
    Last edited by Cringer; 12-12-2023 at 04:19 PM.
    A standard approach will give you standard results.

    My Tuning Software:

    VVE Assistant [update for v1.5]
    MAF Assistant
    EOIT Assistant