Results 1 to 11 of 11

Thread: GM PIDs

  1. #1
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477

    GM PIDs

    I am trying to find definition for the PIDs my ECM responds to. I have a list, but going backwards to figure out each one is quite time consuming. It would be great if you could give me a boost with my project.
    Here is the table of supported PIDs for a 5.7 LT1 96/7 vintage... Some are easy to find, defined in the standards but others are defined by GM and I just can't find a list. All help appreciated. I will publish result
    once complete to this thread.

    -Tom

    * SAE J1979 ASSIGNMENTS
    PID
    | NUMBER OF BYTES:00
    | | LOCATION OR ROUTINE
    | | |
    E484 0000 0000 0000 ;
    0000 0400 42E4 ; SUPPORTED PID $01 - $20, BIT MAP FLASH CONST $BFBFF990
    0001 0400 DFC8 ; NUMBER OF EMISSION-RELATED TROUBLE CODES AND MIL STATUS
    0003 0200 DFE2 ; FUEL SYSTEM STATUS:
    0004 0100 DFE8 ; CALCULATED LOAD VALUE: 0% TO 100%
    0005 0100 01D5 ; ENGINE COOLANT TEMPERATURE: -40C TO 215C
    0006 0100 016B ; LEFT SHORT TERM FUEL TRIM: -100% (LEAN) TO 99.22% (RICH)
    0007 0100 016E ; LEFT LONG TERM FUEL TRIM: -100% (LEAN) TO 99.22% (RICH)
    0008 0100 016A ; RIGHT SHORT TERM FUEL TRIM: -100% (LEAN) TO 99.22% (RICH)
    0009 0100 016F ; RIGHT LONG TERM FUEL TRIM: -100% (LEAN) TO 99.22% (RICH)
    000B 0100 01D7 ; MANAFOLD ABSOLUTE PRESSURE: 0KPA TO 255KPA
    000C 0200 01D0 ; ENGINE RPM HIGH RES (RPM X 4): 0 TO 16383.75 RPM
    000D 0100 01D2 ; SPEED IN KPH: 0 TO 255 KPH
    000E 0100 E001 ; ROUTINE: IGNITION TIMING: -64 TO +63.5 DEGREES
    000F 0100 01D6 ; INTAKE AIR TEMPERATURE: -40C TO 215C
    0010 0200 01D3 ; MASS AIR FLOW: G/SEC 0GM/S TO 655.35GM/S
    0011 0100 01CF ; THROTTLE POSITION SENSOR: 0% TO 100%
    0012 0100 E015 ; ROUTINE: COMMANDED SECOND AIR:
    0013 0100 E023 ; ROUTINE: O2 SENSOR CONFIGURATION: $33 = 2 SENSORS/BANK
    0014 0200 E028 ; ROUTINE: O2 B1S1 VOLTAGE: 0 TO 1 VOLT: SHORT TERM FUEL TRIM
    0015 0200 E043 ; ROUTINE: O2 B1S2 VOLTAGE: 0 TO 1 VOLT: $FF
    0018 0200 E05D ; ROUTINE: O2 B2S1 VOLTAGE: 0 TO 1 VOLT: SHORT TERM FUEL TRIM
    0019 0200 E078 ; ROUTINE: O2 B2S2 VOLTAGE: 0 TO 1 VOLT: $FF
    001C 0100 E092 ; OBD II TYPE: $01

    E514 1104 0100 E097 ; ROUTINE:LMP STAT
    1105 0100 E0CE ; ROUTINE:fuel stat
    1106 0100 E102 ; ROUTINE:contingent ?VTD Fuel Disable
    1107 0100 E12D ; ROUTINE:misc stat ?Throttle at Idle
    1108 0100 E172 ; ROUTINE:
    1109 0100 E1AC ; ROUTINE:
    110A 0100 E1EE ; ROUTINE:
    110C 0100 1E02 ; qdasro air
    110D 0100 1E03 ; qdasr1 air
    110E 0100 1E04 ; qdasr2 air
    110F 0100 1E76 ; MWSPIN2

    1110 0100 1E77 ;
    1111 0100 008F ; OCTAL DRIVER 0 STATUS
    1112 0100 0090 ; OCTAL DRIVER 0 STATUS
    1113 0100 0091 ; OCTAL DRIVER 1 STATUS
    1114 0100 0092 ; OCTAL DRIVER 1 STATUS
    1115 0100 0093 ; OCTAL DRIVER 1 STATUS
    1116 0100 0094 ; OCTAL DRIVER 2 STATUS

    1140 0200 025C ; MAF AIR FLOW g/sec 0-512
    1141 0100 0117 ; IGNITION VOLTAGE VALUE/10
    1142 0100 0108 ; MAP?map kpa 122-10
    1143 0100 0107 ; THROTTLE POSITION SENSOR VOLTS 5.12-0
    1144 0100 0102 ; AC?ac pressure volts 5.1-0 AC Hi Side Pressure
    1145 0100 0124 ; O2 main BANK1S1 ho2 0-1.107V
    E5A4 1146 0100 0128 ; O2 post BANK1S2 ho2 0-1.107V
    1148 0100 0126 ; O2 main BANK2S1 ho2 0-1.107V
    1149 0100 012A ; O2 post BANK2S2 ho2 0-1.107V
    1151 0100 0182 ; TPS LINEAR? NRMLZD TPS tps angle 100-0%
    115E 0100 1826 ; CAM REF ACT cam engine spd

    116F 0100 E22E ; ROUTINE: STARTUP ECT

    1170 0100 0235 ; EVAP CANISTER PURGE PWM(range 0 - 100%)
    1171 0100 0242 ; EGR DUTY CYCLE (range 0 - 100%)
    1176 0100 181F ; LEARNED IAC POSITION
    1179 0100 181E ; IAC POSITION
    1190 0100 0170 ; CURRENT BLM CELL IN CONTROL OF FUEL
    1192 0100 013A ; TARGET IDLE RPM: RANGE 0-3200
    119D 0100 1821 ; BAROMETRIC PRESSURE (SAMPLE AT KEY ON AND WOT)
    119E 0100 0249 ; TARGET AIR FUEL RATIO (range 0 - 25.5:1)

    11A1 0200 004A ; ENGINE RUN TIME(range 0-65K) "((A*256)+B)/60", 0, 999, "Mins"
    11A3 0100 0259 ; CALCULATED CATALYTIC TEMPERATURE (RANGE 0 - 2040C)
    11BD 0100 1BD3 ; dcltrp spl ?? EGR TEST COUNTS
    11C0 0100 1BD1 ;
    11C2 0100 1BCA ; cruz smpl
    11C4 0100 1BC8 ;
    11D5 0100 1BBA ; b1s102lnav bk1 o21 ml MEDIAN LEFT?
    11D7 0200 1DE2 ; b1s1 o2rse
    11D8 0100 1B43 ; #devsmpls
    11DD 0100 1BBC ; b2s102lnav bk2 o21 ml
    11DE 0100 1BB9 ; b1s1o2rhav bk1 o21 mr RIGHT H AVERAGE
    11E0 0100 1BBB ; b2s1o2rhav bk2 o21 mr
    11E3 0200 01E0 ; TIMER TICKS BETWEEN LOW RES INTS

    11E4 0200 0278 ; pp mf delt msf 1st pk
    11E6 0200 0272 ; balancedtm msf bal tm MSF = MISFIRE
    11E9 0100 0277 ; mfcylidsts msf cur st
    11EA 0100 027C ; CURRENT MISFIRE CYLINDER 5
    11EB 0100 027B ; CURRENT MISFIRE CYLINDER 6
    11EC 0100 027D ; CURRENT MISFIRE CYLINDER 7
    11ED 0100 0280 ; CURRENT MISFIRE CYLINDER 8
    11F3 0100 0274 ; msf inst v
    11F8 0200 0286 ; HISTORY MISFIRE CYLINDER 5
    11F9 0200 0284 ; HISTORY MISFIRE CYLINDER 6
    11FA 0200 0288 ; HISTORY MISFIRE CYLINDER 7
    11FB 0200 028E ; HISTORY MISFIRE CYLINDER 8

    1200 0100 0276 ; totmisfire msf hst st
    1201 0200 028C ; CURRENT MISFIRE CYLINDER 1
    1202 0200 028A ; CURRENT MISFIRE CYLINDER 2
    1203 0200 0282 ; CURRENT MISFIRE CYLINDER 3
    1204 0200 0290 ; CURRENT MISFIRE CYLINDER 4
    1205 0100 027E ; HISTORY MISFIRE CYLINDER 2
    1206 0100 027F ; HISTORY MISFIRE CYLINDER 1
    1207 0100 027A ; HISTORY MISFIRE CYLINDER 3
    1208 0100 0281 ; HISTORY MISFIRE CYLINDER 4

    120A 0100 1E5F ;
    120B 0100 1E61 ;
    120C 0100 1E60 ;
    1212 0100 1DEE ; o2f-rt rat b1s1 rl:lr
    1216 0200 1DFB ; o2fallb2s1 b2s1 lr sw
    1217 0200 1DF5 ; o2riseb2s1 b2s1 rl sw
    121A 0200 1DE8 ; o2fallb1s1 b1s1 rl sw
    121C 0100 1D9C ; b1s2o2bias
    121D 0100 1D91 ; b1s1o2bias b1s1 bias
    1221 0200 191A ; dev cntrl $ae overrd (?TP Sensors 1,2 Performance -A?)
    1226 0100 1DA7 ; b1s2o2bias b2s1 bias
    1227 0200 0292 ; TOTAL MISFIRE TEST CYCLES FAILED
    1228 0200 0294 ; TOTAL MISFIRE TEST CYCLES PASSED
    122A 0100 0275 ; MISFIRE cycles

    1232 0100 1B2A ; COUNT OF... CYLW/OEMFT cyc wo e.f. CYCLES WITHOUT EMISSIONS RELATED FAILURE
    1233 0100 1B2B ; COUNT OF... CYLW/ONEMF

    1234 0200 1B2D ; malf odo MILAGE SINCE MIL REQUEST
    1235 0200 1B19 ; fc 1st odo MILEAGE SINCE FIRST FAILURE
    1236 0200 1B1B ; fc last odo MILEAGE SINCE LAST FAILURE
    1237 0100 1B1D ; fc fld cntr
    1238 0100 1B1E ; fc psd cntr
    1239 0100 1B1F ; fcnoruncnt ? FC NO RUN COUNT
    123A 0100 1E62 ;
    123B 0100 0162 ; RPM/25
    123C 0100 1DB2 ; b2s2 bias
    123D 0200 1DB4 ; b2s2 tuact
    123F 0200 1DE4 ; b1s1o2rtac b1s1 lr tt
    1240 0200 1DF7 ; b2s1o2rtac b2s1 lr tt
    1241 0200 1DEA ; b1s1o2ftac b1s1 rl tt
    1242 0200 1DFD ; b2s1o2ftac b2s1 rl tt
    1243 0200 1DE6 ; b1s1avgrt b1s1 l/rav
    1244 0200 1DF9 ; b2s1avgrt b2s1 l/rav
    1245 0200 1DEC ; B1S1AVGFT b1s1 r/lav
    1246 0200 1DFF ; B2S1AVGFT b2s1 r/lav
    1247 0100 1E01 ; ft-rt ratio b2s1 rl:lr
    1248 0100 1B44 ; avgdevdiff b1 l devdf
    1249 0100 1B4C ; b2 l devdf
    124A 0100 1B48 ; fltdevdiff b1 2fdevdf
    124B 0100 1B50 ; b2 2fdevdf
    124D 0100 1B4B ;
    124E 0100 1B47 ; #ewma smpl
    1257 0200 1D93 ; b1s1 tuact
    1258 0200 1D9E ; b1s2 tuact
    1259 0200 1DA9 ; b2s1 tuact
    125A 0200 025E ; INJECTOR PW BANK1 AVERAGE BPLS
    125B 0200 0266 ; INJECTOR PW BANK2 AVERAGE BPLS
    125D 0100 0252 ; KNOCK RETARD
    125E 0200 0243 ; KNOCK COUNT
    125F 0100 1DA1 ; b1s1 aaflw
    1260 0100 1B4F ;
    1261 0100 01FA ; SCI COMMAND ID

    LEFT BLOCK LEARN
    1262 0100 1B55 ;
    1263 0100 1B56 ;
    1264 0100 1B57 ;
    1265 0100 1B58 ;
    1266 0100 1B59 ;
    1267 0100 1B5A ;
    1268 0100 1B5B ;
    1269 0100 1B5C ;
    126A 0100 1B5D ;
    126B 0100 1B5E ;

    RIGHT BLOCK LEARN
    126C 0100 1B5F ;
    126D 0100 1B60 ;
    126E 0100 1B61 ;
    126F 0100 1B62 ;
    1270 0100 1B63 ;
    1271 0100 1B64 ;
    1272 0100 1B65 ;
    1273 0100 1B66 ;
    1274 0100 1B67 ;
    1275 0100 1B68 ;

    1276 0200 0257 ; ckp ratio ? CRANKSHAFT POSITION SENSOR LOW RESOLUTION ANGLE
    1277 0200 024F ; ckp eng sp

    1278 0100 1D96 ; b1s1 aaflw
    1279 0100 1DAC ; b2s1 aaflw

    127A 0100 1DB7 ; b2s2 aaflw

    127C 0100 1E1F ;
    127D 0100 1E20 ;
    127E 0100 1E21 ; COUNT
    127F 0100 1E22 ; COUNT

    1280 0100 1E0F ;
    1281 0100 1E10 ;
    1282 0100 1E17 ;
    1283 0100 1E19 ;
    1284 0100 1E16 ;
    1285 0100 1E18 ;
    1286 0100 1E13 ;
    1287 0100 1E0E ;
    1288 0100 1E0A ;
    1289 0100 1E0B ;
    128A 0100 1E28 ;
    128B 0100 1E29 ;
    128C 0100 1E2A ;
    128D 0100 1E2B ;
    128E 0100 1E82 ;
    12BE 0200 1BD6 ;
    12BF 0200 1BCD ;
    12C0 0200 1BCF ;
    12C1 0200 1BD8 ;

    1601 0100 E23A ; ROUTINE: AIR COND EVAP TEMP? evap temp
    1602 0100 01C8 ;

    1920 0100 E24F ; ROUTINE: STATUS BITS OF OCTAL DRIVERS
    1921 0100 E27D ; ROUTINE: STATUS BITS OF OCTAL DRIVERS
    1922 0100 E2A5 ; ROUTINE:
    1923 0100 E2B2 ; ROUTINE:
    1924 0100 E2C5 ; ROUTINE:
    1925 0100 E2FC ; ROUTINE:
    1926 0100 00CB ; tcc mode
    1927 0100 00BD ;
    1928 0100 00BE ;
    1929 0100 E32A ; ROUTINE:
    192A 0100 00CF ;
    192B 0100 E337 ; ROUTINE: tccoffrsns
    192C 0100 00E1 ; trans range
    1941 0200 1D56 ; turb speed INPUT SHAFT SPEED
    1942 0200 1D67 ; no OUTPUT SHAFT SPEED
    1970 0100 180D ; PWM OUTPUT 2 tcc dc
    1971 0100 0241 ; dspresbias 3-2 DOWNSDC
    1972 0100 1D1B ; fm dc FORCE MTR D.C.
    1991 0200 1D7E ; tcc slip
    1992 0100 1D74 ; lasttime ? LAST SHIFT TIME
    1993 0100 1D05 ; 1-2 SHIFT TIME
    1994 0100 1D06 ; 2-3 SHIFT TIME
    1995 0100 1D07 ; 3-4 SHIFT TIME
    1996 0100 1D75 ; last error
    1997 0100 1D08 ; 1-2 SHIFT ERROR
    1998 0100 1D09 ; 2-3 SHIFT ERROR
    1999 0100 1D0A ; 3-4 SHIFT ERROR
    199B 0100 1D17 ; curradpmod ADAPT CELL
    199C 0100 1D18 ; currcell# ADAPT MEM
    199D 0100 1D7A ; VBS pressure
    199E 0100 1D1E ; act fm cur VBS CURRENT PC Solenoid Actual Current
    199F 0100 1D1D ; des fm cur VBSCOMCRNT PC Solenoid Reference Current
    19A0 0100 1D72 ; shift delay
    19AD 0100 0118 ; RAW AUTO TRANS TEMP trantmpa/d
    19F3 0100 03DB ; trns oil temp
    19F4 0200 039A ; box ratio
    19F5 0100 1D71 ; gear

    1A01 0200 1D3B ;

    FC00 0200 201F ; FLASH CONST $0A 02 sw id
    FC01 0400 2017 ; FLASH CONST $16 23 63 11 cal id
    FC02 0100 0108 ; RAW MAP
    FC05 0100 0242 ; EGR PWM DUTY CYCLE
    FC1F 0400 0024 ; LEFT BLMS 0- 950 RPM GROUP
    FC20 0400 0028 ; LEFT BLMS 950-1300 RPM GROUP
    FC21 0400 002C ; LEFT BLMS 1300-2000 RPM GROUP
    FC22 0400 0030 ; LEFT BLMS 2000 & UP RPM GROUP
    FC23 0300 0034 ;
    FC24 0400 0037 ; RIGHT BLMS 0- 950 RPM GROUP
    FC25 0400 003B ; RIGHT BLMS 950-1300 RPM GROUP
    FC26 0400 003F ; RIGHT BLMS 1300-2000 RPM GROUP
    FC27 0400 0043 ; RIGHT BLMS 2000 & UP RPM GROUP
    FC28 0300 0047 ;

    EA5A 0000 0000 0000 ;
    0000 0400 42E8 ; SUPPORTED PID $21 - $40 BIT MAP FLASH CONST $7FB98000
    0002 0200 1B02 ; FREEZE DATA T5 BYTE 5
    0003 0200 1B15 ; FREEZE DATA T5 BYTE 18
    0004 0100 1B20 ; JUST AFTER FREEZE DATA T5
    0005 0100 1B07 ; T5 BYTE A
    0006 0100 1B0E ;
    0007 0100 1B10 ;
    0008 0100 1B0F ;
    0009 0100 1B11 ;
    000B 0100 1B12 ;
    000C 0200 1B13 ;
    000D 0100 1B18 ;
    0010 0200 1B05 ;
    0011 0100 1B17 ;

  2. #2
    Fuel Injected!
    Join Date
    Jan 2018
    Posts
    57
    Thanks so much for posting this. I've been wanting to write a data logger for a while now, and this is a HUGE help.

    Between this and an ADX file that I came across (which seems to show how to create multi-PID packets) I think I'm finally actually ready to start.

    I don't have anything to add to this table, but I sure am going to use it.
    Last edited by NSFW; 08-23-2019 at 11:15 AM.

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

    I am still working away on the code, also interested in what you are doing. Is the ADX file something you could share with us?

    Cheers -Tom

  4. #4
    Fuel Injected!
    Join Date
    Jan 2018
    Posts
    57
    The ADX file I've been looking at is in this thread:

    https://pcmhacking.net/forums/viewtopic.php?f=42&t=6269

    It's attached to a message from 160plus, I think it's the 20th message it the thread. The file name is "AVT Change DPID format_NowMucFaster.adx" but I have to admit I haven't actually tried to use it with Tuner Pro.

    The AVT data format has very little extra data beyond the bytes that over the OBD2 connection (just one leading byte, I think) and there are some comments in the file, and between those two things, I think can see how the protocol works. I've started writing code based on that, but I haven't gotten to the point where I can test it yet.

  5. #5
    Fuel Injected!
    Join Date
    Jan 2020
    Posts
    31
    How are the values for 1192 interpreted? The tables shows that it returns 1 byte, but the description says that it ranges from 0-3200. Maybe a 12.5 times the byte value?

  6. #6
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Quote Originally Posted by ColPaul View Post
    How are the values for 1192 interpreted? The tables shows that it returns 1 byte, but the description says that it ranges from 0-3200. Maybe a 12.5 times the byte value?
    It's been a long time since I looked at this... The value for PID1192 is returned in a single byte from location $013A in the TSide internal RAM. I believe it is tested against rpm/12.5 as you suggest. Here is a snip o code I found from some earlier work...

    Code:
    52A1  B6 01 64        LDAA   $0164        ; RPM/12.5 AVERAGE
    52A4  B1 01 3A        CMPA   $013A        ; TARGET IDLE RPM: RANGE 0-3200
    52A7  22 05           BHI    $52AE        ; BRANCH IDLE ABOVE TARGET
    
    52A9  20 18           BRA    $52C3        ; IDLE <= TARGET
    -Tom

  7. #7
    Fuel Injected!
    Join Date
    Jan 2020
    Posts
    31
    Tom, Thank you! Not sure what my dad's truck is doing with respect to desired idle vs. actual so this will be extremely helpful. It's on a 2005 P59 PCM, but I am hoping that the protocol/enhanced PID is the same.

    Paul

  8. #8
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Quote Originally Posted by ColPaul View Post
    Tom, Thank you! Not sure what my dad's truck is doing with respect to desired idle vs. actual so this will be extremely helpful. It's on a 2005 P59 PCM, but I am hoping that the protocol/enhanced PID is the same.

    Paul
    Hi Paul,

    Interested to hear how this works out. I expect GM will keep the definition across generations.

    -Tom

  9. #9
    Fuel Injected!
    Join Date
    Jan 2018
    Posts
    57
    Quote Originally Posted by Tom H View Post
    Hi NSFW,

    I am still working away on the code, also interested in what you are doing. Is the ADX file something you could share with us?

    Cheers -Tom
    If you're still interested, my code is here: http://pcmhammer.org
    The relevant stuff is in the PcmLibrary\Logging folder.
    Under the Apps folder there's a PcmLogger app for Windows.

    The last known-good release is available in a zip file at GitHub, and I'm hoping to do another release soon that will fix a couple of minor bugs and will add a few more parameters - some of which I poached from the list you posted above. :)

  10. #10
    Fuel Injected!
    Join Date
    Jan 2020
    Posts
    31
    Thanks everyone for all the help. I got OBD Fusion with user PIDs working on Dad's iPad to log. One of the PIDs that's missing is $199D. I added that but don't know how to interpret the results. I currently just using the default conversion of (A * 256 + B) to convert hex to decimal output.

  11. #11
    Fuel Injected!
    Join Date
    Jan 2020
    Posts
    31
    I tested today and evidently it returns a single byte (vs 2 byte). Very spurious results with iOS and OBD Fusion.

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •