PDA

View Full Version : Building a LT1 $EE ADS file from ALDL DS file?



EagleMark
12-06-2011, 10:46 PM
Well I'm figurung this ADS file is built from origanal ALDL DS files. I have all them.

Once they are converted or built you have the equivilent for instance $42 is ALDL A033.ds converted is now A033.ads. Import to Tunerpro and you now have an ADX that can be custimized in TP and hand edited in NotePad or EditPad.

Most ds files have been converted and available on TP website but the one I need is not.

Does anyone know how to convert/build an ADS from the DS?

JeepsAndGuns
12-07-2011, 02:24 AM
In the effort to lean...
What is a ALDL DS file? Is it a datastream defination file from like a scan tool? Did you just copy that file from a scan tool and then convert it to another file type to be used in tunerpro? I know ads is what the older versions (pre version 5) of tunerpro used, and version 5 converts them to adx. I have no idea what all these names or file extensions mean, so I have no idea what the diffrence is.

Six_Shooter
12-07-2011, 03:42 AM
It's not overly difficult, just time consuming.

What you have to do is use the parameters that are stated in the DS file as the information you need to imput in to TP to create the ADS or ADX.

Look for my 160 Baud ADX tutorial on the Tuner Pro site, IIRC it's in the Scanner Pro forum. There are some differences when building an 8192 baud ADS/ADX, but most of the information is a straight across copy.

--==edit==--

here are a couple links:
160 Baud ADX tutorial (http://forum.tunerpro.net/viewtopic.php?t=1016)

A thread I started previous to the one above, that has some information about the bitmasks and such that can get a bit confusing:
Creating ADX files... (http://forum.tunerpro.net/viewtopic.php?t=771)

EagleMark
12-07-2011, 08:01 AM
I looked over some 160 baud stuff I am familar with like the $42 which is from A033.ds and it made sense comparing it to an ads or adx file... I think I could do that... but there is no need they are all done...

But when I looked at the 8192 baud stuff and compared it to known files nothing made sense? Commands listed in ds were not correct in ads or adx... that is hard to follow... I figured if I could compare some stuff I could figure out why my EE.adx shows weird data...

I think this is going to be a long learning curve...

Six_Shooter
12-07-2011, 08:48 PM
You have to make sure you are using the correct .DS file to compare to. Sometimes there are multiple .DS files listed for the same or similar applications.

EagleMark
12-07-2011, 11:37 PM
Done that several times. The one for EE was written using A223.ds for a Y car. Commands do not match up to EE.adx but are close, extras were added? Couple were wrong? Like 0x57 should be 0x56 from the ALDL.ds

My car is A276.ds I started with the EE.ADX and re wrote all commands exactly from A276.ds and will try it out later.

EE.adx for LT1 can not work on Y car, F car and B car because they all use differant ds files. I verified this by getting a trail of DataMaster and there is a differant setting for each car... for instance CCM has to be silenced on Y car. B car does not have CCM tied into datastream but does have SDM or SIR and EBCM tied into serial data that would need to be silenced. The way I redid the commands were straight from the A276.ds and it looks like they are in there. For comparison my commands are twice as long as origanal EE.adx...

But then again I checked the $OD.adx stuff and it did not match up to ALDL data A219 or A217, I forget which, again extras were added... So even if I get them right I need to know more about how TP uses them... or what the extras are?

EagleMark
12-08-2011, 07:08 AM
Just found the first EE LT1 adx file and another modified. In the commands they are nothing like what the aldl ds lists and nothing like the latest EE on TP website. So far I have about 15 hours into trying to learn how to do this from a ds file and just can't find the information.

Going to try them in my LT1 tomorrow and see if any work.

With Robert retired I just don't know if anyone will be able to figure these out.

Mark at TP is going to have to do a tutorial so we can write these. There's got to be a sceince to this. Even if I get data coming in on same it has a glitch where it jumps numbers for a second then back. Looked at the origanal EE first one written for SannerPro before it was incoperated to TunerPro and it has loads of silence commands the new one does not... with hex adress not even mentioned in the ALDL.ds... so how the heck do you figure it out?

Six_Shooter
12-08-2011, 08:50 AM
It's probably an offset that is confusing you, remember hex always starts counting at 0 (zero).

EagleMark
12-08-2011, 05:05 PM
I thought about that after reading your ADX write ups and the Understanding Hex at TunerPro. But some of the address are spot on, some were not even mentioned?

So it's like they used all ALDL.ds address but added a few.

Then as far as commands, replies and macros they don't add up from ALDL.ds to what's written in TP ADX... that is one thing I have to figure out and there is no documentation on is Commands.
1. Send Command
2. Listen for packet response
OK those 2 I have figured in the ALDL.ds
3. Listen for silence
4. Trigger
5. Macro Command
Those three I don't understand. But with these old/first written EE.adx files they have a bunch where the new one does not. I'll have to see if I can reverse engeener what's there

EagleMark
12-09-2011, 05:29 AM
Here's the one I have been trying to get to work... To make things more confusing the listings for LT1 are below. Doesn't matter to much to compare them as they all have the same Mode 1 Message send... well some are 5 and leave out the trans? But most have six.
DATA STREAM A223
ENGINE USAGE:
5.7L MFI (LT1) (VIN = P) 1994 1B,F,Y 2F 4B 6D - CARS
3.4L MFI (L99) (VIN = T) 1994 1B - CARS
* 5.7L SFI (LT1) (VIN = P) 1995 1Y - CAR AUTOMATIC TRANSMISSIONDATA STREAM A273
ENGINE USAGE:
5.7L MFI (LT1) (VIN = P) 1994 1,2F - CARS MANUAL TRANSMISSION
* 5.7L SFI (LT1) (VIN = P) 1995 1,2F - CARS MANUAL TRANSMISSION
DATA STREAM A274
ENGINE USAGE:
5.7L MFI (LT1) (VIN = P) 1994 1,2F - CARS AUTOMATIC TRANSMISSION
* 5.7L SFI (LT1) (VIN = P) 1995 1,2F - CARS AUTOMATIC TRANSMISSION
DATA STREAM A275
ENGINE USAGE:
5.7L MFI (LT1) (VIN = P) 1994 1Y - CAR MANUAL TRANSMISSION
* 5.7L SFI (LT1) (VIN = P) 1995 1Y - CAR MANUAL TRANSMISSION
DATA STREAM A276
ENGINE USAGE:
5.7L SFI (LT1) (VIN = P) 1994 1,4B 6D - CARS
4.3L SFI (L99) (VIN = T) 1994 1B - CAR
* 5.7L SFI (LT1) (VIN = P) 1995 1,4B 6D - CARS
* 4.3L SFI (L99) (VIN = W) 1995 1B - CAR

Been looking through a lot of ALDL.ds files and good know working TP ADX files. One thing I notice added to TP files in a Mode 1 Message send is extra code added? not just this EE.ADX it is in $OD.ADX and others?

ALDL.ds says: MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 0)
ALDL REQUEST:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $57
- MODE NUMBER = $01
- MESSAGE NUMBER = $00
- CHECKSUM

TP Mode 1 Message 0 send says "0xF4 0x57 0x01 0x00 0xB4" So what is the "0xB4" for?

ALDL.ds MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 1)
ALDL REQUEST:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $57
- MODE NUMBER = $01
- MESSAGE NUMBER = $01
- CHECKSUM


TP Mode 1 Message1 Send and it says "0xF4 0x57 0x01 0x01 0xB3" So what is the "0xB3" for?

Go to third and last Mode 1 Message 2 and it adds a "0xB2"

Also found in A223.ds Mode 1 Messages for transmit data there are Six. But only 3 are in the EE.adx... I'm wondering if this is why I only get some data? So if I add the other three I may get my data, but really don't know if I should add a 0xB1 on one 0xB0 on another, but then whaat to do for third? Guess if I knew why they were there I would know what to do?

93V8S10
12-09-2011, 06:40 AM
0xB4 and 0xB3 are the checksum.

historystamp
12-09-2011, 07:21 AM
ALDL REQUEST:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $57
- MODE NUMBER = $01
- MESSAGE NUMBER = $00
- CHECKSUM

TP Mode 1 Message 0 send says "0xF4 0x57 0x01 0x00 0xB4" So what is the "0xB4" for?


The "0xB4" is the checksum.

Luke Skaff's senior engineering project was to build a scanner tool. He documents the commands in Appendix A Table 7. The request command is at the top of the table with the response below.


http://lukeskaff.com/?page_id=305


You can get his original report,
Senior_Project_2007_Automotive_Diagnostic_LCD_Inte rface.pdf


Look under the section (or do a google search).
4. College Senior Project Final Report

Robert

EagleMark
12-09-2011, 08:54 AM
0xB4 and 0xB3 are the checksum.Ahhh from the guy who has made the coolest xdf and adx! :rockon:

Now since I am trying to add the other Mode 1 data fixed messages how does one calculate the checksum? I just saw a pattern of it going down... but it should be calculated from something?

I'd sure like to get the EE,adx working for the 94-95 LT1 engines. It connects and gets some data, some wrong data and some NO data...

EagleMark
12-09-2011, 09:10 AM
ALDL REQUEST:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $57
- MODE NUMBER = $01
- MESSAGE NUMBER = $00
- CHECKSUM

TP Mode 1 Message 0 send says "0xF4 0x57 0x01 0x00 0xB4" So what is the "0xB4" for?

The "0xB4" is the checksum.

Luke Skaff's senior engineering project was to build a scanner tool. He documents the commands in Appendix A Table 7. The request command is at the top of the table with the response below.

http://lukeskaff.com/?page_id=305

You can get his original report,
Senior_Project_2007_Automotive_Diagnostic_LCD_Inte rface.pdf

Look under the section (or do a google search).
4. College Senior Project Final Report

Robert
Great link! :thumbsup: I've read his stuff before about the Northstar DIS.

Here's what I found in that Senior Project .pdf

For reference, refer to Appendix A for the list of commands each ECU mode is

activated by. The most basic command set will include in this order: a message ID byte,

message length byte, mode byte, and a checksum byte. The more complex commands

will have other data bytes transmitted after the mode byte and before the checksum byte.

The first command in the command set is the message ID byte which lets the ECU know

what category of command it is receiving. Since all the commands listed above and in

Appendix A are diagnostic commands they all have the same message ID byte of 0xF4.

The next command in the command set is the message length byte. The most basic

command set has a base message length byte of 0x56 and any other commands or data

transmitted increments the message length number per extra byte transmitted. The mode

byte is simply the desired ECU operation mode number. Other data bytes must be

transmitted in the more complex data modes which are: mode 2, mode 3, and mode 4.

The last byte to be transmitted is the checksum byte. The checksum byte is the one’s

complement of the sum of all bytes transmitted.

93V8S10
12-09-2011, 11:38 PM
Looks like you've got the answer.

I didn't have to work with this on the masks I worked on, since working ADX files had been done.

Hope you can get it working.

EagleMark
12-09-2011, 11:54 PM
That information pointed me in the right direction. But then got confusing. ECM Guy wrote:
Note:

1. The sum
check is the complement of the message. When the incoming message is added
it
will always have a LSB
of $FF

Well if I add 0xF4 0x57 0x01 0x00 I get a checksum of 0x4C? So that does not correspond to the 0xB4 So I added the 0xFF and got Ox4B? went down? did all this using a calculator. The looked at the Command entry/Edit box in Tunerpro and used the checksum and came out with the same thing... then tried the Checksum box with ones complement and got OxB3 but forgot to add the $FF from above and then got the correct Checksum that was there in the first place 0xB4.

So conclusion when building an ADX from ALDL is use info from ALDL.ds for that Mode 1 data message
ALDL.ds says: MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 0)
ALDL REQUEST:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $57
- MODE NUMBER = $01
- MESSAGE NUMBER = $00
- CHECKSUM

TP Mode 1 Message 0 send says "0xF4 0x57 0x01 0x00" Click the Checksum box and choose 2's complement and you will get the 0XFF added to it plus incoming message for the correct Checksum of 0xB4 for that message. Copy it and add it to hex stream.
0xF4 0x57 0x01 0x00
and paste 0xB4 to get.
0xF4 0x57 0x01 0x00 0xB4

$B4 or 0XB4 is 180 in decimal. I still have not figured out exactly what is uses to get that number, but at this point TunerPro has another built in feature to serve this purpose! :rockon:

Then if you have the correct hex string 0xF4 0x57 0x01 0x00 0xB4 you can use the Checksum button to check, it should come back as 0x00 in Sum. 0x00 in 1's Compliment and 0xFF in 2's Complement.

EagleMark
12-10-2011, 07:39 AM
Looks like you've got the answer.

I didn't have to work with this on the masks I worked on, since working ADX files had been done.

Hope you can get it working.Well there is an EE that works sortaa, but I checked all the LT1 forums and no one can seem to get it to work, some get this and soemget that and some get nothing... I get a little of each. So I set out to start from scratch. But had one that sorta works to compare to and lots of good known working ones to look at and reverse engineer... way to many hours into this already...

EagleMark
12-10-2011, 07:56 AM
On to the next question. Seems I am trying to learn the hardest OBDI to start...

This is an what the aldl file A219.ds says for the $OD for transmitting data. Pretty easy, one command.

MODE 1 (TRANSMIT FIXED DATA STREAM)
ALDL REQUEST:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $57
- MODE = $01
- MESSAGE = $00
- SUM CHECK
THE PCM WILL RESPOND WITH THE FOLLOWING MESSAGE:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $95
- MODE = $01
- DATA BYTE 1
.
.
- DATA BYTE 63
- SUM CHECK




This is what the ALDL A276.ds for $EE says for the LT1

MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 0)
ALDL REQUEST:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $57
- MODE NUMBER = $01
- MESSAGE NUMBER = $00
- CHECKSUM
THE ECM WILL RESPOND WITH THE FOLLOWING MESSAGE:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $92
- MODE NUMBER = $01
- DATA BYTE 1
.
.
- DATA BYTE 60
- CHECKSUM
MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 1)
ALDL REQUEST:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $57
- MODE NUMBER = $01
- MESSAGE NUMBER = $01
- CHECKSUM
THE ECM WILL RESPOND WITH THE FOLLOWING MESSAGE:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $84
- MODE NUMBER = $01
- DATA BYTE 1
.
.
- DATA BYTE 46
- CHECKSUM
MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 2)
ALDL REQUEST:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $57
- MODE NUMBER = $01
- MESSAGE NUMBER = $02
- CHECKSUM
THE ECM WILL RESPOND WITH THE FOLLOWING MESSAGE:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $8B
- MODE NUMBER = $01
- DATA BYTE 1
.
.
- DATA BYTE 53
- CHECKSUM
MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 4)
ALDL REQUEST:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $57
- MODE NUMBER = $01
- MESSAGE NUMBER = $04
- CHECKSUM
THE ECM WILL RESPOND WITH THE FOLLOWING MESSAGE:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $83
- MODE NUMBER = $01
- DATA BYTE 1
.
.
- DATA BYTE 45
- CHECKSUM
MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 5)
ALDL REQUEST:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $57
- MODE NUMBER = $01
- MESSAGE NUMBER = $05
- CHECKSUM
THE ECM WILL RESPOND WITH THE FOLLOWING MESSAGE:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $B7
- MODE NUMBER = $01
- DATA BYTE 1
.
.
- DATA BYTE 97
- CHECKSUM
MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 6)
ALDL REQUEST:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $57
- MODE NUMBER = $01
- MESSAGE NUMBER = $06
- CHECKSUM
THE ECM WILL RESPOND WITH THE FOLLOWING MESSAGE:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $7C
- MODE NUMBER = $01
- DATA BYTE 1
.
.
- DATA BYTE 38
- CHECKSUM

So I have six messages to transmit data, message five is from the transmission, original message 0, message 1 and message 2 are in the available EE.adx but only one is linked to... I'm thinking a macro for all six? How could I find out what each is for? One or two could be for inflatable restraints and one for electronic brakes I would not need...

EagleMark
12-10-2011, 08:13 AM
Then on to next question which may have my answer to which transmit message is for what engine data, trans data and MALF flags and switches... don't have to read them all but look at the one in bold gives an idea what is in each.

But really how do you come up with the 0x20 or whatever needed for say Engine RPM?

Looks like Message 4 may not be needed, message five and six look to be OBDII code built in already in 1994! So maybe I only need the three?
Message 0
Message 1
Message 2

Wonder why they skipped message 3 in both?


..PAGE
..HEAD02L ALDL DATA LIST
..HEAD03L NUMBER OF DATA WORDS - 60
..HEAD04L ALDL MODE 1 MESSAGE 0 DATA LIST
WORD # DATA NAME DESCRIPTION
1 MALFFW10 LOGGED MALF FLAG WORD 10
0 CODE 86 LOW RATIO
1 CODE 85 TCC STUCK ON
2 CODE 84 3-2 DOWNSHIFT FEEDBACK FAULT (ODM)
3 CODE 83 TCC CONTROL FEEDBACK FAULT (ODM)
4 CODE 82 SHIFT A SOLENOID FAULT (ODM)
5 CODE 81 SHIFT B SOLENOID FAULT (ODM)
6 CODE 80 TRANSMISSION COMPONENT SLIPPING
7 CODE 79 TRANSMISSION OVER TEMPERATURE
2 MALFFW2 LOGGED MALF FLAG WORD 2
0 CODE 27 EGR ELECTRICAL FAULT (ODM)
1 CODE 26 CCP ELECTRICAL FAULT (ODM)
2 CODE 25 MAT SENSOR HIGH
3 CODE 23 MAT SENSOR LOW
4 CODE 16 LO-RES FAILURE
5 CODE 13 LEFT O2 SENSOR FAILED
6 CODE 12 NO REFERENCE PULSES
7 CODE 11 MALF INDICATOR LAMP (MIL) FAULT
3 MALFFW3 LOGGED MALF FLAG WORD 3
0 CODE 43 ESC FAILURE
1 CODE 42 EST GROUNDED
2 CODE 41 EST OPEN
3 CODE 36 HI-RES FAILURE
4 CODE 48 MASS AIR FLOW SYSTEM FAILURE
5 CODE 47 NOT USED
6 CODE 32 EGR SYSTEM FAULT
7 CODE 29 EAS ELECTRICAL FAULT (ODM)
MALFFW4 LOGGED MALF FLAG WORD 4
0 CODE 61 A/C LOW CHARGE
1 CODE 55 FUEL SYSTEM LEAN
2 CODE 54 NOT USED
3 CODE 52 ENGINE OIL TEMPERATURE LOW
4 CODE 50 SYSTEM VOLTAGE LOW
5 CODE 46 FUEL ENABLE FAILURE
6 CODE 45 LEFT O2 SENSOR RICH
7 CODE 44 LEFT O2 SENSOR LEAN
5 MALFFW5 LOGGED MALF FLAG WORD 5
0 CODE 69 A/C CLUTCH CIRCUIT OPEN
1 CODE 68 A/C RELAY SHORTED
2 CODE 67 A/C PRESSURE TRANSDUCER DEGRADED
3 CODE 66 A/C PRESSURE TRANSDUCER OPEN/SHORT
4 CODE 65 RIGHT O2 SENSOR RICH
5 CODE 64 RIGHT O2 SENSOR LEAN
6 CODE 63 RIGHT O2 SENSOR FAILED
7 CODE 62 OIL TEMPERATURE HIGH
6 MALFFW6 LOGGED MALF FLAG WORD 6
0 CODE 78 FAN 2 FAULT (ODM)
1 CODE 77 FAN 1 FAULT (ODM)
2 CODE 71 A/C EVAPORATOR TEMP SENSOR FAILED
3 CODE 70 A/C CLUTCH RELAY FAULT (ODM)
4 CODE 31 NOT USED
5 CODE 19 NOT USED
6 CODE 18 INJECTOR CIRCUIT
7 CODE 17 NOT USED
7 MALFFW7 LOGGED MALF FLAG WORD 7
0 CODE 57 NOT USED
1 CODE 56 NOT USED
2 CODE 49 NOT USED
3 CODE 34 MAP SENSOR LOW
4 CODE 33 MAP SENSOR HIGH
5 CODE 39 NOT USED
6 CODE 35 NOT USED
7 CODE 24 OUTPUT SPEED LOW
8 MALFFW8 LOGGED MALF FLAG WORD 8
0 CODE 53 SYSTEM VOLTAGE HIGH
1 CODE 51 PROM/FLASH ERROR
2 CODE 38 BRAKE SWITCH STUCK OFF
3 CODE 37 BRAKE SWITCH STUCK ON
4 CODE 22 THROTTLE POSITION LOW
5 CODE 21 THROTTLE POSITION HIGH
6 CODE 15 COOLANT TEMPERATURE LOW
7 CODE 14 COOLANT TEMPERATURE HIGH
9 SDINMW1 INPUT MODE WORD 1
0 1 = A/C CLUTCH STATUS
1 1 = A/C REQUEST
2 NOT USED
3 NOT USED
4 NOT USED
5 NOT USED
6 1 = PARK/NEUTRAL SWITCH
7 1 = CRUISE ACTIVE
10 SDINMW2 INPUT MODE WORD 2
0 1 = TCC BRAKE SWITCH
1 NOT USED
2 NOT USED
3 1 = TRANSMISSION MODE A
4 1 = TRANSMISSION MODE B
5 1 = TRANSMISSION MODE C
6 1 = SPARK RETARD REQUEST
7 1 = ASR ACTIVE
11 SDOUTMW1 OUTPUT MODE WORD 1
0 1 = TCC CONTROL
1 1 = TCC ENABLE
2 1 = SHIFT A SEE TABLE
3 1 = SHIFT B SEE TABLE
4 NOT USED
5 NOT USED
6 NOT USED
7 NOT USED

SHIFT B SHIFT A GEAR
----------------------
0 0 3RD
----------------------
0 1 4TH
----------------------
1 0 2ND
----------------------
1 1 1ST
----------------------
12 SDOUTMW2 OUTPUT MODE WORD 2
0 1 = FAN 1 RELAY
1 1 = FAN 2 RELAY
2 1 = A.I.R. PUMP
3 1 = A/C CLUTCH
4 NOT USED
5 NOT USED
6 NOT USED
7 NOT USED
13 SDSTMW1 STATUS MODE WORD 1
0 1 = ENGINE CLOSED LOOP
1 1 = LEFT O2 READY
2 1 = RIGHT O2 READY
3 1 = LEARN ENABLED
4 NOT USED
5 1 = CATALYTIC CONVERTER OVERTEMP
6 NOT USED
7 NOT USED
14 SDSTMW2 STATUS MODE WORD 2
0 1 = POWER ENRICHMENT ACTIVE
1 1 = KICKDOWN PATTERN
2 1 = MALF 43A ACTIVE
3 1 = MALF 43C ACTIVE
4 1 = MALF 43D ACTIVE
5 1 = INJECTOR FAULT DETECTED THIS RUN CYCLE
6 1 = FEDS ENABLED
7 1 = RESET OCCURRED THIS RUN CYCLE
15 MALFFW11 LOGGED MALF FLAG WORD 11
0 CODE 94 TRANS MANUAL LAMP CKT
1 CODE 93 SERVICE VEHICLE SOON LAMP CKT
2 CODE 92 NORM/PERF LAMP CKT
3 CODE 91 1-4 LAMP CKT
4 CODE 90 TCC SOLENOID CKT
5 CODE 89 NOT USED
6 CODE 88 NOT USED
7 CODE 87 NOT USED
16 PRNDLFLG RANGE INDICATION
0 1 = LOW
1 1 = DRIVE 2
2 1 = DRIVE 3
3 1 = DRIVE 4
4 1 = NOT USED
5 1 = REVERSE
6 1 = PARK/NEUTRAL
7 1 = INVALID
17 SDCYLID CYLINDER ID (LOWER BYTE)
N = CYLINDER ID
18 NEWRFPRT PRESENT MINOR LOOP REFERENCE PERIOD (MSB)
19 NEWRFPRT+1 PRESENT MINOR LOOP REFERENCE PERIOD (LSB)
RPM = 2949120/N
MSECS = N * .005078
20 GP6ERPMC COEFFICIENT OF VARIATION OF RPM
N = % * 10.24
21 ISESDD DESIRED IDLE SPEED
N = RPM / 12.5
22 NTRPMX RPM VARIABLE SCALED 25 RPM / BIT
N = RPM / 25
23 COOLDEGR RAW LINEARIZED COOLANT TEMPERATURE
DEG C = .75N - 40
DEG F = 1.35N - 40
24 OILDEG LINEARIZED OIL TEMPERATURE TERM
DEGC = .8N - 40
DEG F = 1.44N - 40
25 MATDEGND NON-DEFAULTED MAT VARIABLE
DEG C = .75N - 40
DEG F = 1.35N - 40
26 NOT USED
27 ADACPRES A/D RESULT FROM A/C PRESSURE TRANSDUCER
VOLTS = 5N/255
PSI = 1.833N - 14.95
28 ADMAP A/D RESULT FROM MANIFOLD PRES. SENSOR INPUT
VOLTS = 5N/255
(kpa = (N + 28.06)/2.71)
29 ADTHROTT A/D RESULT FROM TPS INPUT
VOLTS = 5N/255
30 NTPSLDT THROTTLE POSITION LOAD AXIS VARIABLE
% TPS = N/2.55
31 ADIGNVLT A/D RESULT FROM IGNITION VOLTAGE INPUT
VOLTS = N/10
32 NVADBARO NON-VOLATILE COMPUTED A/D BARO
VOLTS = 5N/255
(kpa = (N + 28.06)/2.71)
33 ADLO2RAW RAW A/D COUNTS FROM LEFT O2 SENSOR (EECC)
mV = 4.44N
34 ADRO2RAW RAW A/D COUNTS FROM RIGHT O2 SENSOR (EECC
mV = 4.44N
35 NOT USED
36 ADDO2B A/D RESULT FROM DIAG O2 B (RIGHT) INPUT
mV = 4.44N
37 BLMCELL BLOCK LEARN MULTIPLIER CELL NUMBER
N = CELL
38 LBLM LEFT BANK BLOCK LEARN MULTIPLIER
N = COUNTS
39 RBLM RIGHT BANK BLOCK LEARN MULTIPLIER
N = COUNTS
40 LCORRCL CLOSED LOOP CORRECTION FOR LEFT O2 SENSOR
N = COUNTS
41 RCORRCL CLOSED LOOP CORRECTION FOR RIGHT O2 SENSOR
N = COUNTS
42 GP6EBPWL GMP6-E LEFT BASE PULSE WIDTH (MSB)
43 GP6EBPWL+1 GMP6-E LEFT BASE PULSE WIDTH (LSB)
MSEC = N/65.536
44 GP6EBPWR GMP6-E RIGHT BASE PULSE WIDTH (MSB)
45 GP6EBPWR+1 GMP6-E RIGHT BASE PULSE WIDTH (LSB)
MSEC = N/65.536
46 GP6EAFND GMP6-E NON-DEFAULTED AIRFLOW (MSB)
47 GP6EAFND+1 GMP6-E NON-DEFAULTED AIRFLOW (LSB)
GM/SEC = 512N/65536
48 CCPDC OUTPUT DUTY CYCLE FOR CCP
%DC = N/2.55
49 ISSPMP IAC PRESENT MOTOR POSITION
MOTOR POSITION = N
50 ISMNMPKA KEEP-ALIVE IAC MINIMUM MOTOR POSITION
KA MINIMUM MOTOR POSITION = N
51 GP6ESPKO SPARK OUTPUT
DEGREES = N
52 GP6ENOCK KNOCK RETARD
DEGREES = N/16
53 GP6EP2CT UP INTEGRATED KNOCK SENSOR INPUT (MSB)
54 GP6EP2CT+1 UP INTEGRATED KNOCK SENSOR INPUT (LSB)
N = ESC COUNTS
55 NOT USED
56 GP6TEGR EGR DUTY CYCLE
%DC = N/2.55
57 MALFFW12 LOGGED MALF FLAG WORD 12
0 CODE 99 TACH OUTPUT CKT FAULT
1 CODE 98 TORQUE DELIVERED CKT FAULT
2 CODE 97 4K PULSES CKT FAULT (VSS)
3 CODE 96 OIL LEVEL LAMP CKT FAULT
4 CODE 95 OIL LIFE LAMP CKT FAULT
5 CODE 60 NOT USED
6 CODE 40 NOT USED
7 CODE 30 NOT USED
58 MPH VEHICLE SPEED
MPH = N
59 TIME ENGINE RUN TIME (MSB)
60 TIME+1 ENGINE RUN TIME (LSB)
SECONDS = N
..PAGE
..HEAD02L ALDL DATA LIST
..HEAD03L NUMBER OF DATA WORDS - 46
..HEAD04L ALDL MODE 1 MESSAGE 1 DATA LIST
WORD # DATA NAME DESCRIPTION
1 MALFFW7 MALF FLAGWORD #7
0 CODE 57 NOT USED
1 CODE 56 NOT USED
2 CODE 49 NOT USED
3 CODE 34 MAP SENSOR LOW
4 CODE 33 MAP SENSOR HIGH
5 CODE 39 NOT USED
6 CODE 35 NOT USED
7 CODE 24 OUTPUT SPEED LOW
2 MALFFW8 MALF FLAGWORD #8
0 CODE 53 SYSTEM VOLTAGE HIGH
1 CODE 51 PROM/FLASH ERROR
2 CODE 38 BRAKE SWITCH STUCK OFF
3 CODE 37 BRAKE SWITCH STUCK ON
4 CODE 22 THROTTLE POSITION LOW
5 CODE 21 THROTTLE POSITION HIGH
6 CODE 15 COOLANT TEMPERATURE LOW
7 CODE 14 COOLANT TEMPERATURE HIGH
3 MALFFW9 MALF FLAGWORD #9
0 CODE 76 LONG SYSTEM VOLTAGE HIGH
1 CODE 75 SYSTEM VOLTAGE LOW
2 CODE 74 ASR ACTIVE FAULT
3 CODE 73 FORCE MOTOR CURRENT
4 CODE 72 OUTPUT SPEED LOSS
5 CODE 59 TRANSMISSION TEMPERATURE LOW
6 CODE 58 TRANSMISSION TEMPERATURE HIGH
7 CODE 28 PRESSURE SWITCH MANIFOLD
4 MALFFW10 MALF FLAGWORD #10
0 CODE 86 LOW RATIO
1 CODE 85 TCC STUCK ON
2 CODE 84 3-2 DOWNSHIFT FEEDBACK FAULT (ODM)
3 CODE 83 TCC CONTROL FEEDBACK FAULT (ODM)
4 CODE 82 SHIFT A SOLENOID FAULT (ODM)
5 CODE 81 SHIFT B SOLENOID FAULT (ODM)
6 CODE 80 TRANSMISSION COMPONENT SLIPPING
7 CODE 79 TRANSMISSION OVER TEMPERATURE
5 MALFFW11 MALF FLAGWORD #11
0 CODE 94 TRANS MANUAL LIGHT FAULT (ODM)
1 CODE 93 SERVICE VEH. SOON LIGHT FAULT (ODM)
2 CODE 92 TRANS PERF LIGHT FAULT (ODM)
3 CODE 91 NOT USED
4 CODE 90 TCC ENABLE FAULT (ODM)
5 CODE 89 MAX ADAPT AND LONG SHIFT
6 CODE 88 NOT USED
7 CODE 87 HIGH RATIO
6 ADTHROT A/D RESULT FROM TPS INPUT
VOLTS = 5N/255
7 NDTHRPOS CURRENT NON-DEFAULTED POSITION OF THROTTLE
N = A/D COUNTS
8 NE ENGINE SPEED (FILTERED) MSB
9 NE+1 ENGINE SPEED (FILTERED) LSB
RPM = N/8
10 VEHSPEED VEHICLE SPEED (FILTERED)
MPH = N/2
11 PRESSURE CURRENT TORQUE SIGNAL PRESSURE
PSI = N
12 CURRENT REFERENCE CURRENT FORCE MOTOR CIRCUIT
AMPS = N/51.2
13 CURRACT ACTUAL CURRENT SAMPLED FROM A/D
AMPS = N/51.2
14 FMDC FORCE MOTOR DUTY CYCLE
% = N/2.55
15 PRNDLFLG RANGE FLAGWORD
0 1 = LOW GEAR
1 1 = DRIVE 2
2 1 = DRIVE 3
3 1 = DRIVE 4
4 1 = NOT USED
5 1 = REVERSE
6 1 = PARK/NEUTRAL
7 1 = ILLEGAL RANGE
16 ADBAT TRANSMISSION IGNITION VOLTAGE VARIABLE
VOLTS = N/10
17 GEAR CURRENT COMMANDED GEAR OF TRANSMISSION
GEAR = N + 1
18 CURADPT CURRENT ADAPTIVE MODIFIER
PSI = N
19 CURCELL CURRENT ADAPTIVE MODIFIER INDEX WITHIN TABLE
N = CELL
20 ERROR12 ERROR BETWEEN DESIRED AND ACTUAL SHIFT TIMES FOR LATEST
SECONDS = N/40
21 ERROR23 ERROR BETWEEN DESIRED AND ACTUAL SHIFT TIMES FOR LATEST
SECONDS = N/40
22 SLIP ABSOLUTE VALUE OF SLIP (MSB)
23 SLIP+1 ABSOLUTE VALUE OF SLIP (LSB)
RPM = N/8 (SIGNED)
24 TIME12 TIME OF LATEST 1-2 UPSHIFT
SECONDS = N/40
25 TIME23 TIME OF LATEST 2-3 UPSHIFT
SECONDS = N/40
26 PROMIDB PROM ID FOR TRANSMISSION (MSB)
27 PROMIDB+1 PROM ID FOR TRANSMISSION (LSB)
ID = N
28 DSSDC 3-2 PWM SOL.% DUTY CYCLE
%DC = N/2.55
29 MPH 1 MPH/BIT ROAD SPEED VARIABLE
MPH = N
30 NORAWA RAW OUTPUT SPEED (MSB)
31 NORAWA+1 RAW OUTPUT SPEED (LSB)
RPM = N/8
32 CLDEGFLT COOLANT VARIABLE, FILTERED - ENGINE
DEG C = .75N - 40
DEG F = 1.35N - 40
33 TRANDEGA NORMALIZED TRANSMISSION FLUID TEMPERATURE
DEG C = .75N - 40
DEG F = 1.35N - 40
34 TCCDC TCC PWM SOLENOID DUTY CYCLE (MSB)
35 TCCDC+1 TCC PWM SOLENOID DUTY CYCLE (LSB)
%DC = (256MSB + LSB)/655.36
36 SDINMW1 INPUT MODE WORD 1
0 A/C CLUTCH STATUS
1 A/C REQUEST
2 NOT USED
3 NOT USED
4 NOT USED
5 NOT USED
6 PARK/NEUTRAL SWITCH
7 CRUISE ACTIVE
37 SDINMW2 INPUT MODE WORD 2
0 TCC BRAKE SWITCH
1 NOT USED
2 NOT USED
3 TRANSMISSION MODE A
4 TRANSMISSION MODE B
5 TRANSMISSION MODE C
6 SPARK RETARD REQUEST
7 ASR ACTIVE
38 SDOUTMW1 OUTPUT MODE WORD 1
0 TCC CONTROL
1 TCC ENABLE
2 SHIFT A
3 SHIFT B
4 NOT USED
5 NOT USED
6 NOT USED
7 NOT USED
39 SDSTMW1 STATUS MODE WORD 1
0 1 = ENGINE CLOSED LOOP
1 1 = LEFT O2 READY
2 1 = RIGHT O2 READY
3 1 = LEARN ENABLED
4 NOT USED
5 1 = CATALYTIC CONVERTER OVERTEMP
6 NOT USED
7 NOT USED
40 SDSTMW2 STATUS MODE WORD 2
0 1 = POWER ENRICHMENT ACTIVE
1 1 = KICKDOWN PATTERN
2 1 = MALF 43A ACTIVE
3 1 = MALF 43C ACTIVE
4 1 = MALF 43D ACTIVE
5 1 = INJECTOR FAULT DETECTED THIS RUN CYCLE
6 1 = FEDS ENABLED
7 1 = RESET OCCURRED THIS RUN CYCLE
41 SDTCCOFF SERIAL DATA TCCOFF MODE WORD
0 1 = RANGE CONTINGENCY
1 1 = MIN TPS CONTINGENCY
2 1 = BRAKE ON, TCC OFF
3 1 = NEGATIVE DELTA TPS
4 1 = TCC SLIP CONTINGENCY
5 1 = A/C ON CONTINGENCY
6 1 = TCC ENGAGED
7 NOT USED
42 SDADPTBL SERIAL DATA ADAPTABLE SHIFT MW
0 1 = NOT IN NORMAL MODE
1 1 = LAST WAS STANDARD ADAPT
2 1 = LONG SHIFT DELAY
3 1 = LONG SHIFT TIME
4 1 = NOT WITHIN TPS RANGE
5 1 = EXCESSIVE DELTA TPS
6 1 = IN HOT MODE
7 1 = EXCESSIVE DELTA VEHICLE SPEED
43 NOT USED
44 MISCSTAT MISC STATUS BITS
0 1 = START OF SHIFT
1 1 = END OF SHIFT
2 1 = POWERTRAIN IN MOTION
3 1 = IGNITION OFF
4 NOT USED
5 NOT USED
6 NOT USED
7 NOT USED
45 ODMTRNOP OPEN CIRCUIT STATUS
0 1 = TCC CONTROL
1 1 = TCC ENABLE
2 1 = SHIFT A SOLENOID
3 1 = SHIFT B SOLENOID
4 1 = 3-2 DSS SOLENOID
5 NOT USED
6 NOT USED
7 NOT USED
46 ODMTRNSH SHORT CIRCUIT STATUS
0 1 = TCC CONTROL
1 1 = TCC ENABLE
2 1 = SHIFT A SOLENOID
3 1 = SHIFT B SOLENOID
4 1 = 3-2 DSS SOLENOID
5 NOT USED
6 NOT USED
7 NOT USED
..PAGE
..HEAD02L ALDL DATA LIST
..HEAD03L NUMBER OF DATA WORDS - 53
..HEAD04L ALDL MODE 1 MESSAGE 2 DATA LIST
WORD # DATA NAME DESCRIPTION
1 NOT USED
2 NEWMLF2 NEW MALF FLAG WORD 2
0 CODE 27 EGR ELECTRICAL FAULT (ODM)
1 CODE 26 CCP ELECTRICAL FAULT (ODM)
2 CODE 25 MAT SENSOR HIGH
3 CODE 23 MAT SENSOR LOW
4 CODE 16 LO-RES FAILURE
5 CODE 13 LEFT O2 SENSOR FAILED
6 CODE 12 NO REFERENCE PULSES
7 CODE 11 MALF INDICATOR LAMP (MIL) FAULT
3 NEWMLF3 NEW MALF FLAG WORD 3
0 CODE 43 ESC FAILURE
1 CODE 42 EST GROUNDED
2 CODE 41 EST OPEN
3 CODE 36 HI-RES FAILURE
4 CODE 48 MASS AIR FLOW SYSTEM FAILURE
5 CODE 47 NOT USED
6 CODE 32 EGR SYSTEM FAULT
7 CODE 29 EAS ELECTRICAL FAULT (ODM)
4 NEWMLF4 NEW MALF FLAG WORD 4
0 CODE 61 A/C LOW CHARGE
1 CODE 55 FUEL SYSTEM LEAN
2 CODE 54 NOT USED
3 CODE 52 OIL TEMPERATURE LOW
4 CODE 50 SYSTEM VOLTAGE LOW
5 CODE 46 FUEL ENABLE FAILURE
6 CODE 45 LEFT O2 SENSOR RICH
7 CODE 44 LEFT O2 SENSOR LEAN
5 NEWMLF5 NEW MALF FLAG WORD 5
0 CODE 69 A/C CLUTCH CIRCUIT OPEN
1 CODE 68 A/C RELAY SHORTED
2 CODE 67 A/C PRESSURE TRANSDUCER DEGRADED
3 CODE 66 A/C PRESSURE TRANSDUCER OPEN/SHORT
4 CODE 65 RIGHT O2 SENSOR RICH
5 CODE 64 RIGHT O2 SENSOR LEAN
6 CODE 63 RIGHT O2 SENSOR FAILED
7 CODE 62 OIL TEMPERATURE HIGH
6 NEWMLF6 NEW MALF FLAG WORD 6
0 CODE 78 FAN 2 FAULT (ODM)
1 CODE 77 FAN 1 FAULT (ODM)
2 CODE 71 A/C EVAPORATOR TEMP SENSOR FAILED
3 CODE 70 A/C CLUTCH RELAY FAULT (ODM)
4 CODE 31 NOT USED
5 CODE 19 NOT USED
6 CODE 18 NOT USED
7 CODE 17 NOT USED
7 NOT USED
8 NOT USED
9 NOT USED
10 NOT USED
11 NOT USED
12 NOT USED
13 NOT USED
14 MALFFW2 LOGGED MALF FLAG WORD 2
0 CODE 27 EGR ELECTRICAL FAULT (ODM)
1 CODE 26 CCP ELECTRICAL FAULT (ODM)
2 CODE 25 MAT SENSOR HIGH
3 CODE 23 MAT SENSOR LOW
4 CODE 16 LO-RES FAILURE
5 CODE 13 LEFT O2 SENSOR FAILED
6 CODE 12 NO REFERENCE PULSES
7 CODE 11 MALF INDICATOR LAMP (MIL) FAULT
15 MALFFW3 LOGGED MALF FLAG WORD 3
0 CODE 43 ESC FAILURE
1 CODE 42 EST GROUNDED
2 CODE 41 EST OPEN
3 CODE 36 HI-RES FAILURE
4 CODE 48 MASS AIR FLOW SYSTEM FAILURE
5 CODE 47 NOT USED
6 CODE 32 EGR SYSTEM FAULT
7 CODE 29 EAS ELECTRICAL FAULT (ODM)
16 MALFFW4 LOGGED MALF FLAG WORD 4
0 CODE 61 A/C LOW CHARGE
1 CODE 55 FUEL SYSTEM LEAN
2 CODE 54 NOT USED
3 CODE 52 OIL TEMPERATURE LOW
4 CODE 50 SYSTEM VOLTAGE LOW
5 CODE 46 FUEL ENABLE FAILURE
6 CODE 45 LEFT O2 SENSOR RICH
7 CODE 44 LEFT O2 SENSOR LEAN
17 MALFFW5 LOGGED MALF FLAG WORD 5
0 CODE 69 A/C CLUTCH CIRCUIT OPEN
1 CODE 68 A/C RELAY SHORTED
2 CODE 67 A/C PRESSURE TRANSDUCER DEGRADED
3 CODE 66 A/C PRESSURE TRANSDUCER OPEN/SHORT
4 CODE 65 RIGHT O2 SENSOR RICH
5 CODE 64 RIGHT O2 SENSOR LEAN
6 CODE 63 RIGHT O2 SENSOR FAILED
7 CODE 62 OIL TEMPERATURE HIGH
18 MALFFW6 LOGGED MALF FLAG WORD 6
0 CODE 78 FAN 2 FAULT (ODM)
1 CODE 77 FAN 1 FAULT (ODM)
2 CODE 71 A/C EVAPORATOR TEMP SENSOR FAILED
3 CODE 70 A/C CLUTCH RELAY FAULT (ODM)
4 CODE 31 NOT USED
5 CODE 19 NOT USED
6 CODE 18 NOT USED
7 CODE 17 NOT USED
19 MALFFW7 LOGGED MALF FLAG WORD 7
0 CODE 57 NOT USED
1 CODE 56 NOT USED
2 CODE 49 NOT USED
3 CODE 34 MAP SENSOR LOW
4 CODE 33 MAP SENSOR HIGH
5 CODE 39 NOT USED
6 CODE 35 NOT USED
7 CODE 24 OUTPUT SPEED LOW
20 MALFFW8 LOGGED MALF FLAG WORD 8
0 CODE 53 SYSTEM VOLTAGE HIGH
1 CODE 51 PROM/FLASH ERROR
2 CODE 38 BRAKE SWITCH STUCK OFF
3 CODE 37 BRAKE SWITCH STUCK ON
4 CODE 22 THROTTLE POSITION LOW
5 CODE 21 THROTTLE POSITION HIGH
6 CODE 15 COOLANT TEMPERATURE LOW
7 CODE 14 COOLANT TEMPERATURE HIGH
21 MALFFW9 LOGGED MALF FLAG WORD 9
0 CODE 76 LONG SYSTEM VOLTAGE HIGH
1 CODE 75 SYSTEM VOLTAGE LOW
2 CODE 74 ASR ACTIVE FAULT
3 CODE 73 FORCE MOTOR CURRENT
4 CODE 72 OUTPUT SPEED LOSS
5 CODE 59 TRANSMISSION TEMPERATURE LOW
6 CODE 58 TRANSMISSION TEMPERATURE HIGH
7 CODE 28 PRESSURE SWITCH MANIFOLD
22 MALFFW10 LOGGED MALF FLAG WORD 10
0 CODE 86 LOW RATIO
1 CODE 85 TCC STUCK ON
2 CODE 84 3-2 DOWNSHIFT FEEDBACK FAULT (ODM)
3 CODE 83 TCC CONTROL FEEDBACK FAULT (ODM)
4 CODE 82 SHIFT A SOLENOID FAULT (ODM)
5 CODE 81 SHIFT B SOLENOID FAULT (ODM)
6 CODE 80 TRANSMISSION COMPONENT SLIPPING
7 CODE 79 TRANSMISSION OVER TEMPERATURE
23 MALFFW11 LOGGED MALF FLAG WORD 11
0 CODE 94 TRANS MANUAL LIGHT FAULT (ODM)
1 CODE 93 SERVICE VEH. SOON LIGHT FAULT (ODM)
2 CODE 92 TRANS PERF LIGHT FAULT (ODM)
3 CODE 91 NOT USED
4 CODE 90 TCC ENABLE FAULT (ODM)
5 CODE 89 MAX ADAPT AND LONG SHIFT
6 CODE 88 NOT USED
7 CODE 87 HIGH RATIO
24 MALFFW12 LOGGED MALF FLAG WORD 12
0 CODE 99 TACH OUTPUT FAULT (ODM)
1 CODE 98 TORQUE DELIVERED FAULT (ODM)
2 CODE 97 4K PULSES PER MILE FAULT (ODM)
3 CODE 96 OIL LEVEL LIGHT FAULT (ODM)
4 CODE 95 OIL LIFE LIGHT FAULT (ODM)
5 CODE 60 NOT USED
6 CODE 40 NOT USED
7 CODE 30 NOT USED
25 NVRATIO RATIO OF ENGINE SPEED TO VEHICLE SPEED
N = RATIO
26 NEWRFPRT PRESENT MINOR LOOP REFERENCE PERIOD (MSB)
27 NEWRFPRT+1 PRESENT MINOR LOOP REFERENCE PERIOD (LSB)
RPM = 2949120/N
28 SDINMW2 INPUT MODE WORD 2
0 TCC BRAKE SWITCH
1 NOT USED
2 NOT USED
3 TRANSMISSION MODE A
4 TRANSMISSION MODE B
5 TRANSMISSION MODE C
6 SPARK RETARD REQUEST
7 ASR ACTIVE
29 PRNDLFLG PRNDL POSITION
0 1 = LOW GEAR
1 1 = DRIVE 2
2 1 = DRIVE 3
3 1 = DRIVE 4
4 1 = NOT USED
5 1 = REVERSE
6 1 = PARK/NEUTRAL
7 1 = ILLEGAL RANGE
30 ODM1OPFL ODM1 OPEN FAULT WORD
0 1 = FAN 1 OPEN FAILURE
1 1 = FAN 2 OPEN FAILURE
2 1 = TACH OUTPUT OPEN FAILURE
3 1 = TORQUE AVAILABLE OPEN FAILURE
4 1 = EGR 1 OPEN FAILURE
5 1 = ELECTRIC AIR SWITCH OPEN FAILURE
6 1 = TRANSMISSION PERFORMANCE LIGHT OPEN FAILURE
7 1 = ODM 1 OVER VOLTAGE FAILURE
31 ODM1SHFL ODM1 SHORT FAULT WORD
0 1 = FAN 1 SHORT FAILURE
1 1 = FAN 2 SHORT FAILURE
2 1 = TACH OUTPUT SHORT FAILURE
3 1 = TORQUE AVAILABLE SHORT FAILURE
4 1 = EGR 1 SHORT FAILURE
5 1 = ELECTRIC AIR SWITCH SHORT FAILURE
6 1 = TRANSMISSION PERFORMANCE LIGHT SHORT FAILURE
7 1 = ODM 1 OVER TEMPERATURE FAILURE
32 ODM2OPFL ODM2 OPEN FAULT WORD
0 1 = CHECK TRANSMISSION LIGHT OPEN FAILURE
1 1 = 4K PULSES/MILE OPEN FAILURE
2 1 = OIL LEVEL OPEN FAILURE
3 1 = TRANSMISSION MANUAL LIGHT OPEN FAILURE
4 1 = SHIFT A OPEN FAILURE
5 1 = SHIFT B OPEN FAILURE
6 1 = 3-2 SHIFT SOLENOID/C.A.R.S. OPEN FAILURE
7 1 = ODM 2 OVER VOLTAGE FAILURE
33 ODM2SHFL ODM2 SHORT FAULT WORD
0 1 = CHECK TRANSMISSION LIGHT SHORT FAILURE
1 1 = 4K PULSES/MILE SHORT FAILURE
2 1 = OIL LEVEL SHORT FAILURE
3 1 = TRANSMISSION MANUAL LIGHT SHORT FAILURE
4 1 = SHIFT A SHORT FAILURE
5 1 = SHIFT B SHORT FAILURE
6 1 = 3-2 SHIFT SOLENOID/C.A.R.S. SHORT FAILURE
7 1 = ODM 2 OVER TEMPERATURE FAILURE
34 ODM3OPFL ODM3 OPEN FAULT WORD
0 1 = CHECK ENGINE LIGHT (MIL) OPEN FAILURE
1 1 = A/C CLUTCH OPEN FAILURE
2 1 = OIL LIFE OPEN FAILURE
3 1 = NOT USED
4 1 = CCP OPEN FAILURE
5 1 = TCC ENABLE SOLENOID OPEN FAILURE
6 1 = TCC CONTROL SOLENOID OPEN FAILURE
7 1 = ODM 3 OVER VOLTAGE FAILURE
35 ODM3SHFL ODM3 SHORT FAULT WORD
0 1 = CHECK ENGINE LIGHT (MIL) SHORT FAILURE
1 1 = A/C CLUTCH SHORT FAILURE
2 1 = OIL LIFE SHORT FAILURE
3 1 = NOT USED
4 1 = CCP SHORT FAILURE
5 1 = TCC ENABLE SOLENOID SHORT FAILURE
6 1 = TCC CONTROL SOLENOID SHORT FAILURE
7 1 = ODM 3 OVER TEMPERATURE FAILURE
36 QACTMF01 OBD-II ACTIVE MALF FLAG 1
7 P0155 BANK 2 FRT HO2S HEATER CKT
6 N/A
5 P0135 BANK 1 HO2S HEATER CKT
4 P1115 ECT CKT INT HIGH
3 P1114 ECT CKT INT LOW
2 P0118 ECT CKT HIGH INPUT
1 P0117 ECT CKT LOW INPUT
0 P0116 ECT CKT RANGE/ PERF PROBLEM
37 QACTMF02 OBD-II ACTIVE MALF FLAG 2
7 N/A
6 P0153 BANK 2 FRT HO2S SLOW RESPONSE
5 N/A
4 P0133 BANK 1 HO2S SLOW RESPONSE
3 N/A
2 P0172 BANK 1 FUEL TRIM RICH
1 P0171 BANK 1 FUEL TRIM LEAN
0 P0161 BANK 2 REAR HO2S HEATER CKT
38 QACTMF03 OBD-II ACTIVE MALF FLAG 3
7 P0154 BANK 2 FRT HO2S CKT NOT ACTIVE
6 P0134 BANK 1 HO2S CKT NOT ACTIVE
5 P0151 BANK 2 FRT HO2S CKT LEAN
4 P0131 BANK 1 HO2S CKT LEAN
3 N/A
2 P1153 BANK 2 FRT HO2S SWITCHING FLT
1 N/A
0 P1133 BANK 1 HO2S SWITCHING FLT
39 QACTMF04 OBD-II ACTIVE MALF FLAG 4
7 P0158 BANK 2 REAR HO2S CKT HIGH VOLT
6 N/A
5 P0160 BANK 2 REAR HO2S CKT NOT ACTIVE
4 N/A
3 N/A
2 N/A
1 P0152 BANK 2 FRT HO2S CKT RICH
0 P0132 BANK 1 HO2S CKT RICH
40 QACTMF05 OBD-II ACTIVE MALF FLAG 5
7 P0420 BANK 2 CATALYST SYSTEM FAULT
6 N/A
5 N/A
4 N/A
3 P1158 BANK 2 REAR HO2S SHIFTED RICH
2 N/A
1 N/A
0 N/A
41 QACTMF06 OBD-II ACTIVE MALF FLAG 6
7 N/A
6 N/A
5 N/A
4 N/A
3 N/A
2 N/A
1 P0175 BANK 2 FRT FUEL TRIM RICH
0 P0174 BANK 2 FRT FUEL TRIM LEAN
42 QHSTMF01 OBD-II HISTORY MALF FLAG 1
7 P0155 BANK 2 FRT HO2S HEATER CKT
6 N/A
5 P0135 BANK 1 HO2S HEATER CKT
4 P1115 ECT CKT INT HIGH
3 P1114 ECT CKT INT LOW
2 P0118 ECT CKT HIGH INPUT
1 P0117 ECT CKT LOW INPUT
0 P0116 ECT CKT RANGE/ PERF PROBLEM
43 QHSTMF02 OBD-II HISTORY MALF FLAG 2
7 N/A
6 P0153 BANK 2 FRT HO2S SLOW RESPONSE
5 N/A
4 P0133 BANK 1 HO2S SLOW RESPONSE
3 N/A
2 P0172 BANK 1 FUEL TRIM RICH
1 P0171 BANK 1 FUEL TRIM LEAN
0 P0161 BANK 2 REAR HO2S HEATER CKT
44 QHSTMF03 OBD-II HISTORY MALF FLAG 3
7 P0154 BANK 2 FRT HO2S CKT NOT ACTIVE
6 P0134 BANK 1 HO2S CKT NOT ACTIVE
5 P0151 BANK 2 FRT HO2S CKT LEAN
4 P0131 BANK 1 HO2S CKT LEAN
3 N/A
2 P1153 BANK 2 FRT HO2S SWITCHING FLT
1 N/A
0 P1133 BANK 1 HO2S SWITCHING FLT
45 QHSTMF04 OBD-II HISTORY MALF FLAG 4
7 P0158 BANK 2 REAR HO2S CKT HIGH VOLT
6 N/A
5 P0160 BANK 2 REAR HO2S CKT NOT ACTIVE
4 N/A
3 N/A
2 N/A
1 P0152 BANK 2 FRT HO2S CKT RICH
0 P0132 BANK 1 HO2S CKT RICH
46 QHSTMF05 OBD-II HISTORY MALF FLAG 5
7 P0420 BANK 2 CATALYST SYSTEM FAULT
6 N/A
5 N/A
4 N/A
3 P1158 BANK 2 REAR HO2S SHIFTED RICH
2 N/A
1 N/A
0 N/A
47 QHSTMF06 OBD-II HISTORY MALF FLAG 6
7 N/A
6 N/A
5 N/A
4 N/A
3 N/A
2 N/A
1 P0175 BANK 2 FRT FUEL TRIM RICH
0 P0174 BANK 2 FRT FUEL TRIM LEAN
BYTES 48-53 NOT USED
..PAGE
..HEAD02L ALDL DATA LIST
..HEAD03L NUMBER OF DATA WORDS - 45
..HEAD04L ALDL MODE 1 MESSAGE 4 DATA LIST
WORD # DATA NAME DESCRIPTION
1-17 VIN VEHICLE IDENTIFICATION NUMBER
18-21 ENDMODEL END MODEL PART NUMBER
22-37 SIDERAIL SIDE RAIL NUMBER
38-41 M1BTPTRN MODULE 1 BIT PATTERN NUMBER
42-45 GP6EM2P1 MODULE 2 (GMP6-E) PART NUMBER BYTE
..PAGE
..HEAD02L ALDL DATA LIST
..HEAD03L NUMBER OF DATA WORDS - 97
..HEAD04L ALDL MODE 1 MESSAGE 5 DATA LIST
WORD # DATA NAME DESCRIPTION
1 QLSTCY01 OBD-II ACTIVE LAST CYCLE FLAG 1 SAME AS ACTIVE OBD II
7 P0155 BANK 2 FRT HO2S HEATER CKT
6 N/A
5 P0135 BANK 1 HO2S HEATER CKT
4 P1115 ECT CKT INT HIGH
3 P1114 ECT CKT INT LOW
2 P0118 ECT CKT HIGH INPUT
1 P0117 ECT CKT LOW INPUT
0 P0116 ECT CKT RANGE/ PERF PROBLEM
2 QLSTCY02 OBD-II ACTIVE LAST CYCLE FLAG 2
7 N/A
6 P0153 BANK 2 FRT HO2S SLOW RESPONSE
5 N/A
4 P0133 BANK 1 HO2S SLOW RESPONSE
3 N/A
2 P0172 BANK 1 FUEL TRIM RICH
1 P0171 BANK 1 FUEL TRIM LEAN
0 P0161 BANK 2 REAR HO2S HEATER CKT
3 QLSTCY03 OBD-II ACTIVE LAST CYCLE FLAG 3
7 P0154 BANK 2 FRT HO2S CKT NOT ACTIVE
6 P0134 BANK 1 HO2S CKT NOT ACTIVE
5 P0151 BANK 2 FRT HO2S CKT LEAN
4 P0131 BANK 1 HO2S CKT LEAN
3 N/A
2 P1153 BANK 2 FRT HO2S SWITCHING FLT
1 N/A
0 P1133 BANK 1 HO2S SWITCHING FLT
4 QLSTCY04 OBD-II ACTIVE LAST CYCLE FLAG 4
7 P0158 BANK 2 REAR HO2S CKT HIGH VOLT
6 N/A
5 P0160 BANK 2 REAR HO2S CKT NOT ACTIVE
4 N/A
3 N/A
2 N/A
1 P0152 BANK 2 FRT HO2S CKT RICH
0 P0132 BANK 1 HO2S CKT RICH
5 QLSTCY05 OBD-II ACTIVE LAST CYCLE FLAG 5
7 P0420 BANK 2 CATALYST SYSTEM FAULT
6 N/A
5 N/A
4 N/A
3 P1158 BANK 2 REAR HO2S SHIFTED RICH
2 N/A
1 N/A
0 N/A
6 QLSTCY06 OBD-II ACTIVE LAST CYCLE FLAG 6
7 N/A
6 N/A
5 N/A
4 N/A
3 N/A
2 N/A
1 P0175 BANK 2 FRT FUEL TRIM RICH
0 P0174 BANK 2 FRT FUEL TRIM LEAN
7 QACTMF01 OBD-II ACTIVE MALF FLAG 1
7 P0155 BANK 2 FRT HO2S HEATER CKT
6 N/A
5 P0135 BANK 1 HO2S HEATER CKT
4 P1115 ECT CKT INT HIGH
3 P1114 ECT CKT INT LOW
2 P0118 ECT CKT HIGH INPUT
1 P0117 ECT CKT LOW INPUT
0 P0116 ECT CKT RANGE/ PERF PROBLEM
8 QACTMF02 OBD-II ACTIVE MALF FLAG 2
7 N/A
6 P0153 BANK 2 FRT HO2S SLOW RESPONSE
5 N/A
4 P0133 BANK 1 HO2S SLOW RESPONSE
3 N/A
2 P0172 BANK 1 FUEL TRIM RICH
1 P0171 BANK 1 FUEL TRIM LEAN
0 P0161 BANK 2 REAR HO2S HEATER CKT
9 QACTMF03 OBD-II ACTIVE MALF FLAG 3
7 P0154 BANK 2 FRT HO2S CKT NOT ACTIVE
6 P0134 BANK 1 HO2S CKT NOT ACTIVE
5 P0151 BANK 2 FRT HO2S CKT LEAN
4 P0131 BANK 1 HO2S CKT LEAN
3 N/A
2 P1153 BANK 2 FRT HO2S SWITCHING FLT
1 N/A
0 P1133 BANK 1 HO2S SWITCHING FLT
10 QACTMF04 OBD-II ACTIVE MALF FLAG 4
7 P0158 BANK 2 REAR HO2S CKT HIGH VOLT
6 N/A
5 P0160 BANK 2 REAR HO2S CKT NOT ACTIVE
4 N/A
3 N/A
2 N/A
1 P0152 BANK 2 FRT HO2S CKT RICH
0 P0132 BANK 1 HO2S CKT RICH
11 QACTMF05 OBD-II ACTIVE MALF FLAG 5
7 P0420 BANK 2 CATALYST SYSTEM FAULT
6 N/A
5 N/A
4 N/A
3 P1158 BANK 2 REAR HO2S SHIFTED RICH
2 N/A
1 N/A
0 N/A
12 QACTMF06 OBD-II ACTIVE MALF FLAG 6
7 N/A
6 N/A
5 N/A
4 N/A
3 N/A
2 N/A
1 P0175 BANK 2 FRT FUEL TRIM RICH
0 P0174 BANK 2 FRT FUEL TRIM LEAN
13 QMILFG01 OBD-II MIL REQUESTED FLAG 1
7 P0155 BANK 2 FRT HO2S HEATER CKT
6 N/A
5 P0135 BANK 1 HO2S HEATER CKT
4 P1115 ECT CKT INT HIGH
3 P1114 ECT CKT INT LOW
2 P0118 ECT CKT HIGH INPUT
1 P0117 ECT CKT LOW INPUT
0 P0116 ECT CKT RANGE/ PERF PROBLEM
14 QMILFG02 OBD-II MIL REQUESTED FLAG 2
7 N/A
6 P0153 BANK 2 FRT HO2S SLOW RESPONSE
5 N/A
4 P0133 BANK 1 HO2S SLOW RESPONSE
3 N/A
2 P0172 BANK 1 FUEL TRIM RICH
1 P0171 BANK 1 FUEL TRIM LEAN
0 P0161 BANK 2 REAR HO2S HEATER CKT
15 QMILFG03 OBD-II MIL REQUESTED FLAG 3
7 P0154 BANK 2 FRT HO2S CKT NOT ACTIVE
6 P0134 BANK 1 HO2S CKT NOT ACTIVE
5 P0151 BANK 2 FRT HO2S CKT LEAN
4 P0131 BANK 1 HO2S CKT LEAN
3 N/A
2 P1153 BANK 2 FRT HO2S SWITCHING FLT
1 N/A
0 P1133 BANK 1 HO2S SWITCHING FLT
16 QMILFG04 OBD-II MIL REQUESTED FLAG 4
7 P0158 BANK 2 REAR HO2S CKT HIGH VOLT
6 N/A
5 P0160 BANK 2 REAR HO2S CKT NOT ACTIVE
4 N/A
3 N/A
2 N/A
1 P0152 BANK 2 FRT HO2S CKT RICH
0 P0132 BANK 1 HO2S CKT RICH
17 QMILFG05 OBD-II MIL REQUESTED FLAG 5
7 P0420 BANK 2 CATALYST SYSTEM FAULT
6 N/A
5 N/A
4 N/A
3 P1158 BANK 2 REAR HO2S SHIFTED RICH
2 N/A
1 N/A
0 N/A
18 QMILFG06 OBD-II MIL REQUESTED FLAG 6
7 N/A
6 N/A
5 N/A
4 N/A
3 N/A
2 N/A
1 P0175 BANK 2 FRT FUEL TRIM RICH
0 P0174 BANK 2 FRT FUEL TRIM LEAN
19 QHSTMF01 OBD-II HISTORY MALF FLAG 1
7 P0155 BANK 2 FRT HO2S HEATER CKT
6 N/A
5 P0135 BANK 1 HO2S HEATER CKT
4 P1115 ECT CKT INT HIGH
3 P1114 ECT CKT INT LOW
2 P0118 ECT CKT HIGH INPUT
1 P0117 ECT CKT LOW INPUT
0 P0116 ECT CKT RANGE/ PERF PROBLEM
20 QHSTMF02 OBD-II HISTORY MALF FLAG 2
7 N/A
6 P0153 BANK 2 FRT HO2S SLOW RESPONSE
5 N/A
4 P0133 BANK 1 HO2S SLOW RESPONSE
3 N/A
2 P0172 BANK 1 FUEL TRIM RICH
1 P0171 BANK 1 FUEL TRIM LEAN
0 P0161 BANK 2 REAR HO2S HEATER CKT
21 QHSTMF03 OBD-II HISTORY MALF FLAG 3
7 P0154 BANK 2 FRT HO2S CKT NOT ACTIVE
6 P0134 BANK 1 HO2S CKT NOT ACTIVE
5 P0151 BANK 2 FRT HO2S CKT LEAN
4 P0131 BANK 1 HO2S CKT LEAN
3 N/A
2 P1153 BANK 2 FRT HO2S SWITCHING FLT
1 N/A
0 P1133 BANK 1 HO2S SWITCHING FLT
22 QHSTMF04 OBD-II HISTORY MALF FLAG 4
7 P0158 BANK 2 REAR HO2S CKT HIGH VOLT
6 N/A
5 P0160 BANK 2 REAR HO2S CKT NOT ACTIVE
4 N/A
3 N/A
2 N/A
1 P0152 BANK 2 FRT HO2S CKT RICH
0 P0132 BANK 1 HO2S CKT RICH
23 QHSTMF05 OBD-II HISTORY MALF FLAG 5
7 P0420 BANK 2 CATALYST SYSTEM FAULT
6 N/A
5 N/A
4 N/A
3 P1158 BANK 2 REAR HO2S SHIFTED RICH
2 N/A
1 N/A
0 N/A
24 QHSTMF06 OBD-II HISTORY MALF FLAG 6
7 N/A
6 N/A
5 N/A
4 N/A
3 N/A
2 N/A
1 P0175 BANK 2 FRT FUEL TRIM RICH
0 P0174 BANK 2 FRT FUEL TRIM LEAN
25 QIMRDY01 OBD-II TEST COMPLETED FLAG 1
7 P0155 BANK 2 FRT HO2S HEATER CKT
6 N/A
5 P0135 BANK 1 HO2S HEATER CKT
4 P1115 ECT CKT INT HIGH
3 P1114 ECT CKT INT LOW
2 P0118 ECT CKT HIGH INPUT
1 P0117 ECT CKT LOW INPUT
0 P0116 ECT CKT RANGE/ PERF PROBLEM
26 QIMRDY02 OBD-II TEST COMPLETED FLAG 2
7 N/A
6 P0153 BANK 2 FRT HO2S SLOW RESPONSE
5 N/A
4 P0133 BANK 1 HO2S SLOW RESPONSE
3 N/A
2 P0172 BANK 1 FUEL TRIM RICH
1 P0171 BANK 1 FUEL TRIM LEAN
0 P0161 BANK 2 REAR HO2S HEATER CKT
27 QIMRDY03 OBD-II TEST COMPLETED FLAG 3
7 P0154 BANK 2 FRT HO2S CKT NOT ACTIVE
6 P0134 BANK 1 HO2S CKT NOT ACTIVE
5 P0151 BANK 2 FRT HO2S CKT LEAN
4 P0131 BANK 1 HO2S CKT LEAN
3 N/A
2 P1153 BANK 2 FRT HO2S SWITCHING FLT
1 N/A
0 P1133 BANK 1 HO2S SWITCHING FLT
28 QIMRDY04 OBD-II TEST COMPLETED FLAG 4
7 P0158 BANK 2 REAR HO2S CKT HIGH VOLT
6 N/A
5 P0160 BANK 2 REAR HO2S CKT NOT ACTIVE
4 N/A
3 N/A
2 N/A
1 P0152 BANK 2 FRT HO2S CKT RICH
0 P0132 BANK 1 HO2S CKT RICH
29 QIMRDY05 OBD-II TEST COMPLETED FLAG 5
7 P0420 BANK 2 CATALYST SYSTEM FAULT
6 N/A
5 N/A
4 N/A
3 P1158 BANK 2 REAR HO2S SHIFTED RICH
2 N/A
1 N/A
0 N/A
30 QIMRDY06 OBD-II TEST COMPLETED FLAG 6
7 N/A
6 N/A
5 N/A
4 N/A
3 N/A
2 N/A
1 P0175 BANK 2 FRT FUEL TRIM RICH
0 P0174 BANK 2 FRT FUEL TRIM LEAN
31 QTRIPCLO OBD-II TRIP COUNTER 1 - LOW BYTE
32 QTRIPCHI OBD-II TRIP COUNTER 1 - HIGH BYTE
33 QTRIPCLO+1 OBD-II TRIP COUNTER 2 - LOW BYTE
34 QTRIPCHI+1 OBD-II TRIP COUNTER 2 - HIGH BYTE
35 QTRIPCLO+2 OBD-II TRIP COUNTER 3 - LOW BYTE
36 QTRIPCHI+2 OBD-II TRIP COUNTER 3 - HIGH BYTE
37 QTRIPCLO+3 OBD-II TRIP COUNTER 4 - LOW BYTE
38 QTRIPCHI+3 OBD-II TRIP COUNTER 4 - HIGH BYTE
39 QTRIPCLO+4 OBD-II TRIP COUNTER 5 - LOW BYTE
40 QTRIPCHI+4 OBD-II TRIP COUNTER 5 - HIGH BYTE
41 QTRIPCLO+5 OBD-II TRIP COUNTER 6 - LOW BYTE
42 QTRIPCHI+5 OBD-II TRIP COUNTER 6 - HIGH BYTE
43 QAKYON01 OBD-II FAULT ACTIVE THIS KEY-ON - 1
7 P0155 BANK 2 FRT HO2S HEATER CKT
6 N/A
5 P0135 BANK 1 HO2S HEATER CKT
4 P1115 ECT CKT INT HIGH
3 P1114 ECT CKT INT LOW
2 P0118 ECT CKT HIGH INPUT
1 P0117 ECT CKT LOW INPUT
0 P0116 ECT CKT RANGE/ PERF PROBLEM
44 QAKYON02 OBD-II FAULT ACTIVE THIS KEY-ON - 2
7 N/A
6 P0153 BANK 2 FRT HO2S SLOW RESPONSE
5 N/A
4 P0133 BANK 1 HO2S SLOW RESPONSE
3 N/A
2 P0172 BANK 1 FUEL TRIM RICH
1 P0171 BANK 1 FUEL TRIM LEAN
0 P0161 BANK 2 REAR HO2S HEATER CKT
45 QAKYON03 OBD-II FAULT ACTIVE THIS KEY-ON - 3
7 P0154 BANK 2 FRT HO2S CKT NOT ACTIVE
6 P0134 BANK 1 HO2S CKT NOT ACTIVE
5 P0151 BANK 2 FRT HO2S CKT LEAN
4 P0131 BANK 1 HO2S CKT LEAN
3 N/A
2 P1153 BANK 2 FRT HO2S SWITCHING FLT
1 N/A
0 P1133 BANK 1 HO2S SWITCHING FLT
46 QAKYON04 OBD-II FAULT ACTIVE THIS KEY-ON - 4
7 P0158 BANK 2 REAR HO2S CKT HIGH VOLT
6 N/A
5 P0160 BANK 2 REAR HO2S CKT NOT ACTIVE
4 N/A
3 N/A
2 N/A
1 P0152 BANK 2 FRT HO2S CKT RICH
0 P0132 BANK 1 HO2S CKT RICH
47 QAKYON05 OBD-II FAULT ACTIVE THIS KEY-ON - 5
7 P0420 BANK 2 CATALYST SYSTEM FAULT
6 N/A
5 N/A
4 N/A
3 P1158 BANK 2 REAR HO2S SHIFTED RICH
2 N/A
1 N/A
0 N/A
48 QAKYON06 OBD-II FAULT ACTIVE THIS KEY-ON - 6
7 N/A
6 N/A
5 N/A
4 N/A
3 N/A
2 N/A
1 P0175 BANK 2 FRT FUEL TRIM RICH
0 P0174 BANK 2 FRT FUEL TRIM LEAN
49 QTPASS01 OBD-II TEST PASSED THIS KEY-ON - 1
7 P0155 BANK 2 FRT HO2S HEATER CKT
6 N/A
5 P0135 BANK 1 HO2S HEATER CKT
4 P1115 ECT CKT INT HIGH
3 P1114 ECT CKT INT LOW
2 P0118 ECT CKT HIGH INPUT
1 P0117 ECT CKT LOW INPUT
0 P0116 ECT CKT RANGE/ PERF PROBLEM
50 QTPASS02 OBD-II TEST PASSED THIS KEY-ON - 2
7 N/A
6 P0153 BANK 2 FRT HO2S SLOW RESPONSE
5 N/A
4 P0133 BANK 1 HO2S SLOW RESPONSE
3 N/A
2 P0172 BANK 1 FUEL TRIM RICH
1 P0171 BANK 1 FUEL TRIM LEAN
0 P0161 BANK 2 REAR HO2S HEATER CKT
51 QTPASS03 OBD-II TEST PASSED THIS KEY-ON - 3
7 P0154 BANK 2 FRT HO2S CKT NOT ACTIVE
6 P0134 BANK 1 HO2S CKT NOT ACTIVE
5 P0151 BANK 2 FRT HO2S CKT LEAN
4 P0131 BANK 1 HO2S CKT LEAN
3 N/A
2 P1153 BANK 2 FRT HO2S SWITCHING FLT
1 N/A
0 P1133 BANK 1 HO2S SWITCHING FLT
52 QTPASS04 OBD-II TEST PASSED THIS KEY-ON - 4
7 P0158 BANK 2 REAR HO2S CKT HIGH VOLT
6 N/A
5 P0160 BANK 2 REAR HO2S CKT NOT ACTIVE
4 N/A
3 N/A
2 N/A
1 P0152 BANK 2 FRT HO2S CKT RICH
0 P0132 BANK 1 HO2S CKT RICH
53 QTPASS05 OBD-II TEST PASSED THIS KEY-ON - 5
7 P0420 BANK 2 CATALYST SYSTEM FAULT
6 N/A
5 N/A
4 N/A
3 P1158 BANK 2 REAR HO2S SHIFTED RICH
2 N/A
1 N/A
0 N/A
54 QTPASS06 OBD-II TEST PASSED THIS KEY-ON - 6
7 N/A
6 N/A
5 N/A
4 N/A
3 N/A
2 N/A
1 P0175 BANK 2 FRT FUEL TRIM RICH
0 P0174 BANK 2 FRT FUEL TRIM LEAN
55 NOT USED
56 NOT USED
57 NOT USED
58 NOT USED
59 QEVRST01 OBD-II CODE LATCHES - 1
7 P0155 BANK 2 FRT HO2S HEATER CKT
6 N/A
5 P0135 BANK 1 HO2S HEATER CKT
4 P1115 ECT CKT INT HIGH
3 P1114 ECT CKT INT LOW
2 P0118 ECT CKT HIGH INPUT
1 P0117 ECT CKT LOW INPUT
0 P0116 ECT CKT RANGE/ PERF PROBLEM
60 QEVRST02 OBD-II CODE LATCHES - 2
7 N/A
6 P0153 BANK 2 FRT HO2S SLOW RESPONSE
5 N/A
4 P0133 BANK 1 HO2S SLOW RESPONSE
3 N/A
2 P0172 BANK 1 FUEL TRIM RICH
1 P0171 BANK 1 FUEL TRIM LEAN
0 P0161 BANK 2 REAR HO2S HEATER CKT
61 QEVRST03 OBD-II CODE LATCHES - 3
7 P0154 BANK 2 FRT HO2S CKT NOT ACTIVE
6 P0134 BANK 1 HO2S CKT NOT ACTIVE
5 P0151 BANK 2 FRT HO2S CKT LEAN
4 P0131 BANK 1 HO2S CKT LEAN
3 N/A
2 P1153 BANK 2 FRT HO2S SWITCHING FLT
1 N/A
0 P1133 BANK 1 HO2S SWITCHING FLT
62 QEVRST04 OBD-II CODE LATCHES - 4
7 P0158 BANK 2 REAR HO2S CKT HIGH VOLT
6 N/A
5 P0160 BANK 2 REAR HO2S CKT NOT ACTIVE
4 N/A
3 N/A
2 N/A
1 P0152 BANK 2 FRT HO2S CKT RICH
0 P0132 BANK 1 HO2S CKT RICH
63 QEVRST05 OBD-II CODE LATCHES - 5
7 P0420 BANK 2 CATALYST SYSTEM FAULT
6 N/A
5 N/A
4 N/A
3 P1158 BANK 2 REAR HO2S SHIFTED RICH
2 N/A
1 N/A
0 N/A
64 QEVRST06 OBD-II CODE LATCHES - 6
7 N/A
6 N/A
5 N/A
4 N/A
3 N/A
2 N/A
1 P0175 BANK 2 FRT FUEL TRIM RICH
0 P0174 BANK 2 FRT FUEL TRIM LEAN
65 QCATPASS OBD-II # OF CATALYST MONITOR PASSES
66 QCATPASS+1
67 QCATFAIL OBD-II # OF CATALYST MONITOR FAILS
68 QCATFAIL+1
69 QO2H1FAL OBD-II # OF O2 HEATER FAILS - R1
70 QO2H1FAL+1
71 QO2H2FAL OBD-II # OF O2 HEATER FAILS - R2
72 QO2H2FAL+1
73 QO2R1FAL OBD-II # OF O2 RESPONSE FAILS - R1
74 QO2R1FAL+1
75 QO2S1FAL OBD-II # OF O2 SWITCH FAILS - R1
76 QO2S1FAL+1
77 QO2L1FAL OBD-II # OF O2 LEAN FAILS - R1
78 QO2L1FAL+1
79 QO2I1FAL OBD-II # OF O2 INACTIVE FAILS - R1
80 QO2I1FAL+1
81 QO2RCFAL OBD-II # OF O2 RICH FAILS - R1
82 QO2RCFAL+1
83 QO2G1FAL OBD-II # OF O2 GROUNDED FAILS - R1
84 QO2G1FAL+1
85 QO2I2FAL OBD-II # OF O2 INACTIVE FAILS - R2
86 QO2I2FAL+1
87 QO2SHFAL OBD-II # OF O2 SHORT HI FAILS - R2
88 QO2SHFAL+1
89 QO2SLFAL OBD-II # OF O2 SHIFT LEAN FAILS-R2
90 QO2SLFAL+1
91 QO2SRFAL OBD-II # OF O2 SHIFT RICH FAILS-R2
92 QO2SRFAL+1
93 DEVDIFOL OBD-II MAX VALUE OF CATALYST EWMA
94 QDOBLM10 BANK 1 ADAPTIVE SUM
95 QDOBLM10+1
96 QDOBLM20 BANK 2 ADAPTIVE SUM
97 QDOBLM20+1
..PAGE
..HEAD02L ALDL DATA LIST
..HEAD03L NUMBER OF DATA WORDS - 38
..HEAD04L ALDL MODE 1 MESSAGE 6 DATA LIST
WORD # DATA NAME DESCRIPTION
1 EADPT2 PRESSURE MODIFIER (ADAPTIVE) - 2ND GEAR
NOT USED
2 EADPT2+1 PRESSURE MODIFIER (ADAPTIVE) - 2ND GEAR
NOT USED
3 EADPT2+2 PRESSURE MODIFIER (ADAPTIVE) - 2ND GEAR
NOT USED
4 EADPT2+3 PRESSURE MODIFIER (ADAPTIVE) - 2ND GEAR
NOT USED
5 EADPT2+4 PRESSURE MODIFIER (ADAPTIVE) - 2ND GEAR
PSI = (N*.125)-16
6 EADPT2+5 PRESSURE MODIFIER (ADAPTIVE) - 2ND GEAR
PSI = (N*.125)-16
7 EADPT2+6 PRESSURE MODIFIER (ADAPTIVE) - 2ND GEAR
PSI = (N*.125)-16
8 EADPT2+7 PRESSURE MODIFIER (ADAPTIVE) - 2ND GEAR
PSI = (N*.125)-16
9 EADPT2+8 PRESSURE MODIFIER (ADAPTIVE) - 2ND GEAR
PSI = (N*.125)-16
10 EADPT2+9 PRESSURE MODIFIER (ADAPTIVE) - 2ND GEAR
PSI = (N*.125)-16
11 EADPT2+10 PRESSURE MODIFIER (ADAPTIVE) - 2ND GEAR
PSI = (N*.125)-16
12 EADPT2+11 PRESSURE MODIFIER (ADAPTIVE) - 2ND GEAR
PSI = (N*.125)-16
13 EADPT2+12 PRESSURE MODIFIER (ADAPTIVE) - 2ND GEAR
PSI = (N*.125)-16
14 EADPT2+13 PRESSURE MODIFIER (ADAPTIVE) - 2ND GEAR
PSI = (N*.125)-16
15 EADPT2+14 PRESSURE MODIFIER (ADAPTIVE) - 2ND GEAR
PSI = (N*.125)-16
16 EADPT2+15 PRESSURE MODIFIER (ADAPTIVE) - 2ND GEAR
PSI = (N*.125)-16
17 EADPT2+16 PRESSURE MODIFIER (ADAPTIVE) - 2ND GEAR
PSI = (N*.125)-16
18 EADPT3 PRESSURE MODIFIER (ADAPTIVE) - 3ND GEAR
NOT USED
19 EADPT3+1 PRESSURE MODIFIER (ADAPTIVE) - 3ND GEAR
NOT USED
20 EADPT3+2 PRESSURE MODIFIER (ADAPTIVE) - 3ND GEAR
NOT USED
21 EADPT3+3 PRESSURE MODIFIER (ADAPTIVE) - 3ND GEAR
NOT USED
22 EADPT3+4 PRESSURE MODIFIER (ADAPTIVE) - 3ND GEAR
NOT USED
23 EADPT3+5 PRESSURE MODIFIER (ADAPTIVE) - 3ND GEAR
NOT USED
24 EADPT3+6 PRESSURE MODIFIER (ADAPTIVE) - 3ND GEAR
NOT USED
25 EADPT3+7 PRESSURE MODIFIER (ADAPTIVE) - 3ND GEAR
NOT USED
26 EADPT3+8 PRESSURE MODIFIER (ADAPTIVE) - 3ND GEAR
NOT USED
27 EADPT3+9 PRESSURE MODIFIER (ADAPTIVE) - 3ND GEAR
NOT USED
28 EADPT3+10 PRESSURE MODIFIER (ADAPTIVE) - 3ND GEAR
NOT USED
29 EADPT3+11 PRESSURE MODIFIER (ADAPTIVE) - 3ND GEAR
NOT USED
30 EADPT3+12 PRESSURE MODIFIER (ADAPTIVE) - 3ND GEAR
NOT USED
31 EADPT3+13 PRESSURE MODIFIER (ADAPTIVE) - 3ND GEAR
NOT USED
32 EADPT3+14 PRESSURE MODIFIER (ADAPTIVE) - 3ND GEAR
NOT USED
33 EADPT3+15 PRESSURE MODIFIER (ADAPTIVE) - 3ND GEAR
NOT USED
34 EADPT3+16 PRESSURE MODIFIER (ADAPTIVE) - 3ND GEAR
NOT USED
35 SDADPTBL
0 1 = NOT IN NORMAL MODE
1 1 = LAST WAS STANDARD ADAPT
2 1 = LONG SHIFT DELAY
3 1 = LONG SHIFT TIME
4 1 = NOT WITHIN TPS RANGE
5 1 = EXCESSIVE DELTA TPS
6 1 = IN HOT MODE
7 1 = EXCESSIVE DELTA VEHICLE SPEED
36 LSTADEL LAST CHANGE TO ADAPTIVE MODIFIER
NOT USED
37 CURADPT CURRENT ADAPTIVE MODIFIER
PSI = (N*.125)-16
38 CURCELL CURRENT ADAPTIVE MODIFIER INDEX WITHIN TABLE
N = CELL


93V8S10
12-10-2011, 07:17 PM
I think your on the right track, I can't imagine that all of those different modes would be needed. In $0D there are other modes that are not used and even complete data streams that could be accessed, there is a lot of repetition.

My advise would be to look through the $EE hack for the useful data streams, and focus on those only. The same info that is in the ALDL file should be in the hack as well. Of course this depends upon having a well commented $EE hack.

historystamp
12-10-2011, 10:51 PM
I'd sure like to get the EE,adx working for the 94-95 LT1 engines. It connects and gets some data, some wrong data and some NO data...

I assume you know ...

'94 & '95 were the transition years from OBDI and OBDII. Some people refer to it as OBD 1.5. This could be why you are seeing so many data streams.

Checksum is a value calculated from the data that is pasted onto the end of a data stream by the sender. The receiver recalculates the value to compare to the sent checksum. This way the receiver can tell if the data was sent correctly or was corrupted on the wire.

I read calculating the checksum as you sum up all the data. Discard any bits that flow out of the 8 bit value then flip the bit values: 0 to 1 & 1 to 0. ( Called one's compliment. )
0xF4 + 0x56 + 0x01 = 0x14B chopping = 0x4B complimenting = 0xB4
Same result as Luke Skaff's pdf page 21
I'm not sure were the idea of the 0xFF entered the picture. Seems to be a red herring.

Robert

historystamp
12-10-2011, 11:05 PM
JeepsAndGuns wrote:

What is a ALDL DS file?



ALDL -- Assembly Line Diagnostic Link
DS -- Data Stream
OBD -- On Board Diagnostics. Mandated in the US. OBD I, OBD II etc.



http://delcohacking.net/forums/viewtopic.php?f=28&t=220&p=14029#p2489

I've made a sorted pdf of this information, if there was somwhere to upload it.

The data stream files for GM OBDI cars '86 to '95 or so, can be found here:
ftp://diy-efi.org/pub/gmecm/ALDLstuff.zip

( this will download the file if you enter it into any web browser )

These file look like they came from GM. They define what data flows between the ECM and a scanner tool. EagleMark (http://www.gearhead-efi.com/Fuel-Injection/member.php?2-EagleMark) is converting one of these files to a format acceptable to TurnerPro RT.


Robert

EagleMark
12-10-2011, 11:34 PM
I've made a sorted pdf of this information, if there was somwhere to upload it.

Robert


Right here is open to any EFI documents!

EagleMark
12-11-2011, 12:00 AM
I think your on the right track, I can't imagine that all of those different modes would be needed. In $0D there are other modes that are not used and even complete data streams that could be accessed, there is a lot of repetition.

My advise would be to look through the $EE hack for the useful data streams, and focus on those only. The same info that is in the ALDL file should be in the hack as well. Of course this depends upon having a well commented $EE hack.I have sorted them and discarded repeats and discarded the OBDII stuff as you suggested. Then when I looked in the only available EE.adx I could see where some were duplicated, probably causing some of the issues.

One duplicate is error codes, one is New MALF, one is MALF and one is stored MALF... so I am getting it down to one...

The only $EE hack I have is not much help when trying to compare to ds or adx although it is easy to follow the hack to XDF (mask) So if anyone knows where I can get a better commented one it may help!

I think the hack from ALDL.ds is the ads, but that is what I am trying to learn to do. If the ads was available for A239 A273 A274 A275 A276 then I would not have to learn how to. It seems they are ones never done on TP website.
http://www.tunerpro.net/gmOBDI.htm


I assume you know ...

'94 & '95 were the transition years from OBDI and OBDII. Some people refer to it as OBD 1.5. This could be why you are seeing so many data streams.

RobertYes I knew that, and looking through these ALDL files some have both OBDI and OBDII MALF flages, some don't. Figures I would try and learn on the hardest. With all the hours into this I can look back on 160 Baud which is simple and 8192 baud for earlier years then the 94-95 and understand it now!

I do appreciate your guys help! I am getting closer to understanding this and closer to getting one working!

historystamp
12-11-2011, 01:46 AM
Right here is open to any EFI documents!

Here is a pdf file with common abbreviations used in ALDL data streams.

1169

93V8S10
12-11-2011, 05:14 AM
But really how do you come up with the 0x20 or whatever needed for say Engine RPM?

Rpm is the 20th byte of data transmitted for Mode 1, Message 1.

20 GP6ERPMC COEFFICIENT OF VARIATION OF RPM
N = % * 10.24


Looks like Message 4 may not be needed, message five and six look to be OBDII code built in already in 1994! So maybe I only need the three?
Message 0
Message 1
Message 2

Wonder why they skipped message 3 in both?

Personally, I would make two adx files, one for message 0 and one for message 1.

EagleMark
12-11-2011, 05:32 AM
That's a good idea... today I tried a Macro with both and did not work.

EagleMark
12-11-2011, 05:51 AM
Here is a pdf file with common abbreviations used in ALDL data streams.

Thanks! I copied that post to it's own thread and will add it to the FAQ thread! :thumbsup:

93V8S10
12-11-2011, 08:00 AM
That's a good idea... today I tried a Macro with both and did not work.

Only one message can be used at a time.

It is possible to have different macros for each message in the same adx, but you would need to change between macros and have different screens set-up for each message. Also, you would have to remember which screens were correct with the message being used. To much trouble in my opinion. This is why I did two different transmission adx files for $0D.

EagleMark
12-11-2011, 08:34 AM
That sir, may be my issue!!!!

Now I have found a couple more problems.

One is "MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 2)" says "DATA BYTE 53" but at the end it says "BYTES 36-53 NOT USED" so should it be 53 or 35?

Next is from your $OD. ALDL says:
MODE 1 (TRANSMIT FIXED DATA STREAM)
ALDL REQUEST:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $57
- MODE = $01
- MESSAGE = $00
- SUM CHECK
THE PCM WILL RESPOND WITH THE FOLLOWING MESSAGE:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $95
- MODE = $01
- DATA BYTE 1
.
.
- DATA BYTE 63
- SUM CHECK

In your adx it has Payload size 63, payload offset 3 which adds up to 66 but earlier in this thread you are supposed to add the 1 Data Byte from above which would be 67 and that is what yours has for Body Size.

When I look back to original EE.adx it never added the 1 in body size...

EagleMark
12-11-2011, 09:06 AM
My Scantool will do all messages for engine, but I need to reconnect to do trans. So...

And!
Only one message can be used at a time.

It is possible to have different macros for each message in the same adx, but you would need to change between macros and have different screens set-up for each message. Also, you would have to remember which screens were correct with the message being used. To much trouble in my opinion. This is why I did two different transmission adx files for $0D.Since you an only have one message at a time, then would have to have a list view for that message. So in the same adx you could have say three connections, but then change to list view for that connection...

So my question is can you rewrite the MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 0)?

Or could you rewrite MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 0) to be all engine data and bitmasks with list view on one adx.
and
Rewrite MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 1) to be all trans data and bitmasks?

Or could you rewrite MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 0) to include all data and bitmasks? That would be the nice way.

93V8S10
12-11-2011, 06:21 PM
One is "MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 2)" says "DATA BYTE 53" but at the end it says "BYTES 36-53 NOT USED" so should it be 53 or 35?

I'm not sure, it's been a while since I worked with this. I think you can do it either way, I'd try it both ways and see what happens.


Next is from your $OD. ALDL says:
MODE 1 (TRANSMIT FIXED DATA STREAM)
ALDL REQUEST:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $57
- MODE = $01
- MESSAGE = $00
- SUM CHECK
THE PCM WILL RESPOND WITH THE FOLLOWING MESSAGE:
- MESSAGE ID = $F4
- MESSAGE LENGTH = $95
- MODE = $01
- DATA BYTE 1
.
.
- DATA BYTE 63
- SUM CHECK

In your adx it has Payload size 63, payload offset 3 which adds up to 66 but earlier in this thread you are supposed to add the 1 Data Byte from above which would be 67 and that is what yours has for Body Size.

When I look back to original EE.adx it never added the 1 in body size...

I remember having to do some fiddling with that. Seems there is a difference between the TP4 ads and TP5 adx formats. When a ads is converted it doesn't add the 1 byte. Also, after I did the $0D files there was a discussion on TGO about this, seems most people were fixing the problem with a silence command or something, but Greg Moates thought adding the 1 byte was the best way. I'll look for that thread later today.

93V8S10
12-11-2011, 06:43 PM
And! Since you an only have one message at a time, then would have to have a list view for that message. So in the same adx you could have say three connections, but then change to list view for that connection...

Exactly! But if your planing to share the adx with ever one, this may be a little much for the average noob.


So my question is can you rewrite the MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 0)?

Or could you rewrite MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 0) to be all engine data and bitmasks with list view on one adx.
and
Rewrite MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 1) to be all trans data and bitmasks?

Or could you rewrite MODE 1 (TRANSMIT FIXED DATA STREAM MESSAGE 0) to include all data and bitmasks? That would be the nice way.

Yes, all of this can be modified. All of the DS info is part of the calibration. You would rewrite this the same way you would rewrite any other part of the bin. Having a well commented hack would be a must.
What you would wind-up with, is a custom adx that only works with your bin.

EagleMark
12-11-2011, 09:09 PM
Well since $EE has so much more info stock then $OD-$OE I think I would make one with only ALDL.ds info that would be usable for everyone. Then if everyone could use this we could work together and add/build another custom version.

With $EE silence commands are a step I have to learn. I know there is a CCM (ALDL A239.ds) at 0xFO on Corvette that caused an issue because it was tied into serial data line. Looking at mine I do not have CCM (ALDL A239.ds) but does have SDM or SIR and EBCM tied into serial data that would need to be silenced. I will have to find the address for them.


I remember having to do some fiddling with that. Seems there is a difference between the TP4 ads and TP5 adx formats. When a ads is converted it doesn't add the 1 byte. Also, after I did the $0D files there was a discussion on TGO about this, seems most people were fixing the problem with a silence command or something, but Greg Moates thought adding the 1 byte was the best way. I'll look for that thread later today. This may explain a lot when I converted a ds for $85... it worked but had that jump/glitch. Adding one byte would be easy, adding a silence command... well what would you silence? Or would it be a pause?

EagleMark
12-11-2011, 10:11 PM
WOW! Thanks to everyone who has helped so far in sharing their knowledge so I could understand this! :happy:

Because of this I figure out what I need to do and sort. In opening each Mode 1 message I found so many duplicates it was incredible! So I am no sorting them so I am left with only one of each. That way the information only has to go to one place in the ADX, the way it is now one entry needs to go to several places. I don't even know if that is possible...

Also deleting LOGGED MALF, deleting NEW MALF , deleting OBD1 HISTORY MALF, deleting OBDII NEW MALF, deleting OBDII HISTORY MALF... and just leaving MALF. That is how all other ADX files are for all other ECMs. Starting to look like a normal ALDL.ds file

I am doing this in the ALDL.ds file so I have all pertinent info left, then recaculating words so I come up with correct size file, then on to making it a usable adx file.

93V8S10
12-11-2011, 10:21 PM
Here's the thread I was talking about: http://www.thirdgen.org/techboard/diy-prom/544340-tuner-pro-v5.html
Starts about 1/2 way on page 3 and continues on page 4.

Can't help you with silence commands, I would need to learn that too.

93V8S10
12-11-2011, 10:35 PM
I am doing this in the ALDL.ds file so I have all pertinent info left, then recaculating words so I come up with correct size file, then on to making it a usable adx file.

Not sure if I understand correctly, but you realize that the message coming from the PCM will be the same size, with the adx you are just choosing what you will look at.
HTH

EagleMark
12-12-2011, 09:19 PM
Yes it all came to me yesterday and I got one done. So I learned enough here and with cross/reverse engineering to build a adx from an ALDL.ds. It worked! Wrong just like the others...

Some things were set different then EE.adx available but I still got same results on a B car... sporadic data... I even found the address for CCM 0xF0 which my car does not have but Y and F cars do..., HVAC 0xEA, ABS or EBCM 0xF9 and SDMA or SIR 0xFA and disabled them in both mode 8 so I only get data fro 0xF4 from Connection Macro... still can not get solid data from the B car LT1... still the same as without... just can't figure out why... Years ago it was said to work on Y and F cars, but from reading all the LT1 forums no one can get it to work anymore... maybe it worked in TPV4?

I've got about 50 hours into this and for now it's a project that has to go on hold and catch up to life. Glad I learned this and all the help I got, but this PCM is a differant aniamal then we are used to playing with. Somehow, someday I will get it working. My scantool reads all the data and DataMaster reads all the data? Just not getting something right in TP...

EagleMark
12-20-2011, 05:12 AM
Well another 20 hours of learning, testing and searching through wiring diagrams and ADLS files and guess what?

Ha! I got an $EE.adx file that works in a B car! I also know how to make it work in a Y car and F car!

Now I just need a 1994 1995 Corvette, 1994 1995 Camaro/Firebird with LT1 to test them too! As far as my Buick LT1 which would be the hardest It is done and works!

:jfj: :jfj::jfj::jfj::jfj::jfj::jfj::jfj::jfj::jfj::jfj:

93V8S10
12-20-2011, 06:46 AM
Cool!

What did you have to do for it to work?

EagleMark
12-20-2011, 09:52 AM
Extra Mode 8 to stop HVAC 0xEA

I had a Mode 8 for SIR and EBCM too but took them out and it still works.

Those are three things tied into serial data line from PCM, but so far looks like SIR and EBCM are not interferring. I know Corvette has a digital dash CCM? 0xF0 that is an issue on those.

Once I get this dialed in for my B car I will look for testers on Camaro, Corvette and I know a guy here with an Impala SS. From looks on wiring it may need a little tweak for each?

Been working on making it a professional looking ADX like the ones you made, which inspired me to redo the $42 stuff!

EagleMark
12-22-2011, 08:19 AM
Here are the command codes for 8192 BAUD ECM/PCM (Most copied from Internet?)
Mode 0 – Clear All ALDL Modes
Mode 1 – Data Frames (There are many different message frames)
Mode 2 – Request 64 Bytes of Memory
Mode 3 – Request 6 Particular Bytes of Memory
Mode 4 – Control Mode
Mode 5 – Enter Download Mode (GM Development)
Mode 6 – Address Of Routine to Execute (GM Development)
Mode 7 – Broadcast Mode (GM Development)
Mode 8 – Disable Bus Chatter
Mode 9 – Enable Bus Chatter
Mode 10 – Clear Malfunction Error Codes

The most commonly used modes are Mode 1, 2, 4, 8, 9 and 10

Mode 1 is used for getting the operating parameters out of the ECM, in mode 1 there are also many different messages. Each message is a fixed length and contains different parameters such as RPM, coolant temp, vehicle speed, etc etc. Each message contains different items for different logging/diagnostic tasks. Some messages contain engine params, some transmission (auto only) and others for when GM connect tech-1 to calibrate the unit.
This is what you normally see "Mode 1 Message 0" in TunerPro. This is directly from ALDL.ds file

Mode 2 is used to upload the binary (the contents of the memcal EPROM) from the ECM to a PC.
This needs to be built into TunerPro, If you change out chip to EEPROM then you could upload tune from ALDL port like WinFlash does for LT1 PCM. It erases flash memory then uploads your new bin

Mode 4 is useful to fault find sensors. It allows you to substitute or slew sensor values. For instance, it is possible to override the coolant sensor and substitute it with a different value to see what effect it has. Or you can slew (or offset) the temperature by a few degrees.
I have no idea?

Mode 8 and 9 allows you to temporarily disable the ECM/PCM from attempting to communicate with devices on the bus. If you don’t issue a mode 9 (enable chatter) frame after a few seconds the ECM will resume its normal communications.
Mode 8 is what I needed to silence communications from my HVAC/EBCM unit at 0xEA

Mode 10 clears all the stored malfunction codes. If you are having problems and experience a CEL then a malfunction code will be stored in the ECMs RAM. It is possible to erase the codes by disconnecting the battery but this also clears other learning data so a mode 10 ALDL frame can be issued.
See how to do this with TunerPro:
http://www.gearhead-efi.com/Fuel-Injection/showthread.php?434-TunerPro-Mode-10-–-Clear-Malfunction-Error-Codes

8192 baud is a bi-directional. READ DATA ON PIN "M" OF ALDL CONNECTOR. Send commands in and get data out!

160 baud and is a uni-directional (read only) data link. READ DATA ON PIN "E" OF ALDL CONNECTOR
So Clear Codes will not work on 160 BAUD ECMs. It has no Commands, just 160 BAUD out.

EagleMark
12-23-2011, 06:39 AM
OK, I got a math question and need an equation.

This is from ALDL.ds.
33 TRANDEGA NORMALIZED TRANSMISSION FLUID TEMPERATURE
DEG C = .75N - 40
DEG F = 1.35N - 40
And this is what I got for the way TunerPro want's it in conversion, I got this and it works right...
DEG C is X * 0.750000 + -40.000000
DEG F is X * 1.350000 + -40.000000

But I've been putting this one off because it gives me a headache... I think you put the 2 together as a 16 bit for one output, most are single 8 bit like above.
34 TCCDC TCC PWM SOLENOID DUTY CYCLE (MSB)
35 TCCDC+1 TCC PWM SOLENOID DUTY CYCLE (LSB)
%DC = (256MSB + LSB)/655.36
So how would one right this for TP conversion? Calling gregs78cam !!!! He has helped me with math before...

EagleMark
12-23-2011, 06:42 AM
and another double 16 bit entry...

30 NORAWA RAW OUTPUT SPEED (MSB)
31 NORAWA+1 RAW OUTPUT SPEED (LSB)
RPM = N/8

gregs78cam
12-23-2011, 10:50 AM
OK, I got a math question and need an equation.

This is from ALDL.ds.
33 TRANDEGA NORMALIZED TRANSMISSION FLUID TEMPERATURE
DEG C = .75N - 40
DEG F = 1.35N - 40
And this is what I got for the way TunerPro want's it in conversion, I got this and it works right...
DEG C is X * 0.750000 + -40.000000
DEG F is X * 1.350000 + -40.000000



OK, this one is easy, -40F and -40C are the same thing, which is the lowest point the computer can "see". and the 1.35 or .75 is the conversion factor for the digital to deg


But I've been putting this one off because it gives me a headache... I think you put the 2 together as a 16 bit for one output, most are single 8 bit like above.
34 TCCDC TCC PWM SOLENOID DUTY CYCLE (MSB)
35 TCCDC+1 TCC PWM SOLENOID DUTY CYCLE (LSB)
%DC = (256MSB + LSB)/655.36
So how would one right this for TP conversion? Calling gregs78cam !!!! He has helped me with math before...

This one and the next one are a little more complicated, and something I have not really jumped into but this is what I understand.

MSB = Most significant byte
LSB = Least significant byte

Think of it this way. to get more resolution? or sometimes just a bigger number than 256, you need to send the value out in two groups.

resolution with 8 bit 0.39%
resolution with 2 8 bit lines 0.000015%

gregs78cam
12-23-2011, 11:02 AM
Sorry, I just needed to look at TP to see what you meant. see next post.

EagleMark
12-23-2011, 05:07 PM
After some more coffee I will try and read that again...
:confused1:

To add to your info, from TunerPro Help:

Data Source Size - This specifies the number of bits (and bytes) that will be used to
calculate the displayed value. 8 bits equals 1 byte, and 16 bytes equals 2 bytes
(MSB, LSB), and 32 bits is 4 bytes (MMSB, MSB, LSB LLSB).
LSB First - Specifies the byte order
of the source data. If checked, the source data is treated as
least-significant-byte first. For instance, if the following byte sequence were
streamed, in this order to the port: [11, 28], if this parameter is checked, the
number that the stream represents is 2811. If this parameter is not checked, the
order converts to 1128.
Operation - In
this group of parameters, you define how the bitmask will be resolved into
either TRUE or FALSE. This resolution is done via bitwise operators. You can use
bitwise AND or bitwise XOR. Below is a description of these operations. You may
have to read it a couple of times and examine the examples closely.







Operation




Description





Example (binary)


Data
Operation
Operand
Result







Bitwise AND


If the bit in the corresponding position of the data and the
operand are both 1, then the corresponding bit position in the result will be 1.
Otherwise, the corresponding bit position in the result will be 0.



11101101
AND
11110000
11100000







Bitwise XOR


If the bit in the operand is 1, the corresponding bit position
in the result will be the opposite of the position's bit in the data. If the bit
in the operand is 0, the data's bit is unchanged.



11101101
XOR
11110000
00011101






But cut and paste is about all I can do when I wake up...

gregs78cam
12-23-2011, 10:49 PM
OK so looking through the '7427 hac, it looks like you just set the value to display from packet 34 for the TCC PWM, and set it to 16 bit, and NOT LSB first. If you click "LSB First" it will read them 'backwards'. Then it will look at both 8 bit values and treat them as a 16 bit. I just had to look at TP to see what you were talking about. There are quite a few values that come through as 16 bit.

EagleMark
12-23-2011, 11:04 PM
Yes I got that part.

I was looking through the 427 $OD and $OE trans stuff adx since $OD is supposed to be for 4L60E and a lot is simalar... but math does not add up right in equations, so I may not have a grasp on this yet. I'd like to learn how to do it by what ALDL.ds says then just copy from similar parameter. They say same thing as mine above for those values but the way you describe math equation is not same or it's probably my math skills and not having a full understanding of it yet... notice I said yet...

:thumbsup:

gregs78cam
12-23-2011, 11:27 PM
I would think if the ADX is set to treat them as a 16 bit value, then the math becomes much simpler, just multiply or divide by conversion factor. But if you were to set them up as two ADX values, linked, then the math gets a little more complex.

93V8S10
12-24-2011, 02:36 AM
Eaglemark, please don't use my stuff as an example of good math. My math skills suck! Most of the equations used came from other definitions of from the hack, these are most likely correct. But with the equations I had to come up with on my own, those are very hit and miss, especially with the 16 bit ones. You'll notice that several of the 16 bit xdf addresses just display hex.

EagleMark
12-24-2011, 02:48 AM
Well then, we had better keep talking with Greg cuz he comes up with these equations pretty easy! Maybe he can add a "Math Needed" needed for TunerPro equations writeup when he has time.

I know I have another post like on previous page explaining how to get correct hex address from ALDL into TP coming...