Results 1 to 15 of 36

Thread: TPS% value 1227747 ADX

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Fuel Injected! gregs78cam's Avatar
    Join Date
    May 2011
    Location
    N. Idaho
    Posts
    767
    I actually just started my '7747 to '7427 swap into my truck so I don't really have things set up to check this out but I think it should work.

    I looked through a $42 hac, and found that the datastream is commanded at LD4F5 to output the TPS volts located at L0048 while running. As I looked further I noticed that for running calculations the "current TPS Value" in the code is loaded from L0049. Now I have done this type of thing with my $0E.ads to output different things than the original datastream was told to and it's not so hard. So what I do is take some obscure data like 02 cross counts and replace it with something useful, in this case TPS%. The easy way to change it, and make it easily reversible is as follows.

    Create another .xdf parameter, label it as something like "TPS % instead of 02crosscounts"
    In the parameter box set the address to 0x50B, size 2 bytes, output type hex. This is the spot where the .bin tells the ecm where to look for the data to spit out in the datastream.
    In the comments area write "Change this setting from $00BA (O2 cross counts) to $0049 (TPS%)"

    Now add a .adx value with the same packet offset as the o2 cross counts but title it TPS%. This way you can have both TPS Volts and % if you like.
    Unfortunately there is nothing in the .bin to tell us what the conversion is for this data, but it stands to reason it will be the normal "X*.392157".

    If anybody tries this let us know how it works.
    1978 Camaro Type LT, 383, Dual TBI, '7427, 4L80E
    1981 Camaro Z-28 Clone, T-Tops, 350/TH350
    1981 Camaro Berlinetta, V-6, 3spd
    1974 Chevy/GMC Truck, '90 TBI 350, '7427, TH350, NP203, 6" lift, 35s

  2. #2
    RIP EagleMark's Avatar
    Join Date
    Feb 2011
    Location
    North Idaho
    Age
    64
    Posts
    10,477
    Well you had me lost in the hex, I really need a beginner lesson there. Maybe someday this winter someone could do a beginner course?

    But I didn't have to anything in XDF or hex. I made another ADX value, it was identical to TPS Voltage address but renamed TPS %. It worked so you can have more than one output from same address in the adx file. Then I changed the range from 0.000000 to 5.000000 to 0.000000 100.000000 used the calculation "X*.392157". found in other adx files for TPS % like you said and it works.

    So I tried again with coolant temp. Duplicated the adx value, changed some settings in TP and now there is coolant temp in Celsius and Fahrenheit.

    One thing I don't understand in adx is why some things are just set to Native and conversion is just X while others are set to Native X and need a conversion calculation?

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

  3. #3
    Fuel Injected! gregs78cam's Avatar
    Join Date
    May 2011
    Location
    N. Idaho
    Posts
    767
    The only thing I don't like about the idea of making a % directly from the voltage is the the fact that there is a minimum TPS voltage right? Somewhere around .5 volts? I was under the impression that the ECM looks at this voltage at startup and sets this voltage as 0% TPS. If this is the case then the while idling, the ECM sees 0% TPS, but the datastream shows 10%TPS. Right? I guess you could adjust the bottom end of the range to take up for that though.
    1978 Camaro Type LT, 383, Dual TBI, '7427, 4L80E
    1981 Camaro Z-28 Clone, T-Tops, 350/TH350
    1981 Camaro Berlinetta, V-6, 3spd
    1974 Chevy/GMC Truck, '90 TBI 350, '7427, TH350, NP203, 6" lift, 35s

  4. #4
    RIP EagleMark's Avatar
    Join Date
    Feb 2011
    Location
    North Idaho
    Age
    64
    Posts
    10,477
    Yeah but it figures correctly to every paremeter in the mask (XDF), couple posts up even Perfect Power Piggy Back Tuners have the same issue.

    But your point may be valid on ECM that have a seperate address for TPS%. 1227747 does not. Actually if you hook up a ScanTool there is no TPS%, but there is when you deal with others like the 97427 and my LT1. I've spent a lot of time with the 1227747 and what your saying won't ever come into play. Settings are mostly off TPS Voltage and low end of that. Ones that involve percent are so high it would never be close to TPS Voltage even if you subtracted what your saying.

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

  5. #5
    Fuel Injected! gregs78cam's Avatar
    Join Date
    May 2011
    Location
    N. Idaho
    Posts
    767
    Well actually what I meant was if you make a conversion for that as follows:
    0.00V = 0% TPS
    0.05V = 1%
    0.10V = 2%
    ~~~~~
    0.55V = 11%
    0.60V = 12%
    ~~~~~
    5.00V = 100%

    Then for instance at idle the TPS sensor is reading .56 volts, this is what the ECM sees. But your .adx would show (0.55V) 11%. Right? That can be worked around but.......

    somewhere in the '7747 there has to be a conversion written to put out a %TPS, there are tables and constants that are defined as %TPS in a column or row. So somewhere in the bin there is a conversion already. It is just matter of feeding it out through the data stream.

    For instance:
    HTML Code:
    ;
    ; CK FOR LOW TPS ERR TEST ENABLE
    ;
    D6D8: LDAA LD50D ; ERR ENABLE WD 1
    D6DB: BITA #$04 ; b2, ERR 22, TPS lo
    D6DD: BEQ LD6F8 ; BR IF NOT b2
    ; ... else
    D6DF: LDAA L0048 ; TPS, VDC
    D6E1: CMPA LD523 ; TPS limit, 0.20 VCD, (ERR 22)
    D6E4: BCC LD6F8 ; IF TPS > .195 BR
    ; ... else
    So here, as the code is running when it reaches D6DF the instruction is LDAA L0048 which to paraphrase "load from register A L0048" ; comment says TPS, VDC, this is also the register that the datastream spits out TPS Volts from.

    HTML Code:
    F0FF: LDAA L001A ; RPM/25
    F101: ASLA
    F102: BCC LF106
    ; ... else
    F104: LDAA #255
    F106: LF106 BRA LF120
    F108: LF108 LDAA L0049 ; CURRENT TPS VALUE
    F10A: LF10A PSHA
    Now here is a portion of the TCC routine. Here at line F108, the instruction is again LDAA but this time it is "from register L0049" ; and is commented TPS Value.

    My point is there are many references to TPS% in both of the hacs, and the .xdf posted here. It is just a matter of getting that value to be put in the data stream.
    1978 Camaro Type LT, 383, Dual TBI, '7427, 4L80E
    1981 Camaro Z-28 Clone, T-Tops, 350/TH350
    1981 Camaro Berlinetta, V-6, 3spd
    1974 Chevy/GMC Truck, '90 TBI 350, '7427, TH350, NP203, 6" lift, 35s

  6. #6
    RIP EagleMark's Avatar
    Join Date
    Feb 2011
    Location
    North Idaho
    Age
    64
    Posts
    10,477
    But for me to do that I have a lot of catching up to do in hacs and hex and dissambly, that is something I have never done yet! Even you have spent time and can only find reference of TPS to volts (VDC). Now if I can figure out how to use the lookup table and make a graph I could do exactly what you explained.

    I'm trying to spend time working on ADX files now, to improve what we have, convert them to adx and get the layouts in a more user freindly work space. That is how this topic came up. I realy wish someone would do a starter course on hex, hacks dissasembly, commneting etc... so we could all understand how you do what you just did above. Maybe if I start a topic people will jump in and get it going like this one did?

    My point is there are many references to TPS% in both of the hacs, and the .xdf posted here. It is just a matter of getting that value to be put in the data stream.
    What I was trying to tell you ealier is the hacs are wrong, well probably just the commenting! They mention a TPS paremeter as % and it is not! It is volts. The only paremeters in the 1227747 hacs/xdf/mask that mention TPS% have values of 25% or better which can not be volts. Well within the range of the origanal conversion for %. If you look at old XDF you will see them. I made a new XDF and took out reference to % where it was volts.

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

  7. #7
    RIP EagleMark's Avatar
    Join Date
    Feb 2011
    Location
    North Idaho
    Age
    64
    Posts
    10,477
    Well I finally got the vacuum gauge working as well. Dulicated the MAP kpa, changed the name, changed the values and found the correct calculation of:
    29.9-(X*.349)

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

  8. #8
    RIP EagleMark's Avatar
    Join Date
    Feb 2011
    Location
    North Idaho
    Age
    64
    Posts
    10,477
    Quote Originally Posted by gregs78cam View Post
    Well actually what I meant was if you make a conversion for that as follows:
    0.00V = 0% TPS
    0.05V = 1%
    0.10V = 2%
    ~~~~~
    0.55V = 11%
    0.60V = 12%
    ~~~~~
    5.00V = 100%

    Then for instance at idle the TPS sensor is reading .56 volts, this is what the ECM sees. But your .adx would show (0.55V) 11%. Right? That can be worked around but.......

    somewhere in the '7747 there has to be a conversion written to put out a %TPS, there are tables and constants that are defined as %TPS in a column or row. So somewhere in the bin there is a conversion already. It is just matter of feeding it out through the data stream.

    For instance:
    HTML Code:
    ;
    ; CK FOR LOW TPS ERR TEST ENABLE
    ;
    D6D8: LDAA LD50D ; ERR ENABLE WD 1
    D6DB: BITA #$04 ; b2, ERR 22, TPS lo
    D6DD: BEQ LD6F8 ; BR IF NOT b2
    ; ... else
    D6DF: LDAA L0048 ; TPS, VDC
    D6E1: CMPA LD523 ; TPS limit, 0.20 VCD, (ERR 22)
    D6E4: BCC LD6F8 ; IF TPS > .195 BR
    ; ... else
    So here, as the code is running when it reaches D6DF the instruction is LDAA L0048 which to paraphrase "load from register A L0048" ; comment says TPS, VDC, this is also the register that the datastream spits out TPS Volts from.

    HTML Code:
    F0FF: LDAA L001A ; RPM/25
    F101: ASLA
    F102: BCC LF106
    ; ... else
    F104: LDAA #255
    F106: LF106 BRA LF120
    F108: LF108 LDAA L0049 ; CURRENT TPS VALUE
    F10A: LF10A PSHA
    Now here is a portion of the TCC routine. Here at line F108, the instruction is again LDAA but this time it is "from register L0049" ; and is commented TPS Value.

    My point is there are many references to TPS% in both of the hacs, and the .xdf posted here. It is just a matter of getting that value to be put in the data stream.
    I found a $42 hack and went through it and your right there are many instances where TPS% is used and some of them are numbers lower than 5% which could be confused with voltage that can not go lower than 5. So the ECM must take idle voltage and use it as 0% or 1% and use it in it's routine. So you are exactly correct.

    But I have no idea how to find TPS % coming from the ECM. Or even if it is there to begin with, PCM like the $OD have sepreate address for voltage and percent. if I knew where it was I could set it up in the ADX. May try to figure out how to use the lookup table and create one from voltage like you showed above.

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

  9. #9
    Fuel Injected! gregs78cam's Avatar
    Join Date
    May 2011
    Location
    N. Idaho
    Posts
    767
    Ok. so we are on the same page now.

    the number that gets spit out into the data stream is a 0-255 number and that number is is stored at a location on the EEPROM. L0048 for TPS VDC, and L0049 for TPS%. so we just have to tell the ecm to put out the % instead of the VDC. because really the only useful time for seeing VDC is settign minimum TPS, and trouble shooting, right? If you look through the hac and look at the aldl data stream section which starts at $04E7, and scroll down to $04F5 you see this:


    HTML Code:
    LD4F3   FDB $001C   ; 7.  RPM/25
         ;   RPM = N * 25
         ;----------------------------
    LD4F5   FDB $0048   ; 8.  TPS (A/D, 0-255)
         ;   VOLTS = N * .0196
         ;----------------------------
    LD4F7   FDB $00A4   ; 9.  INTIGRATOR, (0-255)

    this is the part of the code that tells the ecm where to look in the RAM area of the chip to find the data to put into the outgoing data stream. If you open TP5, and open the hex editor scroll down to $04F5 (LD4F5 above) and change the two bytes there from 00 48 to 00 49. that should tell the ecm to send the data from the tps% address instead of VDC.
    Last edited by gregs78cam; 12-03-2011 at 08:22 PM.
    1978 Camaro Type LT, 383, Dual TBI, '7427, 4L80E
    1981 Camaro Z-28 Clone, T-Tops, 350/TH350
    1981 Camaro Berlinetta, V-6, 3spd
    1974 Chevy/GMC Truck, '90 TBI 350, '7427, TH350, NP203, 6" lift, 35s

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
  •