julex
|
|
« Reply #150 on: February 08, 2012, 01:36:37 PM »
|
|
|
damn julex, if you are right - which from what you've written i think you are, this is a major major find bro...
Glad to help again. With CWLAMFAW set to 0 my car started self-regulating at WOT like nobody's business. I might go a bit lower on LAMBDA (lower AFR) as this was a first whack but my afr started at 13:0 at 4.5k with light knock and rode down to 11.5 which is my target at 7.2k... at the same time the retardation was controlled. I like it. I am not afraid to run out of meth now as high knock over -8 deg with douse the engine with 10.5:1 afr with current table.
|
|
|
Logged
|
|
|
|
s5fourdoor
|
|
« Reply #151 on: February 08, 2012, 01:54:07 PM »
|
|
|
just to verify, you are seeing it transisition off the LAMFA map and not the KFLBTS map? what was your model EGT at the time of the "now working functionality" doing the enrichment?
|
|
|
Logged
|
|
|
|
nyet
|
|
« Reply #152 on: February 08, 2012, 02:17:47 PM »
|
|
|
Right. In that case the diagram might be right. Assuming the retardation is considered negative, min function would return wkrma adjusted by dzwwl.
wait wait wait. so you're saying if this is right: 0: dzwlamfaw = min (0, min (0, dzwwl) + wkrma) 1: dzwlamfaw = min (0, dzwwl + wkrma) then if dzwwl is sufficiently positive, it will always cancel out wkrma when CWLAMFAW bit0 is 1, but it will get clamped to 0 when CWLAMFAW bit0 is 0, letting dzwlamfaw follow min(0, 0 + wkrma) rather than min(0,0)
|
|
|
Logged
|
ME7.1 tuning guideECUx PlotME7Sum checksumTrim heatmap toolPlease do not ask me for tunes. I'm here to help people make their own. Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your ex
|
|
|
julex
|
|
« Reply #153 on: February 08, 2012, 02:21:34 PM »
|
|
|
I shut off KFLBTS by raising its threshold model temp to 900C below which is doesn't intervene. I also adjusted the map to be more RS4 like where the richest point is significantly higher AFR (don't remember but I think I settled for 10.8 or so). RS4's values are much higher than that.
I reach 900C modeled temps if I do real long pull 5th or back to back in 4th. At this point the ATR would be about to kick in too triggered by EGT sensors so I figured a bit of pre-emptive intervention is in order.
I modified KFLAMKR so that it now has 0.0 row which makes it the driving force in lambda control. It has 6 ACTUAL load points (unlike LAMFA which has driver's requested load) at my disposal and allows me to set target lambda for any load, where it matters anyway.
Pretty cool stuff.
Tony was onto something pioneering use of this path.
|
|
|
Logged
|
|
|
|
julex
|
|
« Reply #154 on: February 08, 2012, 02:23:33 PM »
|
|
|
wait wait wait.
so you're saying if this is right:
0: dzwlamfaw = min (0, min (0, dzwwl) + wkrma) 1: dzwlamfaw = min (0, dzwwl + wkrma)
then if dzwwl is sufficiently positive, it will always cancel out wkrma when CWLAMFAW bit0 is 1, but it will get clamped to 0 when CWLAMFAW bit0 is 0, letting dzwlamfaw follow min(0, 0 + wkrma) rather than min(0,0)
I wish that was the case, however the logging with CWLAMFAW = 1 showed output of dzwlamfaw to be equal to a small fraction of wkrma, as per me log excerpts above. I can't really figure it out without somebody looking at assembly to figure out what's going on in there.
|
|
|
Logged
|
|
|
|
Tony@NefMoto
Administrator
Hero Member
Karma: +132/-4
Offline
Posts: 1389
2001.5 Audi S4 Stage 3
|
|
« Reply #155 on: February 08, 2012, 03:04:51 PM »
|
|
|
Pretty cool stuff.
Tony was onto something pioneering use of this path.
I just thought this was the right way to do it. Glad I didn't copy any of the tuners. Just spend five years looking at the assembly code without the OLS files, or the ME7 FR... Anyways, back on topic, I will try to go over the assembly code for this tonight and grab some more info for you guys.
|
|
|
Logged
|
|
|
|
NOTORIOUS VR
Administrator
Hero Member
Karma: +58/-7
Offline
Posts: 1056
|
|
« Reply #156 on: February 08, 2012, 03:50:12 PM »
|
|
|
wow this is crazy! nice find julex!
|
|
|
Logged
|
|
|
|
berTTos
Full Member
Karma: +24/-0
Offline
Posts: 91
|
|
« Reply #157 on: February 08, 2012, 03:59:35 PM »
|
|
|
great discussion gentlemen!
thanks for the great analysis Julex.
|
|
|
Logged
|
|
|
|
Matt Danger
Full Member
Karma: +17/-1
Offline
Posts: 116
|
|
« Reply #158 on: February 08, 2012, 04:18:51 PM »
|
|
|
Nice work Julex!
|
|
|
Logged
|
|
|
|
Tony@NefMoto
Administrator
Hero Member
Karma: +132/-4
Offline
Posts: 1389
2001.5 Audi S4 Stage 3
|
|
« Reply #159 on: February 09, 2012, 12:28:26 AM »
|
|
|
8D0907551M 002 CWLAMFAW is a byte located at 0x818ECB DZWWL is a signed byte located at 0x380DA5 Timing Offset Degrees 0.75 (positive numbers for advance, negative for retard) WKRMA is a unsigned byte located at 0xF9B3 Timing Retard Degrees 0.75 (postive numbers for retard) Here is the CWLAMFAW logic with the result of the equation being timing retard used for the table lookup: CWLAMFAW 0: (max(0, DZWWL) * -1) + WKRMA CWLAMFAW 1: min(0, (DZWWL * -1) + WKRMA) loc_859228: extp #206h, #1 movbz r4, CWLAMFAW and r4, #1 jmpr cc_Z, loc_859284 movb rl4, DZWWL cmpb rl4, #0 jmpr cc_SLE, DZWWL_LessThanOrEqualToZero cmpb rl4, WKRMA jmpr cc_ULE, loc_859248 movb KFLAMKRL, ZEROS jmpr cc_UC, loc_8592B8 ; -----------------------------------
loc_859248: movb rl4, DZWWL movb rl5, WKRMA subb rl5, rl4 jmpr cc_NC, loc_859256 movb rl5, #0
loc_859256: movb KFLAMKRL, rl5 jmpr cc_UC, loc_8592B8 ; -----------------------------------
DZWWL_LessThanOrEqualToZero: movb rl4, DZWWL cplb rl4 addb rl4, #1 movb rl5, WKRMA cmpb rl4, #0 jmpr cc_SLT, loc_859276 addb rl5, rl4 jmpr cc_NC, loc_85927E movb rl5, #0FFh jmpr cc_UC, loc_85927E ; -----------------------------------
loc_859276: negb rl4 subb rl5, rl4 jmpr cc_NC, loc_85927E movb rl5, #0
loc_85927E: movb DZWLAMFAW, rl5 jmpr cc_UC, loc_8592B8 ; -----------------------------------
loc_859284: movb rl4, DZWWL cmpb rl4, #0 jmpr cc_SGE, loc_859296 movb rl6, DZWWL cplb rl6 addb rl6, #1 jmpr cc_UC, loc_859298 ; -----------------------------------
loc_859296: movb rl6, #0
loc_859298: movb rl4, rl6 movb rl5, WKRMA ; Move Byte cmpb rl4, #0 jmpr cc_SLT, loc_8592AC addb rl5, rl4 jmpr cc_NC, loc_8592B4 movb rl5, #0FFh jmpr cc_UC, loc_8592B4 ; -----------------------------------
loc_8592AC: negb rl4 subb rl5, rl4 jmpr cc_NC, loc_8592B4 movb rl5, #0
loc_8592B4: movb DZWLAMFAW, rl5
loc_8592B8:
EDIT: I added a code block of the assembly code for the CWLAMFAW logic.
|
|
« Last Edit: February 09, 2012, 08:58:24 AM by Tony@NefMoto »
|
Logged
|
|
|
|
julex
|
|
« Reply #160 on: February 09, 2012, 07:52:26 AM »
|
|
|
Thanks Tony!
Looks like formula is nothing like either the diagram or notes under it. I will do some logging with dzwwl to see how it all plays out.
Thanks!
|
|
|
Logged
|
|
|
|
nyet
|
|
« Reply #161 on: February 09, 2012, 11:58:20 AM »
|
|
|
CWLAMFAW 0: (max(0, DZWWL) * -1) + WKRMA CWLAMFAW 1: min(0, (DZWWL * -1) + WKRMA)
Note that this is equivalent to CWLAMFAW 0: min(0, -DZWWL) + WKRMA CWLAMFAW 1: min(0, -DZWWL + WKRMA) ... i.e. the diagram, sans the surrounding min() for cwlamfaw 0, which is presumably unneeded if wkrma is always > 0 Interesting
|
|
« Last Edit: March 31, 2012, 11:12:48 AM by nyet »
|
Logged
|
ME7.1 tuning guideECUx PlotME7Sum checksumTrim heatmap toolPlease do not ask me for tunes. I'm here to help people make their own. Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your ex
|
|
|
robin
Full Member
Karma: +20/-1
Offline
Posts: 139
|
|
« Reply #162 on: February 09, 2012, 12:00:08 PM »
|
|
|
Great work guys. Looking forward to playing with this a bit later tonight.
|
|
|
Logged
|
|
|
|
nyet
|
|
« Reply #163 on: February 09, 2012, 12:37:34 PM »
|
|
|
Basically, 0 means "only let dzwwl retard dzwlamfaw" but 1 means "let dzwwl advance or retard dzwlamfaw"
sound right?
|
|
|
Logged
|
ME7.1 tuning guideECUx PlotME7Sum checksumTrim heatmap toolPlease do not ask me for tunes. I'm here to help people make their own. Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your ex
|
|
|
Tony@NefMoto
Administrator
Hero Member
Karma: +132/-4
Offline
Posts: 1389
2001.5 Audi S4 Stage 3
|
|
« Reply #164 on: February 09, 2012, 12:59:17 PM »
|
|
|
Basically, 0 means "only let dzwwl retard dzwlamfaw" but 1 means "let dzwwl advance or retard dzwlamfaw"
sound right?
That is my understanding as well.
|
|
|
Logged
|
|
|
|
|