More PIDs for Torque App

TJBaker57

Original poster
Member
Aug 16, 2015
2,897
Colorado
So, this PID will work on 06 but not for 02-05 vehicles?

The PID ~likely~ will work for an 06.

PID 0x1641 does not exist in the earlier P10 PCM, 2002-2005.

PID 0x1641 also does not seem to exist in the 2007 P12 PCM but I cannot confirm that until I get my hands on a 2007 P12 and ask it.
 
  • Like
Reactions: santon

TJBaker57

Original poster
Member
Aug 16, 2015
2,897
Colorado
The foregoing PIDs are mode 22 requests, the type normally used for acquiring data. The next ones use a mode 23 direct memory read to get data otherwise unavailable at least without onerous methods. As such I again must say I can only state that these work on my 2002 with factory calibrations. Eventually I will grab HVAC modules of varying years from the Upull for the purpose of nailing down these data points.


I just now confirmed that the mode 23 memory read of HVAC Module memory location 0x0020F8 also works in two manual control modules I grabbed from the Upull a few weeks ago. I tested against a #15132072 with a date of 18May 04 and a #10395426 dated 16Dec 05.

To refresh: this allows reading the status of the low pressure switch, the compressor feedback signal and the A/C Permission status.

The spreadsheet has all the needed info for Torque Pro. The equations are similar for Car Scanner or OBD Fusion.


In other business I have isolated the front propshaft speed, rear propshaft speed, and slip speed for the 5 different TCCMs that I have. Among the 5 TCCMs I have there are 3 different sets of memory locations for these 3 parameters. I also have the mode switch return voltage and the encoder position return voltage for these 5 TCCMs.

Not sure how best to organize all that so I'm sitting on it for now.
 
  • Like
Reactions: azswiss

TJBaker57

Original poster
Member
Aug 16, 2015
2,897
Colorado
Scanned and located the 4 HVAC actuator positions for those two manual control modules today. Both of those manual controls used the same memory address for the data but I have no vehicle to verify the operation with.

So I moved over to my 2002 with automatic controls and not surprisingly the addresses are different. But I located them in short order and tested in Car Scanner as seen below. My 2005 Yukon with automatic controls also uses different memory locations so I will sort them out next.

I was hopeful I might find some uniformity to these data points but it is looking like they will vary.

Screenshot_20211005-223629.jpg
 
  • Like
Reactions: gmcman

mrrsm

Lifetime VIP Donor
Supporting Donor
Member
Oct 22, 2015
7,639
Tampa Bay Area
Thomas… I was searching around for some After-Market OBD2 Scanner Graphing capabilities (other than using either a PICO or Hantek Scopes) for viewing the Rear O2 Sensor Behavior when Diagnosing a Poorly Performing Catalytic Converter (P0420 Code) and THIS Video from a Canadian VOP showed some real promise:


However, I was wondering whether or not Torque Pro is also capable of rendering Oscilloscope-Like Graphs in this same manner. If the Graph you just displayed above came gratis Torque Pro… it opens up so many more opportunities for viewing comparative Module and Sensor Data as Oscilloscope “Voltage Over Time” Graph Analysis On Screen with the X & Y Axis Parameters being clearly labeled.
 

FeralCarr

Member
Feb 2, 2022
1
Longwood, FL
A lot of great information here. I have found some of these PIDs and have seen others on other sites, but this is a great resource for those interested in developing interfaces with their vehicle.

I have a 2005 Chevy Tahoe that I built an Android tablet into the console and run Torque on. I use it for a variety of things including navigation, backup camera, music, weather and an alternative dashboard that gives me some things that the instrument cluster does, but also many things that it doesn't. It's also convenient to be able run an OBD diagnostic right there on the dash.

I've spent a great deal of time working out PIDs for things that I was interested in, so I thought I would contribute some that I have found that I didn't see in this thread. Here are the parameters for monitoring the TPMS. This allowed me to show all the tires at once on a graphical display instead of scrolling through them one at a time on the DIC.

Long NameShort NamePIDEquationMinMaxUnitsHeader
Left Front Tire PressureTPMS LF22248eA0100psi6CA1F1
Right Front Tire PressureTPMS RF22248fA0100psi6CA1F1
Right Rear Tire PressureTPMS RR222490A0100psi6CA1F1
Left Rear Tire PressureTPMS LR222491A0100psi6CA1F1

I don't know how far beyond the 2005 Tahoe these will work. I do know that they don't work on my 2021 Escalade, but I haven't tried them on other GM vehicles.
Tried these on my 2007 Avalanche, and they did not work. :sadcry: I was this close!!! lol
 

piemmm

Member
Mar 4, 2022
1
UK
Hi!

This is probably a bit late, however i've seen this thread whilst looking around for some other information - I think it might be worth mentioning that Torque recently gained the ability to monitor canbus directly as well as normal PIDs (*at the same time!*, or dedicated canbus monitoring).

This means that Torque can now import DBC files (like the ones on: https://github.com/commaai/opendbc ) into the PID editor and get access to all the brodcast CANBUS information

And get access to all the sensors contained within (at quite a speed if you use the dedicated mode (settable in the vehicle profile->advanced settings->protocol->CAN/DBC Bus Monitor) or just leave the protocol at the default to get access to normal PIDs and canbus monitor at the same time

Anyway I hope this is helpful and isn't too much of an interruption!
 

TJBaker57

Original poster
Member
Aug 16, 2015
2,897
Colorado
Torque recently gained the ability to monitor canbus directly


I purposely haven't updated my Torque Pro for some time due to a fiasco the last time around. And since none of my vehicles have any CANBUS (ISO 15765-4) I don't see myself updating this time though I am curious about the new features.

I see I haven't posted here in this thread for some time. I was driving the Yukon the other day and monitoring HVAC door positions so I believe I have that data figured out though I don't remember any of it at the moment. I was actually monitoring my Arduino project but the HVAC doors were displayed as well.
 

Suggest_ID

Member
Apr 12, 2022
1
Canada
Hello folks!

Good day! May I know if anybody has PID for the electronic suspension control module? I've been reading thru the thread and can't seem to grasp the info quiet well yet. My goal is to see if I can recalibrate it. It is riding high after a changes the coils. Might have messed up the ride height sensor in the process. :sadcry:
 
Last edited:

gmcman

Member
Dec 12, 2011
4,656
Since this thread gets a lot of views from knowledgeable people, I have a thread I started in need of assistance.

Didn't want to stray off topic from GM.

Thanks.

 

ahmed_hakeem

Member
Jul 22, 2022
2
United Arab Emirates
A short time ago I posted a new pid I discovered for the Fan Speed of a 4.2 in a 2002 Trailblazer. It was properly suggested by MRRSM that I repost that information here so here I am. It is possible that this is my first original post!

I have been spending a great deal of time fiddling with these PIDs of late and have additional informations that I will post on this thread.

So as posted elsewhere the PID for Fan Speed to enter into Torque extended PIDs is 22162B (I confirmed only on a 2002 4.2). 22 being the mode or service and 162B the actual PID. Header should be set to "Auto" (cAsE sEnSiTiVe) and the equation is "A * 16". Spaces here don't matter. Units are RPM and Scale is x1.

Since that other post I have discovered that if one adds an "01" the the end of these extended PIDs the Torque app will receive the data quicker from the PCM as Torque won't need to cycle through formats seeking an answer from the PCM. I snooped the Class 2 bus while using Torque and found that with the "header" left blank many extended pids fail. When set to "Auto" (CasE sEnSiTiVe) Torque first sends the PID as entered in the extended PID definition and with many of the PIDs the PCM essentially rejects the request. Torque sends the same request again and is again rejected. Then Torque adds the "01" to the end of the PID, as in this case would be 22162B01, and bingo, the PCM answers with the data requested on the first request, speeding up the original startup at least. At first look I believe once Torque gets the answer it was seeking it remembers the format for the duration of that session but not further. You can see this using the test button in Torque while connected to your vehicle. Without the "01" appended there is a noticeable delay in the initial response time.
Hello, TJBaker

im trying to get Fan Speed PID for TORQUE APP and i was following your pid (22162B) but nothing happened i just saw the green signal but almost 0.0 nothing moving
i have 2012 gmc yukon
Thanks😊
 

azswiss

Member
May 23, 2021
860
Tempe, AZ
Unfortunately, it is not uncommon to have different PID definitions between vehicles for the same parameter. This may be the case since these are different engines & vehicle platforms.
 

LikeEnvoy

Member
Apr 17, 2012
128
Winnipeg, MB
Has somebody found PIDs that work for TPMS in a 2007 Envoy? I tried those given in this thread but only one gives any value (TPMS LR pid 222491 with header 6CA1F1) and its fixed at 12 psi (my tire is at 35psi and even when I change the pressure this gauge does not change). Thanks :smile:
(Mind you, my TPMS lamp has been coming on intermittently for a while (blinking for about a minute then going solid) so either one or more sensors is bad (low battery) or the module is intermittent. I was hoping to get a DIC cluster to see what that showed, but failing that, I hoped that Torque sensors would show if one or more sensors is bad.

By the way, I have tried a few more PIDs mentioned here. On my 2007 Envoy, the Oil Pressure switch lookup doesn't work (says OK all the time,even engine stopped).
Fuel level does work! The value did not match my gauge so I arrived at a divisor of 460 to match my 25% fuel gauge reading. I'll check a few more levels to see how that one tracks.

The Oil Pressure calculated by the PCM for the cluster gauge gave me a value but I suspect it's in psi(?). So I altered the formula (A*4*.146038) to A*4*.146038*6.89476 to get kPa (if the googled conversion is correct). My gauge usually reads just over the centre point of 275 kPa.
The Torque pid shows about 274 at idle and when I rev, it goes up to about 350 kPa then falls a bit; always goes back to 274 at idle. Probably the PCM calculates pressures as the engine speed varies but the gauge is designed to clamp the range at the centre.
 
Last edited:

richengle

Member
Aug 20, 2022
2
usa mi
the error is "pid is too long, can be 3 bytes (6hex characters only) but it only appears after I click OK.
So when I enter 22114401 and OK in the obd2 mode line that is the message that pops up.
Without the 01 appended it works fine.
I have an 02 like you. The torque scan and track recorder add on installed.
One thing I'm thinking is that I have the "faster communication" option ticked in the adapter settings. Maybe that sends the 01 automatically?
ive heard TORQUE SCAN is not easy to use. how have u found it to be?
 

azswiss

Member
May 23, 2021
860
Tempe, AZ
for torque app, do we enter the pids as hex, or the numbers listed exactly as above?
Enter the PID as listed, do not append with 01.

From what I have seen, PIDs can have different ID's across platforms.

The attached Excel spreadsheet is a compilation of PIDs with specific reference platforms listed where available (e.g. 2005 Tahoe vs. 2002 Trailblazer 4.2L). You may have to do some experimenting to see if they apply to your vehicle. In addition to the PID spreadsheet tab, there is a CSV tab that contains the data that can be used to import into Torque.
 

Attachments

  • GMT_PIDS_Rev_3.xlsx
    79.7 KB · Views: 73

LikeEnvoy

Member
Apr 17, 2012
128
Winnipeg, MB
Using pid 2215 (A/255*100) , Fuel level PID gives a response value, so I thought it worked, but I find it is reversed somehow.
I kept adjusting the multiplier as the tank went down, to get a reasonable value, but one multiplier did not work for all levels.
So I checked the raw value (A) and found it was 37 at full tank and 129 when the low fuel lamp turned on.
Can't figure out an equation to get the correct positive level of percentage remaining. Anyone?

Ah just noticed the excel sheet above has a different PID. Will try that first.
 
Last edited:

LikeEnvoy

Member
Apr 17, 2012
128
Winnipeg, MB
OK, the fuel level PID that works on my 2007 Envoy SLE is:
PID 12
unit: %
equation: A/2.55
header: A982F1
The value sems pretty accurate although sometimes it jumps to a very different value then back to the proper value(don't know why).
 

LikeEnvoy

Member
Apr 17, 2012
128
Winnipeg, MB
Now, if someone has a set of TPMS pids that works with my car that would be great. None of those in the excel sheet works on my car. Those in the post 14 of the chevy forum don't work on my car. (Thanks though, azswiss)
I'm still trying to find what is wrong in my TPMS system. Light blinks for 1 minute then goes steady. Just got new sensors with my new tires, so it's not those. Would be nice to see the pressures so I could see if any sensor is bad, just to prove if the LGM is receiving any pressures at all.
 
Last edited:

Mooseman

Moderator
Dec 4, 2011
25,257
Ottawa, ON
I'm still trying to find what is wrong in my TPMS system. Light blinks for 1 minute then goes steady. Just got new sensors with my new tires, so it's not those. Would be nice to see the pressures so I could see if any sensor is bad, just to prove if the LGM is receiving any pressures at all.
Didn't the shop relearn the new sensors to your truck? When the TPMS light does this, it means there's a problem with the system (no kidding!) and 99% of the time it's a sensor. Try to do the manual relearn. The instructions are in the owners manual. If the first sensor you try to learn doesn't, try to start at another one. It could be defective. Or it may hang up at another sensor.
 

LikeEnvoy

Member
Apr 17, 2012
128
Winnipeg, MB
Ah.. well, Yes they did relearn the sensors but the warning has been intermittent; on most of the time but off sometimes, so the system probably seemed to be ok for them. I did a manual relearn with no problem; all sensors triggered the horn.....but no help; same trouble.

I've read some posts on other car forums about backup camera interference with TPMS sensors. I wondered about that, because the trouble started not long after installing the new radio and backup camera.
Now, just a couple of days ago, I disconnected the backup camera cable and ... no more warning lamp! So it would seem the camera interferes with the TPMS sensor signals.
I have driven a couple of days so far with no warning. If this keeps up, it will prove it. I have written to the camera makers to see if they have come across this and if they have a good solution.

It could be electrical noise from the camera feeding into the LGM or maybe RF interference.
So if I hear nothing from the makers, I'll start by trying a ferrite ring on the camera cable and see.
 

TJBaker57

Original poster
Member
Aug 16, 2015
2,897
Colorado
OK, the fuel level PID that works on my 2007 Envoy SLE is:
PID 12
unit: %
equation: A/2.55
header: A982F1
The value sems pretty accurate although sometimes it jumps to a very different value then back to the proper value(don't know why).
I have to ask.... Where did you discover this PID setup?? Was it here somewhere or on another website?? Did you study up and create it yourself??

The reason I ask this is that while this works with Torque Pro other apps will likely not work with this setup. This is because this is not a true PID (parameter ID) but instead taps into the normal serial data communications between modules and most apps are not programmed to do this.


Now then, we could possibly use that same approach to look into your TPMS issue. If the Traiblazer class vehicles use the same approach as my 2005 Yukon there will be a module that receives the radio signals from the tire sensors and then continuously broadcasts the data on the serial data bus where the cluster picks it up and does it's job if displaying said data. Using a serial terminal app and the same dongle that is used with the Torque app these data messages can be monitored and within these messages we can see what module is sending them and are all wheels represented or is one or more missing and so on.

On my Yukon the module responsible for TPMS is the passenger door module. I haven't had the opportunity to check a later model Trailblazer class vehicle so while I might guess it's the same module I cannot say that it is.
 

Mooseman

Moderator
Dec 4, 2011
25,257
Ottawa, ON
Talk about a revenant! Welcome back @TJBaker57 . Must have been a helluva hike.

The TPMS in the GMT360 is handled by the tailgate module.
 
  • Like
Reactions: TJBaker57

TJBaker57

Original poster
Member
Aug 16, 2015
2,897
Colorado
Talk about a revenant! Welcome back @TJBaker57 . Must have been a helluva hike.

It is indeed a helluva hike! Approximately 2200 miles with an elevation gain (and loss) equal to climbing up and down Mt Everest 16 times (more than 89 miles). Took me 147 days, my fastest time yet.


The TPMS in the GMT360 is handled by the tailgate module.


I wondered if that would be the case since that liftgate module also receives the key fob radio signals for the TrailBlazer platform. On my Yukon the TPMS data is broadcast in a single frame where all sensors pressure data is in one message one wheel after another. The pressure is reported in hexadecimal and appears to be reported where one bit equals one PSIG.

Here is a sample data snippet where I have highlighted part of the message that broadcasts the tire pressures. The values "28 29 29 2A" are the tire pressures in hexadecimal the decimal equivalents being 40 41 41 42 PSI. I believe the "FF" value would be the spare if it had a sensor.

Screenshot_20221021-194117_aGrep.jpg
 

TJBaker57

Original poster
Member
Aug 16, 2015
2,897
Colorado
The Oil Pressure calculated by the PCM for the cluster gauge gave me a value but I suspect it's in psi(?). So I altered the formula (A*4*.146038) to A*4*.146038*6.89476 to get kPa (if the googled conversion is correct).


The PID natively reports the oil pressure in kPaG where one bit equals 4 kPaG. The 0.145038 is a conversion from kPa to PSI. One may notice that your Googled conversion factor from PSI to kPa is the reciprocal of the 0.145038 multiplier!!

For display as kPaG one needs only an equation of A*4.
 

TJBaker57

Original poster
Member
Aug 16, 2015
2,897
Colorado
I thought I had once posted some discoveries related to modules that do not support service (mode) 22. I cannot find it now so maybe I never posted it! Not surprising really.

Anyway, folks who have noodled about adding PIDs to Torque Pro or other apps might notice the "OBD2 Mode and Pid" field always begins with "22". This is a service mode that is requested of the module being addressed. Service mode 22 is one of many services that may be offered by a given module. Service mode 22 is "Request Diagnostic Data by Parameter ID (PID)". This is then followed by a 4 character parameter ID such as 1142 which is the MAP sensor pressure value. This is a primary way Torque gets the vehicle specific data we see.

When I wanted to get data from the TCCM or the HVAC systems however I discovered that these modules and a few others do not offer service mode 22 at all. So even though I was able to discover the PIDs for much of the data I was after I had no way to request the data without having service 22. I set about trying other ways.

By reading out and recording the memory contents of these modules using service mode 23, request data by memory address, I was able to locate in memory some of the data I was after. I further found that Torque can utilize service mode 23 even though Torque was not designed for this purpose.

As I put together custom PID entries in Torque Pro I wondered if these entries might work for other users with different calibrations and so on. I grabbed several modules from the Upull yard and scanned those. They were different which meant the Torque Pro entries I had made would work only with my particular part # and calibration and operating system.

I found the differences were slight and I made up a schedule of maybe 5 different TCCMs with varying part, operating system, and calibration numbers. With this I could build Torque Pro entries for each of those 5 TCCM variations I have. This is cumbersome to say the least and who knows how many variations are out there.

Another thing happened while I was looking at the memory readouts while hunting parameter data. I saw a pattern of values that looked familiar. I had seen such data before. This requires a bit of explanation though....

You may wonder,,,, if these modules do not provide service mode 22 how do the expensive scantools get the data?? They use two different service modes, 2C and 2A. Service mode 2C allows for the creation of a handful of "dynamic pids" and 2A provides the means to read those dynamic pids. These dynamic pids each can hold up to 6 bytes and you choose what data you want to pack in those bytes using service mode 2C. So you pick the data you want, stuff it into one or more of these dynamic pids then call up these dynamic pids using service mode 2A.

But there is an issue if you try using Torque Pro for this. Even if you manage to get the dynamic pids loaded up Torque can't readily work using service mode 2A to read the pids because service 2A streams the data at a fast rate instead of sending the single response that Torque Pro expects.

So back to the memory readouts where I saw a familiar pattern of data values. What I recognized was a pattern of values I had in a dynamic pid at the time of the memory readout. I thought I had stumbled on the memory location of these dynamic pids but it turns out that for some reason it is a location of only the most recently requested dynamic pid.

I have scanned the entire range of memory available to me and the rest of the dynamic pid data is not there so I presume it is held in other memory unavailable to us. But I still have this one nugget available to me. The address does vary between TCCM part/O.S./Calibration numbers but it is quickly and easily found using the Bluetooth OBD2 adapter and a couple of free apps.


So I knew the PID numbers I wanted.
I knew how to pack them into a dynamic pid.
I knew how to add a button in Torque to send OBD messages and could use that to create the dynamic pid.
And I knew the memory address where I can read back that data into Torque Pro (and a couple other apps).

The last piece was that for the dynamic pid to remain actively refreshed the module needs to see a "tester present" message from the scantool every couple of seconds or the update stops after 5 seconds. I made a PID entry in Torque Pro to send this message. I placed this pid on the dashboard but hid the display behind another gauge so it didn't show.

I have two pages made up so far. One shows the controls and sensor data and a second page displays rotational data both sensed and calculated.


Screenshot_20221231-102738_Torque.jpg



This second page is not true to life values as it is coming from not a vehicle but a TCCM in a six drawer chest in my kitchen! I am feeding the rear propshaft speed input with a frequency generator. In real life the front propshaft would be spinning due to friction in both the Transfer Case clutchpack as well as the front differential. The intermediate shaft rpm as well as the front axle disconnect delta rpm are calculated values.

FP = front propshaft
RP = rear propshaft
GR = gear ratio
FAD∆ = front axle disconnect delta rpm

Intermediate shaft rpm = (2FP-RP)/GR

FAD∆ = 2(RP-FP)/GR



Screenshot_20221231-123055_Torque.jpg




Next up is to apply the same techniques to my automatic HVAC systems, both TrailBlazer and Yukon.
 
Last edited:

TJBaker57

Original poster
Member
Aug 16, 2015
2,897
Colorado
I continue to fiddle with this and that. Got the memory address/DPID thing for my TCCM into Car Scanner. It works sometimes and goes off the rails sometimes. Here are a couple screenshots while it was working.

The first shows the front and rear propshaft speeds where it is seen how the front propshaft turns faster when the vehicle is cold and slows down as the transfer case and front differential warm up.

Screenshot_20230105-082313.jpg

In the center of the graph I pass through a town. See the odd behaviour of the front propshaft speed as the rear slows down in mid graph?? It suddenly drops then speeds up? And again as the rear speeds up as I accelerate out of town the front also speeds up for while then suddenly drops for a short bit then resumes its overall warmup slowdown? I think this has to do with the shear strength of the Autotrak II and perhaps some frictions in the front differential. The road speed is right about 40 mph when this occurs.

Then there is this next shot of the same timeframe showing the intermediate shaft speed and the speed difference seen between the two gears in the front axle disconnect. As the front propshaft slows, the reverse rotation of the intermediate shaft speed increases and thus the speed difference in the disconnect climbs.

Screenshot_20230107-124845.jpg



Next up is a shot of my CJ2 Automatic HVAC actuator positions. I left out the recirc in this shot. And there were no temperature adjustments to the two blend doors. The right side must have been between 57 and 58 as it can be seen fluctuating while the left side stayed steady. What is mainly seen here is the actions of the heater and defrost doors in response to discharge mode changes.

Screenshot_20230107-130558.jpg
 

azswiss

Member
May 23, 2021
860
Tempe, AZ
@TJBaker57, could not find a PID that worked for oil temp (no data for Mode/PID 221154, Header Auto). Do you have a working oil temp PID for your GMT800? Any suggestions?
 
Last edited:

TJBaker57

Original poster
Member
Aug 16, 2015
2,897
Colorado
Interesting idea indeed. One promising spot would be just above the oil filter into the cap for the oil cooler lines.

I have a working model now but the code hangs occasionally and I need to track that down.

For purely test purposes I clamped thermistors from solar water heater panel controls to the coolant outlets on both the TrailBlazer LL8 as well as the Yukon LM7.

Not highly accurate because of heat loss and such, would need a well for an accurate measurement but it serves the purpose for rudimentary tests.

20220301_203915.jpg


Screenshot_20230123-193710.jpg
 
  • Like
Reactions: santon

azswiss

Member
May 23, 2021
860
Tempe, AZ
How are you passing the data across the Class 2 serial bus? Are you piggybacking the bus by pretending to be a new module/address?
 

TJBaker57

Original poster
Member
Aug 16, 2015
2,897
Colorado
How are you passing the data across the Class 2 serial bus? Are you piggybacking the bus by pretending to be a new module/address?

Yep! My arduino is just another device on the bus. I built my circuitry based on a design in the ELM327 datasheet.

The Arduino decodes the high and low, short and long voltage pulses into fully qualified messages and responds to a message from a PID I create in Torque Pro or, in this screenshot, Car Scanner.
 

Forum Statistics

Threads
23,273
Posts
637,486
Members
18,472
Latest member
MissCrutcher

Members Online