Sign up for our newsletter! 
Home News Products Downloads Forum Distributors Store Contact Us
PPE User Forum
September 02, 2014, 05:30:42 am *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Reading chassis module on GM (TCCM) [solved!]  (Read 5187 times)
0 Members and 1 Guest are viewing this topic.
blurry
Newbie
*
Offline Offline

Posts: 8


View Profile
« on: August 13, 2011, 08:30:26 pm »

I would like to pull the TCCM code on an 02 Trailblazer using scanXL pro.  I believe the truck uses J1850 VPW for which I found a nice guide here: http://www.palmerperformance.com/forum/index.php?topic=165.0

Problem is that I don't know the address of the TCCM chassis module.  any thoughts?

This is my first shot at this, any help is appreciated!!!!!

reading the guide I'm thinking

$6C (priority 3, GM, node to node) ,$??,$F1 (scan tool physical address) ,$19 (Request Diagnostic Trouble Codes by Status  ), $02 (Current code),$FF,$00

byte 1: $6c  [011 0 1100] (priority3 / GM / node to node)

Byte 2:  $?? (address of TCCM)

byte 3: $F1  (scan tool)

byte 4:  $19 (Request Diagnostic Trouble Codes by Status  )

byte 5: $02 (Current code)

Byte 6: $FF (what is this?)

byte 7: $00 (what is this?)


thanks for the help!
« Last Edit: October 24, 2011, 05:01:36 pm by blurry » Logged
rmck490
Newbie
*
Offline Offline

Posts: 11



View Profile
« Reply #1 on: August 15, 2011, 09:25:23 am »

On my 2000 Silverado, the TCCM address is $18.  You may want to also use $10 for the PCM where a transmission code could also be stored.

Byte #5 in your list is the request by status byte and has the following bitmapped values:

bit 7 - Warning lamp illuminated for this code
bit 6 - Warning lamp pending for this code, not illuminated 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
bit 2 - Manufacturer specific status
bit 1 - Current code - present at time of request
bit 0 - Maturing/Intermittent code - insufficient data to consider as a malfunction

Multiple bits may be set (bit value = 1) and will return all codes that meet those conditions listed above.  In your request, $02 reflects bit #1 is set (bit value = 1) and all others are not set (bit value = 0).  The list in the link you provided simply has these mapped out for the reader.

Byte #6 in you list is the Functional Group byte.  It has the following possibilities:

$00 - Powertrain
$40 - Chassis
$80 - Body
$C0 - Undefined
$FF - All Groups

You could use $00 for the PCM or TCCM but $FF should work as well.  Using $FE for byte #2, $FF for byte #5, and $FF for byte #6 will query all modules on the network and should give you everything stored in all the modules.

Byte #7 in your list is an optional byte used to maintain a fixed length request.  Leaving it blank or using $00 will return all trouble codes stored in the byte #6 functional groups of the request that meet the status criteria set in byte #5.  Using $FF will return the number of trouble codes meeting the status criteria set in byte #5 for the functional groups requested with byte #6.

Multiple responses may be returned with up to three trouble codes per response message which meet the byte #5 criteria.

This may be more than you asked for but I hope this helps with your questions.  To others, please correct me if need be.
Logged

ScanXL Pro GM Enhanced
DashCommand
2000 Chevy Silverado 4X4 Z71 5.3L V8 LM7
2001 Chevy Malibu 3.1L V6 LG8
2001 Dodge Stratus 2.7L V6
2003 Toyota Sienna 3.1L V6
blurry
Newbie
*
Offline Offline

Posts: 8


View Profile
« Reply #2 on: August 16, 2011, 09:04:42 pm »

thanks!  I've been getting home late, looking forward to trying this out!
Logged
blurry
Newbie
*
Offline Offline

Posts: 8


View Profile
« Reply #3 on: August 19, 2011, 07:14:21 pm »

I believe the TCCM on the 02 trailblazer is on address 1A.  I tried the following, but I'm note sure how to decode it.

any help is much appreciated!

Logged
Russ
Community Helper
Newbie
*
Offline Offline

Posts: 49



View Profile WWW
« Reply #4 on: August 19, 2011, 07:48:19 pm »

This is not a feature we support. Have you tried looking around on google for OBD-II protocol information?
Logged

In most cases we are going to want a tech log.
Don't forget to set debug to lv9 in the help menu, or turn on debugging in DashCommand *before* you try to connect. Duplicate the error, then send the log to support@palmerperformance. Give us 1-2 business days (weekdays) to review the files.
blurry
Newbie
*
Offline Offline

Posts: 8


View Profile
« Reply #5 on: August 20, 2011, 10:45:32 am »

I understand, that is why it is great the terminal mode is there!  I was hoping some more experienced folks could help me decode the response.  could be great for other folks trying to do the same thing - fix their cars Smiley
Logged
blurry
Newbie
*
Offline Offline

Posts: 8


View Profile
« Reply #6 on: August 20, 2011, 10:30:58 pm »

had a few minutes to play.  I was having problems sending directly to the A1 address so i went with a full scan with the light on and the light off so I could look for differences

command:
$6C $FE $F1 $19 $11 $FF $00  -- only one line changed with light on and off

no 4wd service light:    $6C $F1 $1A $59 $43 $79 $11 $76
with 4wd service light: $6C $F1 $1A $59 $43 $79 $93 $6A

the $43 $79 stayed, the the $11 went to $93, and I think the last character is the checksum.

using this link to decode DTCs: http://en.wikipedia.org/wiki/OBD-II_PIDs

$43 $79
01 00 0011 0111 1001
C  0  3    7    9

which is the code for the front wheel actuator

any ideas on what the end difference is?

 $6C $F1 $1A $59 $43 $79 $11 $76
with 4wd service light: $6C $F1 $1A $59 $43 $79 $93 $6A

thanks!
Logged
blurry
Newbie
*
Offline Offline

Posts: 8


View Profile
« Reply #7 on: August 21, 2011, 01:12:48 am »

looking at the data I think I figured out a bit more!

command sent: 6C 1A F1 19 11 FF 11

6C = node to node GM message
1A = address of TCCM
F1 = address of scanner
19 = Request Diagnostic Trouble Codes by Status (14 should clear codes)
11 = (should have sent C2) 11 = MIL is illuminated and Immature code.
FF = send to all groups (not sure why 40 chassis doesn't work)

how to read the code:

6C F1 1A 59 XZ ZZ YY [last byte checksum?]

the X is the first part of the code
4 = C0
8 = B0
A = B2
D = U1

ZZZ = code

(for complete code put together XZZZ)

the YY appears to be the status of the code where
01 - good - no issue
93 - current code
11 - not sure yet

if you send the command 6C 1A F1 19 11 FF 11, look at the before last byte on each row, any that are NOT 01 are worth a look at.

sample run:



one step closer to folks being able to read 4WD service codes at home Smiley
Logged
blurry
Newbie
*
Offline Offline

Posts: 8


View Profile
« Reply #8 on: August 21, 2011, 07:50:45 pm »

got the basics figured out!

quick example:

with the 4WD service light on:
send message: 6C 1A F1 19 C2 ff 00
Received: $6C $F1 $1A $59 $43 $79 $93 $6A

the $43 $79 is the code, and the $93 is the status indicating the code is turning on the 4WD service light

code list:
$43 $00 = C0300
$43 $05 = C0305
$43 $06 = C0306
$43 $21 = C0321
$43 $27 = C0327
$43 $59 = C0359
$43 $74 = C0374
$43 $79 = C0379 ***** the code indicated in the message above
$45 $50 = C0550
$87 $70 = B0770
$87 $75 = B0775
$87 $80 = B0780
$87 $85 = B0785
$87 $90 = B0790
$A7 $25 = B2725
$D3 $01 = U1301

here are the messages I figured out that seem useful:

message: 6C 1A F1 14 - turn off 4WD service light (clears codes)
message: 6C 1A F1 19 D2 ff 00 - return current and pending codes
message: 6C 1A F1 19 c2 ff 00 - returns current code
message: 6C 1A F1 19 ff ff 00 - return all code status (what I prefer)

the address of the TCCCM is 1A
the address of the scantool is F1

$6C $1A $F1 $19 $C2 $FF $00
$GG $HH $JJ $KK $LL $MM $NN <- use these to look through the list
GG - 6C = node to node GM message
HH - 1A = address of scanner
JJ - F1 = address of TCCM
KK - 19 = what kind of request (19) Request Diagnostic Trouble Codes
by Status (14) to clear codes
LL - C2 = what data you want to get. (C2) return current codes (D2)
return current and pending codes (FF) everything
MM - FF = (FF) send to all groups (not sure why 40 chassis doesn't
work)
NN - 00 = extra padding, leave at 00

The response should be formatted as follows:
Byte1 Byte2 byte3 Byte4 Byte5 Byte6 Byte7 Byte8

sample response:
$6C $F1 $1A $59 $43 $79 $93 $6A
$PP $QQ $RR $SS $XZ $ZZ $YY $VV <- use these to look through the list
below

Byte1 - PP - 6C - same as the first byte you sent
Byte2 - QQ - F1 - address of the scan tool (indicates the recipient)
Byte3 - RR - 1A - address of the TCCM module (indicates the originator)
Byte4 - SS - 59 - will be the byte4 you sent with 40 added to it
Byte5 - XZ - 43 - first part of code
Byte6 - ZZ - 79 - second part of code
Byte7 - YY - 93 - status (01) good, no issue (93) current code causing service light to illuminate (11) not sure, seemed to be associated to the last code raised, though I'm not sure
Byte8 - VV - 6A - check sum (ignore this, it is used to make sure the message made it without loosing data)

so bytes 4 and 5 have the code, to decipher:

$43 $79 <- from recceived message
$XZ $ZZ <- use this to decode based on the list below

the X is the first part of the code
4 = C0
8 = B0
A = B2
D = U1

ZZZ = code

for complete code put together XZZZ

so the $43 $79 is:

4 = C0
ZZZ = 379

code = C0379

if you get 00 00 for a code, then it is the end of the list - 00 00 is not a code, but an indicator teh end of the code list.

the status of this code (YY) in the example is 93 which seems to indicate the current fault. if you see 01 then that code is not currently active

examples:

no 4WD service light:
send message: 6C 1A F1 19 c2 ff 00 - returns current code
response: $6C $F1 $1A $59 >>$00 $00<< $93 $BB 00 00 means no code

after turning on the 4WD service light response:
send message: 6C 1A F1 19 c2 ff 00 - returns current code
Received: $6C $F1 $1A $59 $43 $79 $93 $6A 93 -- indicates current code (43 79) with a status of 93 which seems to be the current code lighting the 4WD service light
Received : $6C $F1 $1A $59 $00 $00 $93 $BB -- 00 00 indicates end of list

send message 6C 1A F1 19 ff ff 00 - return all code status - 01 in before last means all is well. in this example the before last byte is 01 for all the entries except the last which has code 00 00 indicating the end of the list, therefor there are no codes present.

as a neat aside - I believe these to be every possible code that can be generated!

Received OBD-II message: $6C $F1 $1A $59 $43 $00 $01 $86
Received OBD-II message: $6C $F1 $1A $59 $43 $05 $01 $E7
Received OBD-II message: $6C $F1 $1A $59 $43 $06 $01 $33
Received OBD-II message: $6C $F1 $1A $59 $43 $21 $01 $BF
Received OBD-II message: $6C $F1 $1A $59 $43 $27 $01 $0A
Received OBD-II message: $6C $F1 $1A $59 $43 $59 $01 $CE
Received OBD-II message: $6C $F1 $1A $59 $43 $74 $01 $80
Received OBD-II message: $6C $F1 $1A $59 $43 $79 $01 $BB
Received OBD-II message: $6C $F1 $1A $59 $45 $50 $01 $DD
Received OBD-II message: $6C $F1 $1A $59 $87 $70 $01 $0B
Received OBD-II message: $6C $F1 $1A $59 $87 $75 $01 $6A
Received OBD-II message: $6C $F1 $1A $59 $87 $80 $01 $E9
Received OBD-II message: $6C $F1 $1A $59 $87 $85 $01 $88
Received OBD-II message: $6C $F1 $1A $59 $87 $90 $01 $5D
Received OBD-II message: $6C $F1 $1A $59 $A7 $25 $01 $04
Received OBD-II message: $6C $F1 $1A $59 $D3 $01 $01 $12
Received OBD-II message: $6C $F1 $1A $59 $00 $00 $93 $BB

Logged
Strangerock
Newbie
*
Offline Offline

Posts: 6


View Profile
« Reply #9 on: October 24, 2011, 04:01:45 pm »

Blurry , You are the man . I found this info most interesting , and was able to read a CO310 code off of my astro and reset it.

Thanks abunch bro.
Logged
blurry
Newbie
*
Offline Offline

Posts: 8


View Profile
« Reply #10 on: October 24, 2011, 05:00:21 pm »

Glad to help.  I spent some time figuring it out, shame gm makes it so hard.  I'm sure there are lots of things you can query like voltages, don't have the time to figure that out.  This was enough to isolate to the return wire on my actuator which was pinched in the harness.

Happy a fixing!
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.13 | SMF © 2006-2011, Simple Machines LLC Valid XHTML 1.0! Valid CSS!
Page created in 0.106 seconds with 20 queries.
Home | News | Products | Downloads | Forum | Distributors | Store | Contact Us
Copyright © 2013 Palmer Performance Engineering, Inc. All Rights Reserved.