Results 1 to 15 of 509

Thread: 1997 F-Body ECM

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Fuel Injected!
    Join Date
    Sep 2012
    Location
    Huntsville, AL
    Posts
    237
    I'm going to try to update RealTerm before my next post; I'd like to get to the point where Tom can just send me a txt file to pump into the interface and then send the capture file back to him, so we can test his read and write routines.

  2. #2
    Fuel Injected!
    Join Date
    Mar 2013
    Posts
    1,478
    You can also check AVT-hex terminal. I am not sure it will work with x-pro but you can give it a try. It have a source code available and can process some simple scripts.

  3. #3
    Fuel Injected!
    Join Date
    Sep 2012
    Location
    Huntsville, AL
    Posts
    237
    I noticed the mode 27 response difference as well. Edit: in both this session and the previous sessions, the I had only made those two mode 27 requests. So you are seeing the 'first' and 'second' attempts after these particular Key-Ons. There has been no battery disconnects or DTC resets in between.

    Hex Plus Space:
    Code:
    41 54 20 53 50 32 0D 0A 4F 4B 0D 0A 3E 41 54 20 48 31 0D 0A 4F 4B 0D 0A 
    3E 41 54 20 53 31 0D 0A 4F 4B 0D 0A 3E 44 58 20 50 54 31 0D 0A 4F 4B 0D 
    0A 3E 44 58 20 53 44 20 34 43 20 31 30 20 46 30 20 32 38 20 30 30 0D 0A 
    34 43 20 46 30 20 31 30 20 36 38 20 30 30 20 35 45 0D 0A 3E 44 58 20 53 
    44 20 34 43 20 31 30 20 46 30 20 32 37 20 30 31 0D 0A 34 43 20 46 30 20 
    31 30 20 36 37 20 30 31 20 37 42 20 33 38 20 45 46 0D 0A 3E 44 58 20 53 
    44 20 34 43 20 31 30 20 46 30 20 32 37 20 30 32 20 39 31 20 39 34 0D 0A 
    34 43 20 46 30 20 31 30 20 36 37 20 30 32 20 33 35 20 37 45 0D 0A 3E
    No DX PT1:
    Code:
    41 54 20 53 50 32 0D 0A 4F 4B 0D 0A 3E 41 54 20 48 31 0D 0A 4F 4B 0D 0A 
    3E 41 54 20 53 31 0D 0A 4F 4B 0D 0A 3E 44 58 20 53 44 20 34 43 20 31 30 
    20 46 30 20 32 38 20 30 30 0D 0A 34 43 20 46 30 20 31 30 20 36 38 20 30 
    30 20 35 45 0D 0A 3E 44 58 20 53 44 20 34 43 20 31 30 20 46 30 20 32 37 
    20 30 31 0D 0A 34 43 20 46 30 20 31 30 20 36 37 20 30 31 20 37 42 20 33 
    38 20 45 46 0D 0A 3E 44 58 20 53 44 20 34 43 20 31 30 20 46 30 20 32 37 
    20 30 32 20 39 31 20 39 34 0D 0A 34 43 20 46 30 20 31 30 20 36 37 20 30 
    32 20 33 35 20 37 45 0D 0A 3E
    Last edited by sherlock9c1; 11-01-2021 at 04:07 PM.

  4. #4
    Fuel Injected! JimCT_9C1's Avatar
    Join Date
    Feb 2013
    Location
    Connecticut
    Posts
    63
    Following up with results of my testing with OBDX Pro - I was able to run tests in both ELM and DVI modes.

    The test configuration and commands in ELM mode:

    AT SP2
    AT H1
    AT S1

    DX SD 4C 10 F0 28 00
    DX SD 4C 10 F0 27 01
    DX SD 4C 10 F0 27 02 91 94


    My ELM mode results are consistent with those provided by Sherlock other than a few data bytes. As an additional case, I reran the commands with ATE0 which eliminates the input echo so that only the command responses are sent back. This lightens the data load coming back from the adapter. Similarly, ATS0 is beneficial by eliminating the spaces in the command responses.


    Here are my results - for ELM the input echo and space flags were on (ATE1,ATS1) therefore the requests are echoed and spaces are placed in the command responses. For ATE0, the DX commands are not echoed and the response immediately follows in-line with the ">" prompt. With ATS0, the explicit spaces in the command responses are also eliminated.


    ELM Mode Output (ATE1,ATS1) - ASCII Display:
    DX SD 4C 10 F0 28 00
    4C F0 10 68 00 5E
    >DX SD 4C 10 F0 27 01
    4C F0 10 67 01 13 57 05
    >DX SD 4C 10 F0 27 02 91 94
    4C F0 10 67 02 35 7E
    >


    ELM Mode Output (ATE1,ATS1) - Hex+Space Display (line breaks manually added):
    44 58 20 53 44 20 34 43 20 31 30 20 46 30 20 32 38 20 30 30 0D 0A
    34 43 20 46 30 20 31 30 20 36 38 20 30 30 20 35 45 0D 0A
    3E 44 58 20 53 44 20 34 43 20 31 30 20 46 30 20 32 37 20 30 31 0D 0A
    34 43 20 46 30 20 31 30 20 36 37 20 30 31 20 31 33 20 35 37 20 30 35 0D 0A
    3E 44 58 20 53 44 20 34 43 20 31 30 20 46 30 20 32 37 20 30 32 20 39 31 20 39 34 0D 0A
    34 43 20 46 30 20 31 30 20 36 37 20 30 32 20 33 35 20 37 45 0D 0A
    3E


    DVI Mode Output - Hex+Space Display (line breaks manually added):
    20 01 00 DE
    08 05 4C F0 10 68 00 3E
    20 01 00 DE
    08 07 4C F0 10 67 01 13 57 D2
    20 01 00 DE
    08 06 4C F0 10 67 02 35 07


    The ELM protocol's ASCII basis is apparent in the above. In ELM mode, each hex byte is converted to two ASCII character bytes and the ASCII character bytes are then sent as the reply. This adds data overhead (essentially doubling message size) and can create something of a translation burden when working with the raw data vs a terminal display. This ASCII basis was pointed out earlier by kur4o.

    The DVI mode responds with hex directly. The above shows the adapter's confirmation response to the $10 command ($20 xx ... ) and the network/vehicle response ($08 xx ...). The DVI commands sent were:

    10 05 4C 10 F0 28 00 76
    10 05 4C 10 F0 27 01 76
    10 07 4C 10 F0 27 02 91 94 4E

    The basic DVI configuration was straight from the documentation. I didn't need to set a filter. I just entered DVI mode, verified VPW protocol (was already set), opened the network, and sent the $10 commands. To clean up, I just closed the network and exited DVI mode.


    Hope the above helps shed some light on the various modes and their behaviors.

    Jim
    1995 Caprice 9C1 LT1 - 4.10s, Dynomax Catback, K&N Cold Air Kit, Other Little Stuff
    1996 Caprice 9C1 LT1 - 3.73s, Stock

  5. #5
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Continuing with details of mode commands that are physically addressed:

    Mode $19: Request Diagnostic Trouble Codes by Status

    !Note: This mode is not covered in the document "SAE J2190 Issued JUN93" that I am working from. It "Looks" a lot like mode $18 and the disassembly confirms this. I have not found why this difference exists and can only speculate that the regulators found that GM did not comply in some way with the mode $18 and gave them their own mode $19 to cover the difference. In any case this is what I have found.


    Code:
    Status as follows:                
        Bit 7    Warning lamp illuminated for this code        
        Bit 6    Warning lamp pending for this code, not illuminate but malfunction was detected        
        Bit 5    Warning lamp was previously illuminated for this code, malfunction not currently detected, code not yet erased        
        Bit 4    Stored trouble code        
        Bit 3    Manufacturer specific status        
        Bit2    Manufacturer specific status        
        Bit 1    Current code - present at time of request        
        Bit 0    Maturing/intermittent code        
                    
    Group: FF is all                
    Request type: FF=count, 00= status of each dtc                
                    
    Reply comes in multiple frames on my bench where most terminals are open at the moment                
                    
    Header: Mode: DTC: Status for this DTC                
                    
                    
    \B 4C 10 F0 19 FF FF 00 83 \E                Request for dtc status
    \B 4C F0 10 59 01 00 25 9C \E                1
    \B 4C F0 10 59 01 01 25 D0 \E                2
    \B 4C F0 10 59 01 02 25 04 \E                3
    \B 4C F0 10 59 01 03 25 48 \E                4
    \B 4C F0 10 59 01 07 6F A4 \E                5
    \B 4C F0 10 59 01 08 25 C6 \E                6
    \B 4C F0 10 59 01 12 25 B0 \E                7
    \B 4C F0 10 59 01 13 25 FC \E                8
    \B 4C F0 10 59 01 17 25 D1 \E                9
    \B 4C F0 10 59 01 18 25 72 \E                10
    \B 4C F0 10 59 01 21 25 A5 \E                11
    \B 4C F0 10 59 01 22 01 82 \E                12
    \B 4C F0 10 59 01 23 01 CE \E                13
    \B 4C F0 10 59 01 31 25 11 \E                14
    \B 4C F0 10 59 01 32 25 C5 \E                15
    \B 4C F0 10 59 01 34 25 70 \E                16
    \B 4C F0 10 59 01 35 25 3C \E                17
    \B 4C F0 10 59 01 37 25 A4 \E                18
    \B 4C F0 10 59 01 38 25 07 \E                19
    \B 4C F0 10 59 01 40 25 76 \E                20
    \B 4C F0 10 59 01 41 25 3A \E                21
    \B 4C F0 10 59 01 51 25 8E \E                22
    \B 4C F0 10 59 01 52 25 5A \E                23
    \B 4C F0 10 59 01 54 25 EF \E                24
    \B 4C F0 10 59 01 55 25 A3 \E                25
    \B 4C F0 10 59 01 57 25 3B \E                26
    \B 4C F0 10 59 01 58 25 98 \E                27
    \B 4C F0 10 59 01 60 25 03 \E                28
    \B 4C F0 10 59 01 61 25 4F \E                29
    \B 4C F0 10 59 01 71 25 FB \E                30
    \B 4C F0 10 59 01 72 25 2F \E                31
    \B 4C F0 10 59 01 74 25 9A \E                32
    \B 4C F0 10 59 01 75 01 25 \E                33
    \B 4C F0 10 59 02 00 25 10 \E                34
    \B 4C F0 10 59 03 00 25 9F \E                35
    \B 4C F0 10 59 03 23 25 3E \E                36
    \B 4C F0 10 59 03 25 25 8B \E                37
    \B 4C F0 10 59 03 32 25 C6 \E                38
    \B 4C F0 10 59 03 35 25 3F \E                39
    \B 4C F0 10 59 03 36 25 EB \E                40
    \B 4C F0 10 59 03 72 25 2C \E                41
    \B 4C F0 10 59 04 00 25 15 \E                42
    \B 4C F0 10 59 04 03 25 C1 \E                43
    \B 4C F0 10 59 04 41 25 B3 \E                44
    \B 4C F0 10 59 04 43 25 2B \E                45
    \B 4C F0 10 59 05 00 25 9A \E                46
    \B 4C F0 10 59 05 06 25 2F \E                47
    \B 4C F0 10 59 05 07 25 63 \E                48
    \B 4C F0 10 59 05 30 25 5B \E                49
    \B 4C F0 10 59 05 31 25 17 \E                50
    \B 4C F0 10 59 05 62 25 9D \E                51
    \B 4C F0 10 59 05 63 01 22 \E                52
    \B 4C F0 10 59 06 01 01 A9 \E                53
    \B 4C F0 10 59 06 02 25 8E \E                54
    \B 4C F0 10 59 11 07 7F 71 \E                55
    \B 4C F0 10 59 11 11 25 7C \E                56
    \B 4C F0 10 59 11 12 25 A8 \E                57
    \B 4C F0 10 59 11 14 25 1D \E                58
    \B 4C F0 10 59 11 15 25 51 \E                59
    \B 4C F0 10 59 11 21 01 4E \E                60
    \B 4C F0 10 59 11 22 01 9A \E                61
    \B 4C F0 10 59 11 33 25 91 \E                62
    \B 4C F0 10 59 11 53 25 0E \E                63
    \B 4C F0 10 59 11 71 25 E3 \E                64
    \B 4C F0 10 59 12 22 25 E5 \E                65
    \B 4C F0 10 59 13 51 25 95 \E                66
    \B 4C F0 10 59 13 61 25 54 \E                67
    \B 4C F0 10 59 13 71 01 13 \E                68
    \B 4C F0 10 59 13 80 25 4E \E                69
    \B 4C F0 10 59 13 81 25 02 \E                70
    \B 4C F0 10 59 14 41 25 AB \E                71
    \B 4C F0 10 59 15 08 25 D8 \E                72
    \B 4C F0 10 59 15 09 25 94 \E                73
    \B 4C F0 10 59 15 32 25 DB \E                74
    \B 4C F0 10 59 15 33 25 97 \E                75
    \B 4C F0 10 59 15 39 25 55 \E                76
    \B 4C F0 10 59 15 43 25 BC \E                77
    \B 4C F0 10 59 15 45 25 09 \E                78
    \B 4C F0 10 59 15 46 25 DD \E                79
    \B 4C F0 10 59 16 26 25 CE \E                80
    \B 4C F0 10 59 16 41 25 A8 \E                81
    \B 4C F0 10 59 16 42 25 7C \E                82
    \B 4C F0 10 59 16 43 25 30 \E                83
    \B 4C F0 10 59 16 52 25 C8 \E                84
    \B 4C F0 10 59 16 61 25 DD \E                85
    \B 4C F0 10 59 16 67 25 68 \E                86
    \B 4C F0 10 59 00 00 00 FD \E                87
                    
    \B 4C 10 F0 19 FF FF FF 47 \E                Request for DTC count
    \B 4C F0 10 59 FF 56 35 \E

  6. #6
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Continuing with details of mode commands that are physically addressed:

    Mode $20: Return to Normal Operation

    Code:
    Mode $20			
    Return to Normal Operation			
    			
    Sets the communications with external devices back to normal			
    Clears test modes if set			
    					
    			
    4C 10 F0 20 62			Request
    4C F0 10 60 B7			Positive acknowledgement

  7. #7
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Mode $22: Request Diagnostic Data By PID

    This request is composed of header, mode, PID, rate

    Mode is $22
    PID is one of the supported PIDs
    Rate: only a value of $01 is supported (single response)

    The example shown requests the value of PID $0005 which is ECT

    \B 4C 10 F0 22 00 05 01 F9 \E
    \B 4C F0 10 62 00 05 00 D5 \E

  8. #8
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Mode $23: Request Diagnostic Data By Memory Address

    This request is composed of header, mode, memory_address, rate

    Mode is $23
    Memory address is a three byte address. Address can only be in Tside bank 0, thus the first address byte is always $00
    Memory address is checked for bounds. EEPROM (with the security password) is out of range, Portions of the FLASH (the calibration area) can be accessed.
    Rate: only a value of $01 is supported (single response)

    Reply is Mode|0x40, two bytes address only (two lsbytes), four bytes of data incrementing from the addrress selected.


    \B 4C 10 F0 23 00 00 00 01 03 \E
    \B 4C F0 10 63 00 00 80 63 A0 00 17 \E

  9. #9
    Fuel Injected!
    Join Date
    Sep 2012
    Location
    Huntsville, AL
    Posts
    237
    Should I start a new thread for the reflashing then as well?

  10. #10
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Yes please. -Tom

  11. #11
    Fuel Injected!
    Join Date
    Mar 2013
    Posts
    1,478
    Hi Tom

    Did you manage to decipher the config byte meaning and how to use it on dynamic pd setup mode 2A

    For example we have

    6C 10 F1 2C FC [4C] 11 A1 12 55 F2
    6C F1 10 6C FC 4C 1D
    6C 10 F1 2C FC [6A] 12 5B FF FF 71
    6C F1 10 6C FC 6A D4
    6C 10 F1 2C FB [4B] 11 44 12 50 46
    6C F1 10 6C FB 4B B7
    6C 10 F1 2C FB [63] 12 32 12 5A D5
    6C F1 10 6C FB 63 D8
    6C 10 F1 2C FA [4A] 11 02 11 04 71
    6C F1 10 6C FA 4A E6

    The byte in bracket is some config byte and if not set up correctly you get 7f reject. It looks like bit encoded but still have no clue about the meaning.

  12. #12
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Hi,

    I *thought* this all was figured, that is until I saw your post. I might need to look at this again unless the following solves your Q

    Code:
    Data byte 2								
    Binary 								
    	aaXX XXXX		aa is type of entry					
    			aa =00		Define by offset			
    			aa=01		Define by PID			01XX XXXX  
    			aa=02		Define by address			
    			aa=03		MFG defined			
    								
    								
    	XXbb bXXX		bbb is starting byte					
    			bbb = 000		invalid			
    			bbb = 001		GM case			01001XXX
    			bbb = 010					
    			bbb = 011					
    			bbb = 100					
    			bbb = 101					
    			bbb = 110					
    			bbb = 111		invalid			
    								
    								
    	XXX Xccc		ccc is number of data bytes for this param					
    								
    			ccc + bbb must be <= 6					
    								
    			ccc = 000					
    			ccc = 001					
    			ccc = 010		PID DFINED			01001010 <-- This is supported
    			ccc = 011					
    			ccc = 100					
    			ccc = 101					
    			ccc = 110					
    			ccc = 111
    In the cases you suggest...
    ------------------------------------------------------------
    4C 01 001 100
    6A 01 101 010
    4B 01 001 011
    63 01 100 011
    4A 01 001 010

    01 <------------- PID defined

    XX 001 <------- 1st position in the responding frames
    XX 100 <------- 4th position in the responding frames

    XX XXX 010 <-- Two bytes
    XX XXX 011 <-- Three bytes
    XX XXX 100 <-- Four bytes

    As I remember things, Only pid defined is supported. The result can be placed in the responding frames as needed But the starting position and length need to be considered not to exceed the max frame length (this is a J1850 thing).
    The PCM will kick out any request where the number of bytes does not match the reply byte count of the PID. This value is given in the PID look up table if you want to find a specific PID. That or just request the value of the pid in question and count the bytes it returns

    Let me know if this makes any sense/solves your issue

    -Tom

Similar Threads

  1. 94-95 LT1 $EE Y-body vs. F/B-body PCM differences
    By johnny_b in forum GM EFI Systems
    Replies: 5
    Last Post: 01-15-2023, 02:41 PM
  2. Tuner Pro XDF 1999-2000 F Body + Y Body
    By john h in forum OBDII Tuning
    Replies: 33
    Last Post: 02-02-2020, 11:12 PM
  3. Replies: 31
    Last Post: 09-20-2018, 06:00 AM
  4. F-body engine install to B-body
    By serge_an in forum GM EFI Systems
    Replies: 4
    Last Post: 09-22-2016, 02:51 PM
  5. 95 F-body Fuel Pump with 95 B-Body Engine/Tank
    By EPS3 in forum GM EFI Systems
    Replies: 7
    Last Post: 09-19-2016, 02:40 PM

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
  •