165 ALDL Data Streams offset list
Thread Starter
Member
Joined: Aug 2006
Posts: 484
Likes: 0
From: Tampa, FL
Car: 1988 Iroc-Z Red T-tops
Engine: 305 TPI LB9 55k miles
Transmission: Auto 700r4
Axle/Gears: 2.73 posi
165 ALDL Data Streams offset list
I think I am getting my WB 14point7 o2 into my 88 165 reading. Going to test tonight.
The ads files for 32b all have payload as 25 and in values I see BPW has an offset of 23 with the next one being a 20.
so I will test various offsets. I think for my APU1 ch1 I might be at 27 or 28
My question is: is there a lost of all the otehr values I can read and add as offsets like the 21,22,24,25 listed in the ads?
The ads files for 32b all have payload as 25 and in values I see BPW has an offset of 23 with the next one being a 20.
so I will test various offsets. I think for my APU1 ch1 I might be at 27 or 28
My question is: is there a lost of all the otehr values I can read and add as offsets like the 21,22,24,25 listed in the ads?
Moderator
iTrader: (1)
Joined: Mar 2002
Posts: 18,432
Likes: 235
From: Chasing Electrons
Car: check
Engine: check
Transmission: check
Re: 165 ALDL Data Streams offset list
Code:
1 MODE WORD 2
0 OVERDRIVE ON 1 = ON, 0 = OFF
1 MALF 14 OR 15 THIS STARTUP
2 REFERENCE PULSE OCCUREED
3 1 = IN ALDL MODE, 8192 LOCKED IN , AND MODE 4
4 DIAGNOSTIC SWITCH IN DIAGNOSTIC POSITION
5 DIAGNOSTIC SWITCH IN ALDL POSITION
6 HIGH BATTERY VOLTAGE
7 SHIFT LIGHT 1 = ON, 0 = OFF
2 FIRST PROMID WORD PROMID = (MSB)*256+(LSB)
3 SECOND PROMID WORD
4 IAC PRESENT MOTOR POSITION STEPS = N
5 COOLANT TEMPERATURE DEG C = N*192/256 - 40
6 MILES PER HOUR N = MPH
7 EGR DUTY CYCLE % DUTY CYCLE = N/2.56
8 ENGINE SPEED (RPM) RPM = N * 25
9 THROTTLE POSITION VOLTS = N * .0196
10 BASE PULSE CLOSED LOOP CORRECTION N = COUNTS
11 OXYGEN SENSOR MILLIVOLTS = N*4.44
12 MALFUNCTION FLAG WORD 1
0 C23 MAT SENSOR LOW
1 C22 THROTTLE POSITION SENSOR LOW
2 C21 THROTTLE POSITION SENSOR HIGH
3 C16 NOT USED
4 C15 COOLANT SENSOR LOW TEMPERATURE
5 C14 COOLANT SENSOR HIGH TEMPERATURE
6 C13 OXYGEN SENSOR OPEN
7 C12 NO REFERENCE PULSES (ENG. NOT RUNNING)
13 MALFUNCTION FLAG WORD 2
0 C35 NOT USED
1 C34 MAF SENSOR LOW
2 C33 MAF SENSOR HIGH
3 C32 EGR DIAGNOSTIC
4 C31 NOT USED
5 C26 NOT USED
6 C25 MAT SENSOR HIGH
7 C24 VEHICLE SPEED SENSOR
14 MALFUNCTION FLAG WORD 3
0 C51 PROM ERROR
1 C46 VATS FAILED
2 C45 OXYGEN SENSOR RICH
3 C44 OXYGEN SENSOR LEAN
4 C43 ESC FAILURE
5 C42 EST MONITOR ERROR
6 C41 CYLINDER SELECT ERROR
7 C36 BURNOFF DIAGNOSTIC
15 MALF FLAG WORD 4
0 C63 NOT USED
1 C62 NOT USED
2 C61 NOT USED
3 C56 NOT USED
4 C54 ADU ERROR
5 C53 FUEL PUMP VOLTAGE
6 C52 OVER VOLTAGE
7 C51 CAL PACK MISSING
16 AIR/FUEL MODE WORD
0 NOT USED
1 LEARN CONTROL ENABLE FLAG 1 = ENABLE STORED
2 NOT USED
3 NOT USED
4 VEHICLE SPEED SENSOR FAILURE
5 EECC SLOW 02 RICH/LEAN FLAG
6 RICH - LEAN FLAG 1 = RICH, 0 = LEAN
7 CLOSED LOOP FLAG 1 = CLOSED LOOP
17 MANIFOLD AIR TEMPERATURE SEE TABLE 1
18 MCU INPUT STATUS WORD
0 1 = IN PARK/NEUTRAL
1 1 = NOT IN THIRD GEAR
2 1 = OVERDRIVE REQUEST
3 NOT USED(POWER STEERING ON = 1)
4 1 = EGR DIAGNOSTIC SWITCH CLOSED
5 1 = TCC LOCKED
6 1 = FAN REQUEST BIT
7 0 = A/C REQUEST
19 OLDPA3 - ESC COUNTER INPUT N = COUNTS
20 BLM N = COUNTS
21 ALDL RICH LEAN CHANGE COUNTER / TOTAL CROSSOVER COUNTS **
22 AIR FLOW RATE (MSB)
23 AIR FLOW RATE (LSB) G/S = (MSB)*256+(LSB)
24 INJECTOR BASE PULSE WIDTH (MSB)
25 INJECTOR BASE PULSE WIDTH (LSB) WIDTH=(MSB)*256 + (LSB) Thread Starter
Member
Joined: Aug 2006
Posts: 484
Likes: 0
From: Tampa, FL
Car: 1988 Iroc-Z Red T-tops
Engine: 305 TPI LB9 55k miles
Transmission: Auto 700r4
Axle/Gears: 2.73 posi
Re: 165 ALDL Data Streams offset list
Wow great info. Couple comments and eye open for me and maybe other noobs using the $32 definitions.
Looking at my definition that are default values in all the downloads as example.
1: The O2 readings come from offset 10 in all files I have. you list it here as 11? So I assume 0-10 is really 11 bytes. The offset being 10 is still correct in the defintion? This seems to apply for all the other values too, IE: BLM is offset 19 in my definition you have it at 20.
so (code# - 1) = offset value? 11-1 = 10 or 20-1 = 19
2: I understand the 8 vs 16 bit definitions.
My Airflow readings are way off (like 3200 all the time) The definition it as a 16bit but I do not have any conversion (msb*256+lsb) in my def file.
I think maybe there is no conversion because once set to 16bit, by default tuner pro does the MSB*(256)+LSB internally and assumes that 21 is msb and the next byte 22 is lsb? and the 2 flags signed/lsb first means it changes the + to a minus and the LSB first means it does LSB*256+MSB instead?
3: the word definitions. I am assuming I add them as bitmasks. For example my bit mask for air/fuel 16 at offset 15. is 8 bit and has a AND operator for learn control true false. It is testing for a hex value of 0x02 decimal of 2. Looking at your chart I see that for mode 16 that line 1 is this flag. since there is a 0. I assume the test occurs at byte 2. and if true therefore enabled OK makes sense but what about the rich/lean loop?
same bitmask offset of 15 but the test occurs at 0x40 (decimal 64) I would have assumed it would be at 0x07 since this is line 6 in the word 16?
This is all great learning for me thanks alot. Where did you find this on the web? And are there similiar charts for the actual bin file? IE for 02 counts does it show the formula at at what byte it counts the 0-256 and where 14.7 occurs. I realized we can edit the definitions for the displays. But I would like to know is it possible to actually edit the bin as example the 0-255 o2 counts to match a narrow band simulator. say chnage the thresholds values. (my narrowband sim reads high so I like to change the threshold for the o2 so it reads a new 14.7 location)
Looking at my definition that are default values in all the downloads as example.
1: The O2 readings come from offset 10 in all files I have. you list it here as 11? So I assume 0-10 is really 11 bytes. The offset being 10 is still correct in the defintion? This seems to apply for all the other values too, IE: BLM is offset 19 in my definition you have it at 20.
so (code# - 1) = offset value? 11-1 = 10 or 20-1 = 19
2: I understand the 8 vs 16 bit definitions.
My Airflow readings are way off (like 3200 all the time) The definition it as a 16bit but I do not have any conversion (msb*256+lsb) in my def file.
I think maybe there is no conversion because once set to 16bit, by default tuner pro does the MSB*(256)+LSB internally and assumes that 21 is msb and the next byte 22 is lsb? and the 2 flags signed/lsb first means it changes the + to a minus and the LSB first means it does LSB*256+MSB instead?
3: the word definitions. I am assuming I add them as bitmasks. For example my bit mask for air/fuel 16 at offset 15. is 8 bit and has a AND operator for learn control true false. It is testing for a hex value of 0x02 decimal of 2. Looking at your chart I see that for mode 16 that line 1 is this flag. since there is a 0. I assume the test occurs at byte 2. and if true therefore enabled OK makes sense but what about the rich/lean loop?
same bitmask offset of 15 but the test occurs at 0x40 (decimal 64) I would have assumed it would be at 0x07 since this is line 6 in the word 16?
This is all great learning for me thanks alot. Where did you find this on the web? And are there similiar charts for the actual bin file? IE for 02 counts does it show the formula at at what byte it counts the 0-256 and where 14.7 occurs. I realized we can edit the definitions for the displays. But I would like to know is it possible to actually edit the bin as example the 0-255 o2 counts to match a narrow band simulator. say chnage the thresholds values. (my narrowband sim reads high so I like to change the threshold for the o2 so it reads a new 14.7 location)
Thread Starter
Member
Joined: Aug 2006
Posts: 484
Likes: 0
From: Tampa, FL
Car: 1988 Iroc-Z Red T-tops
Engine: 305 TPI LB9 55k miles
Transmission: Auto 700r4
Axle/Gears: 2.73 posi
Re: 165 ALDL Data Streams offset list
one more thing. Where are the lookup tables for 17
And 21 cross counts. You show adld/total counts. Is this internal? My definition has no conversion. Wondering if way to see seperate
And 21 cross counts. You show adld/total counts. Is this internal? My definition has no conversion. Wondering if way to see seperate
Moderator
iTrader: (1)
Joined: Mar 2002
Posts: 18,432
Likes: 235
From: Chasing Electrons
Car: check
Engine: check
Transmission: check
Re: 165 ALDL Data Streams offset list
Wow great info. Couple comments and eye open for me and maybe other noobs using the $32 definitions.
Looking at my definition that are default values in all the downloads as example.
1: The O2 readings come from offset 10 in all files I have. you list it here as 11? So I assume 0-10 is really 11 bytes. The offset being 10 is still correct in the defintion? This seems to apply for all the other values too, IE: BLM is offset 19 in my definition you have it at 20.
so (code# - 1) = offset value? 11-1 = 10 or 20-1 = 19
Looking at my definition that are default values in all the downloads as example.
1: The O2 readings come from offset 10 in all files I have. you list it here as 11? So I assume 0-10 is really 11 bytes. The offset being 10 is still correct in the defintion? This seems to apply for all the other values too, IE: BLM is offset 19 in my definition you have it at 20.
so (code# - 1) = offset value? 11-1 = 10 or 20-1 = 19
2: I understand the 8 vs 16 bit definitions.
My Airflow readings are way off (like 3200 all the time) The definition it as a 16bit but I do not have any conversion (msb*256+lsb) in my def file.
I think maybe there is no conversion because once set to 16bit, by default tuner pro does the MSB*(256)+LSB internally and assumes that 21 is msb and the next byte 22 is lsb? and the 2 flags signed/lsb first means it changes the + to a minus and the LSB first means it does LSB*256+MSB instead?
My Airflow readings are way off (like 3200 all the time) The definition it as a 16bit but I do not have any conversion (msb*256+lsb) in my def file.
I think maybe there is no conversion because once set to 16bit, by default tuner pro does the MSB*(256)+LSB internally and assumes that 21 is msb and the next byte 22 is lsb? and the 2 flags signed/lsb first means it changes the + to a minus and the LSB first means it does LSB*256+MSB instead?
gms/sec = MSB + (LSB / 256)
3: the word definitions. I am assuming I add them as bitmasks. For example my bit mask for air/fuel 16 at offset 15. is 8 bit and has a AND operator for learn control true false. It is testing for a hex value of 0x02 decimal of 2. Looking at your chart I see that for mode 16 that line 1 is this flag. since there is a 0. I assume the test occurs at byte 2. and if true therefore enabled OK makes sense but what about the rich/lean loop?
Code:
** : THIS IS A ROLLOVER COUNTER (0 - 255), TAKE CURRENT DATA STREAM READING
SUBTRACT LAST DATA STREAM READING = CROSSCOUNTS. IF CURRENT READING
MINUS LAST READING IS < 0, THEN TAKE CURRENT READING + 255 - LAST
READING = CROSSCOUNTS.
MANIFOLD AIR TEMPERATURE TABLE
DEGREES C A/D
TEMPERATURE COUNTS
------------ ------
-40 0
-30 4
-25 5
-20 8
-15 10
-10 14
- 5 18
0 24
5 30
10 37
15 46
20 56
25 66
30 78
35 90
40 103
45 116
50 129
55 141
60 153
65 163
70 174
75 183
80 191
85 199
90 205
95 211
100 216
105 221
110 225
115 229
120 232
125 234
130 237
135 239
140 241
145 242
150 243
200 255 Thread Starter
Member
Joined: Aug 2006
Posts: 484
Likes: 0
From: Tampa, FL
Car: 1988 Iroc-Z Red T-tops
Engine: 305 TPI LB9 55k miles
Transmission: Auto 700r4
Axle/Gears: 2.73 posi
Re: 165 ALDL Data Streams offset list
Item #2. i get the MSB.LSB fraction. But my value in airflow is just 3200 no 3200.00
again maybe it is missing. maybe my actuall readings are 32.00? trying to confirm since I want to trouble shoot my MAF. So for the Airlfow the software still combines both bits MSB, LSB into the one definition? And I have no conversion formula in my def file. so this raw data is the g/sec value? Seems odd since it can only read to 255 how can I get a 3000?
For the Bitmask. Still fuzzy I know I said line not byte but same thing. In the list it is ADS line 16 or offset 15. Bu there are 7 lines/bytes for offset 15 each one with different outputs. So hex for line 6 I was saying should be hex for decimal 7 (6+1) = 0x07. 0x40 is hex for 64? do not see how 64 is part of 6 or 7
like the previous bitmask at line/byte 1 in your list for offset 15 (line16) the hex is 0x02 decimal 2 for that line makes sense to count up to #6 and do the same.
just curious.
0x40 is
again maybe it is missing. maybe my actuall readings are 32.00? trying to confirm since I want to trouble shoot my MAF. So for the Airlfow the software still combines both bits MSB, LSB into the one definition? And I have no conversion formula in my def file. so this raw data is the g/sec value? Seems odd since it can only read to 255 how can I get a 3000?
For the Bitmask. Still fuzzy I know I said line not byte but same thing. In the list it is ADS line 16 or offset 15. Bu there are 7 lines/bytes for offset 15 each one with different outputs. So hex for line 6 I was saying should be hex for decimal 7 (6+1) = 0x07. 0x40 is hex for 64? do not see how 64 is part of 6 or 7
like the previous bitmask at line/byte 1 in your list for offset 15 (line16) the hex is 0x02 decimal 2 for that line makes sense to count up to #6 and do the same.
just curious.
0x40 is
Moderator
iTrader: (1)
Joined: Mar 2002
Posts: 18,432
Likes: 235
From: Chasing Electrons
Car: check
Engine: check
Transmission: check
Re: 165 ALDL Data Streams offset list
Your terminology & understanding needs some work.
"the software still combines both bits MSB, LSB into the one definition?"
They are bytes, not bits. Most Significant Byte and Least Significant Byte.
"For the Bitmask. Still fuzzy I know I said line not byte but same thing."
Not at all the same thing, and not lines or bytes, but bits.
"So hex for line 6 I was saying should be hex for decimal 7 (6+1) = 0x07. 0x40 is hex for 64? do not see how 64 is part of 6 or 7"
You need a better understanding of how CPUs operate. The GM ECM CPUs use hex, so 0x40 is the mask for bit 6. It is being used to test if bit 6 is set (1) or not (0).
In binary 0x40 is: 0100 0000
Bit 7 on the far left, then bit 6, bit 5, ..., with bit zero the far right.
"But my value in airflow is just 3200"
Most likely the conversion isn't doing the divide by 256, which would make 3200 equal to 12.5 gms/sec of airflow. Can also multiply by 0.00390625 for the same result (1 / 256).
RBob.
"the software still combines both bits MSB, LSB into the one definition?"
They are bytes, not bits. Most Significant Byte and Least Significant Byte.
"For the Bitmask. Still fuzzy I know I said line not byte but same thing."
Not at all the same thing, and not lines or bytes, but bits.
"So hex for line 6 I was saying should be hex for decimal 7 (6+1) = 0x07. 0x40 is hex for 64? do not see how 64 is part of 6 or 7"
You need a better understanding of how CPUs operate. The GM ECM CPUs use hex, so 0x40 is the mask for bit 6. It is being used to test if bit 6 is set (1) or not (0).
In binary 0x40 is: 0100 0000
Bit 7 on the far left, then bit 6, bit 5, ..., with bit zero the far right.
"But my value in airflow is just 3200"
Most likely the conversion isn't doing the divide by 256, which would make 3200 equal to 12.5 gms/sec of airflow. Can also multiply by 0.00390625 for the same result (1 / 256).
RBob.
Trending Topics
Thread Starter
Member
Joined: Aug 2006
Posts: 484
Likes: 0
From: Tampa, FL
Car: 1988 Iroc-Z Red T-tops
Engine: 305 TPI LB9 55k miles
Transmission: Auto 700r4
Axle/Gears: 2.73 posi
Re: 165 ALDL Data Streams offset list
Thanks! I have a lot to learn lol. Well I didn't even think hex to binary I was doing hex to decimal which is 64. Binary makes way more sense
So for the 7 th flag closed loop it should be 1000 0000 or 0x80
Much more sense
Thanks a bunch!
ALS like I asked earlier are there tables like this complete for the whole bin so I can read the comments? It appears the binary code has ASCII text to the right in the hex editor is it possible to read this against the code?
So for the 7 th flag closed loop it should be 1000 0000 or 0x80
Much more sense
Thanks a bunch!
ALS like I asked earlier are there tables like this complete for the whole bin so I can read the comments? It appears the binary code has ASCII text to the right in the hex editor is it possible to read this against the code?
Thread Starter
Member
Joined: Aug 2006
Posts: 484
Likes: 0
From: Tampa, FL
Car: 1988 Iroc-Z Red T-tops
Engine: 305 TPI LB9 55k miles
Transmission: Auto 700r4
Axle/Gears: 2.73 posi
Re: 165 ALDL Data Streams offset list
Rob thanks I have an update and some fixes and more questions.
I played with payload size and what I realized in tuner rpo that for the 160 baud command if payload set higher then 29 it won't data log and between 26-29 it data logs but slower at 29 then at 26. And works perfect at 25.
I still could not see my wb data come thru the 26-29 streams no matter what.
So I tried winaldl and data master both worked fine and recorded very fast and showed me interesting info. I think the wb is read at 26. But for. A 0-5volt signal I know should be x*.0097 + 10 but doesn't work when values are in 8000 range in tuner pro
But in data master I noticed the values are 100s so using just 1/256 + 10 it looks right
Using my runs I data logged. And my o2 pegged at 1.02v and the wideband I think is pegged rich at 10. That make sense? My blm and int drop within minute to 100-105 range all in closed loop. Spark adv idles down to 20 range and idle is low but I still need tune up sounds like misfire and I have original injectors and set of south as ready to install
If I disconnect o2 and wb my o2 still reads ? Around .460-.550 range and sits in open loop but it idles much smoother and sounds better but never kicks down sits at high idle still smells rich. In open loop it suits at 800-1000 idle and 24-30 spark advance
I played with payload size and what I realized in tuner rpo that for the 160 baud command if payload set higher then 29 it won't data log and between 26-29 it data logs but slower at 29 then at 26. And works perfect at 25.
I still could not see my wb data come thru the 26-29 streams no matter what.
So I tried winaldl and data master both worked fine and recorded very fast and showed me interesting info. I think the wb is read at 26. But for. A 0-5volt signal I know should be x*.0097 + 10 but doesn't work when values are in 8000 range in tuner pro
But in data master I noticed the values are 100s so using just 1/256 + 10 it looks right
Using my runs I data logged. And my o2 pegged at 1.02v and the wideband I think is pegged rich at 10. That make sense? My blm and int drop within minute to 100-105 range all in closed loop. Spark adv idles down to 20 range and idle is low but I still need tune up sounds like misfire and I have original injectors and set of south as ready to install
If I disconnect o2 and wb my o2 still reads ? Around .460-.550 range and sits in open loop but it idles much smoother and sounds better but never kicks down sits at high idle still smells rich. In open loop it suits at 800-1000 idle and 24-30 spark advance
Supreme Member




Joined: Jun 2012
Posts: 1,371
Likes: 196
From: Canada
Car: '18 Chev Camaro SS 1LE
Engine: LT1 6.2L
Transmission: T56
Axle/Gears: 3.91
Thread
Thread Starter
Forum
Replies
Last Post
sreZ28
Engine/Drivetrain/Suspension Parts for Sale
5
Oct 22, 2015 08:21 AM
Linson
Auto Detailing and Appearance
26
Sep 21, 2015 01:08 PM
83 Crossfire TA
Suspension and Chassis
0
Sep 8, 2015 12:06 PM




