Page 3 of 10 FirstFirst 12345678 ... LastLast
Results 31 to 45 of 150

Thread: Code: EGR and CTS conversions

  1. #31
    Administrator
    Join Date
    May 2011
    Location
    Lakes Region, NH
    Age
    54
    Posts
    3,862
    I would have more faith in the programmers to handle min and max. Yes, someone could have made a mistake but most of the time they handle the limits correctly.

  2. #32
    Fuel Injected! jim_in_dorris's Avatar
    Join Date
    Dec 2011
    Posts
    803
    Quote Originally Posted by 1project2many View Post
    I glanced through quickly last night and saw two jumps that ended with a save desired EGR%. Is the vacuum stuff after that?
    Okay, I will take a stab at this...

    at EB63, if the coolant value is below (LT) the threshold, it branches to LEBA5

    EB63: BLS LEBA5 ; BR IF COOL VAL LT THRESH

    then at EBA5 it clears the A register and does an uncoditional jump to LEC00

    EBA5: LEBA5 CLRA ;
    EBA6: JMP LEC00

    At EC00, it stores pct EGR at L0080 from the A register which we just cleared, so %EGR is zero...

    EC00: LEC00 STAA L0080 ; Pct EGR

    It then checks if Heads up is on line

    ;
    ; CK IF HEADS UP ON LINE
    ; EGR MOD
    ;
    EC02: LDAB L0000 ; STATUS MODE WD
    EC04: BITB #$02 ; b1
    EC06: BEQ LEC0B ; BR IF NOT b1
    ; ... else
    EC08: JSR L5806 ; GOTO HEADS UP <-------<<
    EC0B: LEC0B LDAB #160 ;
    EC0D: MUL ;
    EC0E: ADCA #$00 ;

    not real sure what heads up code is all about, but it ends up at EC10 which is VACUUM Limiter code . Follow along here to see if I do this correctly

    EC10: LDAB L0031 ; VACUUM
    EC12: CMPB #192 ; VAC LIMIT aprox 20 Kpa
    EC14: BCC LEC2D ; BR IF VAL VAL ...

    the code gets vacuum (I assume from the MAP sensor) at L0031, compares it to 20 Kpa, and branches to LEC2D if it is less.

    if it is more or equal, it compare the MAP sensor to 70 Kpa. If it is greater than 70 Kpa, it limits it to 70 Kpa. Here again, regardless of what happens, it will end up at EC20 where it will branch always to LEC2F

    C16: CMPB #64 ; VAC LIMIT aprox 70 Kpa
    EC18: BHI LEC1C ;
    ; ... else
    EC1A: LDAB #64 ; VAC LIMIT aprox 70 Kpa
    ;
    EC1C: LEC1C NEGB ;
    EC1D: LSRB ;
    EC1E: ADDB #96 ; 60 kpa
    EC20: BRA LEC2F

    so we can end up at EC2D or EC2F from this routine. This is the EGR Correction VS VACUUM Vs EGR duty cycle lookup. It exits at EC53 with an uncoditional jump to LE548

    EC2D: LEC2D NEGB
    EC2E: ASLB
    ***********************************************
    *
    * EGR CORRECTION Vs. VACUUM Vs. EGR D.C.
    *
    * ASDZ BP EGR
    *
    * TBL = Factor * 256
    **********************************************
    EC2F: LEC2F LDX #$D21D ; EGR CORRECTION Vs. VACUUM Vs. EGR D.C.
    EC32: JSR LFB67 ; 3d LK UP
    EC35: STAA L007F
    EC37: LDAB L0006 ; STATUS
    EC39: ANDB #$7F ; CLR b7
    EC3B: LDAA L0080 ; Pct EGR
    EC3D: CMPA LD1BD ; 19.9% D.C. THRESH FOR EGR ON
    EC40: BLS LEC51
    ;... else
    EC42: LDAA L0031 ; VACUUM
    EC44: CMPA LD1BE ; 1 Kpa VAC THRESH FOR EGR ON, (100 Kpa)
    EC47: BHI LEC51 ; BR IF VAC GT THRESH
    ; ... else
    EC49: LDAA L000A
    EC4B: BITA #$01
    EC4D: BNE LEC51
    ; ... else
    EC4F: ORAB #$80 ; SET b7
    EC51: LEC51 STAB L0006 ; STATUS
    EC53: JMP LE548


    This is where I am not sure what is happening.. it sets some bits, but the comments are none existent. I do know that at the end of this routine, it goes into a loop where it clears interupts, then branches back to itself to clear interupt again.

    E548: LE548 LDAA L0001 ;
    E54A: BITA #$04 ;
    E54C: BNE LE55B ;
    ; ... else
    E54E: ORAA #$04 ; SET b2
    E550: STAA L0001 ;
    E552: LDAB L0070 ;
    E554: STAB L00DD ;
    E556: CLI ;
    E557: ANDA #$FB ; CLEAR b2
    E559: STAA L0001 ;
    E55B: LE55B CLI ;
    E55C: BRA LE55B ;

    It appears to sit here waiting for the next interupt to occur if I read the pink book correctly.
    Square body stepsides forever!!!

  3. #33
    Administrator
    Join Date
    May 2011
    Location
    Lakes Region, NH
    Age
    54
    Posts
    3,862
    not real sure what heads up code is all about
    GM engineering had these huge "dashboards" that plugged into the internal edge card connector to display more data than ALDL at a faster rate. There was direct memory access, ability to toggle functions on and off, and whatever other toys an engineer might want for tuning. The setup looked like it might have been a prop for the pilot episode of Star Trek. Anytime you see "check to see if heads up online" you can safely assume it's not.

    For the curious, this edge card connection is (or at least was) the basis for Dynamic EFI's "lockers" system.


    E55B: LE55B CLI ;
    E55C: BRA LE55B ;

    It appears to sit here waiting for the next interupt to occur if I read the pink book correctly.
    Interesting. But there's no room in this system for idle time so sitting and waiting for interrupts is not a good thing. I probably won't be able to look at this tonight thanks to incoming snow but maybe tomorrow.

  4. #34
    RIP EagleMark's Avatar
    Join Date
    Feb 2011
    Location
    North Idaho
    Age
    64
    Posts
    10,477
    I've been looking through other old ECM masks and there's even a bigger questions as to CTS conversions?

    But thinking of what 1project2many said about weird things happening when using MAX? Looked at conversions in calculated values, then hex! Min is 00 and max is FF, which would be right, right? But doesn't 00 and FF also mean nothing? Like when you burn a chip sometimes stock hex filler space is 00 then when burned it's FF...

    I looked through some very old XDF/ECU files written by rBob, some enable temps were clearly noted to use a hex string below FF!

    1990 Chevy Suburban 5.7L Auto ECM 1227747 $42!
    1998 Chevy Silverado 5.7L Vortec 0411 Swap to RoadRunner!
    -= =-

  5. #35
    Fuel Injected! jim_in_dorris's Avatar
    Join Date
    Dec 2011
    Posts
    803
    Okay try this again. I just finished grading 2 classes worth of finals, so the brain is a little fried right now.

    Mark. 00 to FF hex is 0 to 255 decimal for a total count of 256.

    if you are looking at an A/D converter which is measuring 0 to 5 V, then you have 5/256 or .02 volts per count.

    if you look at temp range of -40 to 152 degrees for a total of 192 degrees (I assume that this is IAT) then you have 192/256 or .75 degrees per count

    This works out as .75 degrees for every .02 volts.

    Different ranges will have different results but will be similiar. HTH.

    If you don't raise the EGR Qual temp to something that the coolant doesn't reach, then it exits differently. That may be why your truck runs poorly when you raise that value.
    Square body stepsides forever!!!

  6. #36
    RIP EagleMark's Avatar
    Join Date
    Feb 2011
    Location
    North Idaho
    Age
    64
    Posts
    10,477
    Thanks Jim, most of that I knew.

    Just had to question 00 and FF as it would always be the top and bottom. 3 reasons why were what 1project2many said about never going Max, but going above temp that would disable, second is old XDF files clearly state to use a hex to disable that was not max FF, third is looking at stock chips filler space is 00 and burned chips are FF.

    1990 Chevy Suburban 5.7L Auto ECM 1227747 $42!
    1998 Chevy Silverado 5.7L Vortec 0411 Swap to RoadRunner!
    -= =-

  7. #37
    RIP EagleMark's Avatar
    Join Date
    Feb 2011
    Location
    North Idaho
    Age
    64
    Posts
    10,477
    Well I did some testing today, had to find why this happened but was more interested in hex numbers that actually worked instead of the conversion to decimal. With correct hex it should be possible to create correct conversion.

    Findings EGR Enable Temp:
    1. Tests were done on fresh ADSU chip read from my factory ECM, in a factory ADSU vehicle while emulating with AutoProm.
    2. Tests were all done warmed up and data showed 88c as Coolant temp. Varied up/down by 1c throughout tests.
    3. EGR temperature to disable had drastic effects when "EGR - VE Comp Table" was zeroed out.
    4. EGR CTS to enable 36h would die when revved up.
    5. EGR CTS to enable 35h would run fine when revved up.
    Conclusion: EGR is enabled/disabled at 35h/36h.

    Findings Closed Loop Enable Temp:
    1. Tests were done on fresh ADSU chip read from my factory ECM, in a factory ADSU vehicle while emulating with AutoProm.
    2. Tests were all done warmed up and data showed 88c as Coolant temp. Varied up/down by 1c throughout tests.
    3. Closed loop was entered at 91h
    4. Closed Loop was exited at 94h
    Conclusion: Conversion could be figured out that 91 to 94h = 88c.

    Findings Closed loop entry at cold start:
    1. Tests were done on fresh ADSU chip read from my factory ECM, in a factory ADSU vehicle while emulating with AutoProm.
    2. Closed loop was entered at 69c when warming up.
    3. Closed loop Enable Temp is 40h. Conversion in mask to enable Closed Loop is 8c
    4. All timers for Closed Loop had long expired so I believe 69c is accurate.
    Conclusion: Conversion is way off!

    Both tests were done multiple times to insure accuracy.

    Intresting note. I have tweaked my ASDU file for many things including entering CL sooner and my hex is 26 compared to stock 40

    1990 Chevy Suburban 5.7L Auto ECM 1227747 $42!
    1998 Chevy Silverado 5.7L Vortec 0411 Swap to RoadRunner!
    -= =-

  8. #38
    RIP EagleMark's Avatar
    Join Date
    Feb 2011
    Location
    North Idaho
    Age
    64
    Posts
    10,477
    I am going to test CTS when Closed Loop is entered again when vehicle cools off completely. 69c seems high?

    But! if the conversion is removed and left at X the temp is 64c

    40 hex is decimal 64. Is it possible these don't need a conversion?

    1990 Chevy Suburban 5.7L Auto ECM 1227747 $42!
    1998 Chevy Silverado 5.7L Vortec 0411 Swap to RoadRunner!
    -= =-

  9. #39
    Fuel Injected! jim_in_dorris's Avatar
    Join Date
    Dec 2011
    Posts
    803
    Mark, that is correct. you are not looking at an A/D conversion for enable, but what temp is enable. (That is an awkward sentence) In that particular case, no conversion should be applied.

    Mark. on your first test, were you changing location LD1B3 to 35 and 36 Hex? Stock is 132 decimal, hex 84 at that location. I am trying to use your values to walk through the code and see what is different. 88c would be 171 A/D counts or AB hex.
    Last edited by jim_in_dorris; 03-21-2013 at 12:21 AM.
    Square body stepsides forever!!!

  10. #40
    RIP EagleMark's Avatar
    Join Date
    Feb 2011
    Location
    North Idaho
    Age
    64
    Posts
    10,477


    So why do all these masks have a conversion?

    And in which case does it need a AD conversion?

    This is strange, some look completely sane with no conversion and some are completely wrong without a conversion?

    Closed Loop Enable looks sane with no conversion at 64c and close to what I found at 69c

    HiWay Min Coolant looks InSane at 133c

    1990 Chevy Suburban 5.7L Auto ECM 1227747 $42!
    1998 Chevy Silverado 5.7L Vortec 0411 Swap to RoadRunner!
    -= =-

  11. #41
    Fuel Injected! jim_in_dorris's Avatar
    Join Date
    Dec 2011
    Posts
    803
    I think that we need to look at each individual case and determine how it is used. If we are comparing directly to A/D counts it's one way, and if we are comparing to already converted values its the other way.
    Square body stepsides forever!!!

  12. #42
    RIP EagleMark's Avatar
    Join Date
    Feb 2011
    Location
    North Idaho
    Age
    64
    Posts
    10,477
    I agree and appreciate the help! I'd never been able to get this far without you and 1PTM help.

    Looking through all these old masks they are all off.

    Since a lot of these things don't need to be messed with we should look at important ones and maybe find a pattern of how they apply? Certain things like CL Enable, EGR Enable, DFCO Enable, PE enable etc.. are all important!

    Back to Closed Loop Enable Temp, the 69c is accurate, may be a little less and closer to the 64C in bin because of the way 2 timers are involved could be an additional minute +. So 64c is what bin says, plus timers, I think this one is accurate, not sure if timers are accurate, next time I will check them for accuracy on seconds. Also this CL Enable is an important one. Why takes so long I don't know, my own personal tune is much lower and now I think I can get it even lower, there was a noticeable jump in MPG when doing all cold starts and around town driving in winter when I lowered this and other CL qualifiers. Never a drivability issue. My 98 Vortec 0411 goes closed loop within a minute... I've found so many similar errors in readings from EFI Live!

    Is this how you actually get the comments for a hack? Dissembled, assembled, patterns, then find what does what? I've been using the 2d and 3d viewer in known hex to also understand how it is used in the process...

    It's amazing this 1227747 $42 is what I started with for conversions, then tuning, then hex, reading assembly. It has all crossed over well to all other tuning including OBDII. And I'm still here where I started learning more!

    I know this all started with you guys wanting to teach me the DSM/ASM, but understanding how these work and getting correct comments could be just as important! Seems the DSM/ASM would be easy compared to getting comments, then getting accurate temps or whatever for the comment even harder? So far I've only done one, CL Enable Temp C and it's not correct in comment of any ASM I've found.

    Wish I still had my bench setup to run this... maybe a step up and figure out how to run a 0411 on bench? I have a 1990 Suburban test bench that works well!

    1990 Chevy Suburban 5.7L Auto ECM 1227747 $42!
    1998 Chevy Silverado 5.7L Vortec 0411 Swap to RoadRunner!
    -= =-

  13. #43
    RIP EagleMark's Avatar
    Join Date
    Feb 2011
    Location
    North Idaho
    Age
    64
    Posts
    10,477
    Quote Originally Posted by jim_in_dorris View Post
    Mark. on your first test, were you changing location LD1B3 to 35 and 36 Hex? Stock is 132 decimal, hex 84 at that location. I am trying to use your values to walk through the code and see what is different. 88c would be 171 A/D counts or AB hex.
    Missed your edit above...

    Yes LD1B3, stock ASDU is 84h

    The 88c was what my coolant temp was reading in ADX file at time of test.

    Attached is a clean read of ASDU, FYI it is identical to the one we have listed in $42 info thread as ASDU-$42-5.7L-Auto.bin‎
    Attached Files Attached Files

    1990 Chevy Suburban 5.7L Auto ECM 1227747 $42!
    1998 Chevy Silverado 5.7L Vortec 0411 Swap to RoadRunner!
    -= =-

  14. #44
    Fuel Injected! jim_in_dorris's Avatar
    Join Date
    Dec 2011
    Posts
    803
    Sorry I missed this yesterday, busy grading and prepping for next quarter. What I really need to know Mark is what were you changing to 35/36 hex to cause your problem? I really believe you are using a correct bin, just not sure what location in that bin you are changing. Also at this point, I need to verify that L00E3 is the output of the A/D converter for coolant temp. also mark what location are you using to read the coolant temp?

    EDIT!!! I was hunting thru the $42hack.asm and saw something that made me think. I know I have seen a table that related coolant temperatures to voltage output of the sensor. I need to look at that table, can you find it please.
    Last edited by jim_in_dorris; 03-22-2013 at 04:34 AM.
    Square body stepsides forever!!!

  15. #45
    RIP EagleMark's Avatar
    Join Date
    Feb 2011
    Location
    North Idaho
    Age
    64
    Posts
    10,477
    Sorry, same location noted below in BOLD.

    Don't sweat it Jim if your busy, I appreciate the help, I'm not in a spot, right now we are in experimental mode for accuracy!

    Findings EGR Enable Temp: EDIT: 0x1B3
    1. Tests were done on fresh ADSU chip read from my factory ECM, in a factory ADSU vehicle while emulating with AutoProm.
    2. Tests were all done warmed up and data showed 88c as Coolant temp. Varied up/down by 1c throughout tests.
    3. EGR temperature to disable had drastic effects when "EGR - VE Comp Table" was zeroed out.
    4. EGR CTS to enable 36h would die when revved up.
    5. EGR CTS to enable 35h would run fine when revved up.
    Conclusion: EGR is enabled/disabled at 35h/36h.

    Coolant temp is from ALDL and TunerPro ADX, Coolant is at 0x04, is that what you needed?

    1990 Chevy Suburban 5.7L Auto ECM 1227747 $42!
    1998 Chevy Silverado 5.7L Vortec 0411 Swap to RoadRunner!
    -= =-

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •