Well here goes.....this is not technically a "PID" but I am going to post it here nonetheless.
A true PID is usually requested from a module by use of service $22, request data by PID. You send a properly formatted request to the module, the module takes the PID number and looks up that PIDs details in an internal table where it gets the memory address where the PID data is stored as well as other details needed to retrieve and process the PID data. This is the general method used by Torque and others. Works great for the majority of interests.
But what about the Transfer case and HVAC modules?? I discovered sometime last year that our TCCM and HVAC modules do not support service $22 so we cannot request live data from these using the normal methods. Most unfortunate since the 4WD system seems to generate so much grief for owners.
I set about finding a way to get at this data last year then tabled it for a time after making some progress in identifying PIDs, even though I could not directly use the PID number. Spent the last 3 days poring over documents found on chinese websites and tinkering with my bluetooth elm clone adapter and a serial terminal app that has support for saved macros as well as being able to log the session, the latter being crucial to the task.
OK, lets get to it. I am using service $23 instead of service $22 so the ~pid~ info typed into Torque will begin with 23, not 22. Next comes a 3 byte memory address followed by a single byte memory size. My tests indicate the memory size request can only be 01 which returns 4 bytes beginning at the memory address in the request. Here is the string for the 4WD mode switch on the dashboard of my 2002 TrailBlazer. "2300009001". This will return 4 bytes but we are only using the first byte here, which Torque will label as "A" in the equation. The value returned by the TCCM is a single hex byte which Torque converts to decimal and passes to the equation editor as 'A'.
View attachment 94672
View attachment 94673
The header is important here. It must be as shown so that the message packet is sent to right module. The message priority and type is "6C", the TCCM is node address 1A, and our sending address is "F1" so the full 3 byte header is "6C1AF1".
View attachment 94674
------------------------------
For the encoder motor return voltage the only change besides the names of your choosing is the memory address of $000091. So the 'mode and pid' string is thus "2300009101"
-------------------------------
So again I say, I have no way to know if this will work on anything other than what it has been developed on, my 2002 TrailBlazer.
Someone here once posted they could not enter more than 6 characters in the "mode and pid" field of Torque. I never came up with any reason for this as I can enter almost anything there without any error message. If this is the case for you then this method of retrieving data cannot be made to work for you as the service $23 requires the string as I have shown it here.
Please do post here if you try this method and works for you. I fully expect this to ONLY work for trucks with the very same 4WD system as mine, same TCCM etc. It is quite possible that even other year TCCMs will be different and this will not yield correct data.