Hi all
So I have done a crash course in the last week on the parameter identifiers (PID) and would like to share what I have managed to get working. First off, this will work typically with the people who have successfully used PID 21D9 (not 2182) when accessing ATF temps which I believe is for the A750 5-speed transmission transmission control module (TCM). The first thing I would like to point out, that the equations going around something like (((((E*246) +F)*(7/100)-400)/10) or any of the other iterations may actually be incorrect. It appears that the way the formula is written means that you are unnecessarily adding anywhere from 0 to 1 degC error by using the the second byte of information (F) it simply is E - 40 [ATF pan temp] and G - 40 [TC Temp]. Bytes E & G are definitely analogue sensors and range from -40 to 215 deg C (a byte consists of 8 bits of information and can represent 256 individual values, which is more than enough precision for the ATF temp sensors and the likes of the coolant sensor). Only when larger temp reading are required such as EGR and cat converters (> 255deg) will two bytes be used and is generally something like (256*A +B)/10-40. Essentially, using two bytes (or 16 bits) can give precision for up to 65536 individual values. The minus 40degC us used as this is a scaling point where both degC and degF are identical. It's worthy noting here that the 256*A + B part is literally just converting 16 bits of information into a decimal integer, this can also be achieved in Torque using int16(A:B). I found that bytes F and G seem to best represent discrete ratios of 0 to 7 [ (8/256)*F ] and jump around thus showing this is not an analogue sensor/signal. I was hoping it related to ATF valve positions but didn't appear to be the case.
In summary, the 21D9 PID can be broken down as follows
Hopefully this helps some people out. I'm currently on the hunt for the input shaft and output shaft speed sensors to calculate show actual slip and confirm the lock-up.
So I have done a crash course in the last week on the parameter identifiers (PID) and would like to share what I have managed to get working. First off, this will work typically with the people who have successfully used PID 21D9 (not 2182) when accessing ATF temps which I believe is for the A750 5-speed transmission transmission control module (TCM). The first thing I would like to point out, that the equations going around something like (((((E*246) +F)*(7/100)-400)/10) or any of the other iterations may actually be incorrect. It appears that the way the formula is written means that you are unnecessarily adding anywhere from 0 to 1 degC error by using the the second byte of information (F) it simply is E - 40 [ATF pan temp] and G - 40 [TC Temp]. Bytes E & G are definitely analogue sensors and range from -40 to 215 deg C (a byte consists of 8 bits of information and can represent 256 individual values, which is more than enough precision for the ATF temp sensors and the likes of the coolant sensor). Only when larger temp reading are required such as EGR and cat converters (> 255deg) will two bytes be used and is generally something like (256*A +B)/10-40. Essentially, using two bytes (or 16 bits) can give precision for up to 65536 individual values. The minus 40degC us used as this is a scaling point where both degC and degF are identical. It's worthy noting here that the 256*A + B part is literally just converting 16 bits of information into a decimal integer, this can also be achieved in Torque using int16(A:B). I found that bytes F and G seem to best represent discrete ratios of 0 to 7 [ (8/256)*F ] and jump around thus showing this is not an analogue sensor/signal. I was hoping it related to ATF valve positions but didn't appear to be the case.
In summary, the 21D9 PID can be broken down as follows
- A = Input shaft (turbine) speed sensor [(12750/255)*A] between 0 and 12750 rpm in 50 rpm increments
- B = Output shaft speed sensor in km/h [ B ]
- C and D = These two bytes give bit representations of the shift position (P, R, D, S, S+ and S-)
- E = ATF pan temp [ E - 40] between -40 and 215 degC
- F = ???
- G = ATF TC temp [ G - 40] between -40 and 215 degC
- H = ???
- PID: 21DA
- Long name: [PRADO] Transmission Gear Lock-up
- Short Name:TC Lock-up
- Min value: 0
- Max value: 1
- Scale factor: x1
- Unit Type:
- Equation: BIT(A:4)
- OBD header: 7E1
- PID: 21DA
- Long name: [PRADO] Transmission Gear Selection
- Short Name:Trans
- Min value: 0
- Max value: 5
- Scale factor: x1
- Unit Type: Gear
- Equation: BIT(A:0)*1 + BIT(A:1)*2 + BIT(A:2)*4
- OBD header: 7E1
- PID: 21D9
- Long name: [PRADO] Transmission Turbine Speed
- Short name: Turbine
- Min value: 0
- Max value: 6000
- Scale factor: x1000
- Unit type: rpm
- Equation: (12750/255)*A
- Header: 7E1
- PID: 21D9
- Long name: [PRADO] Transmission Shift Position
- Short name: Shifter
- Min value: 0
- Max value: 65535
- Scale factor: x1
- Unit Type: Pos
- Equation: LOOKUP(INT16(C : D)::16384='P':1024='R':128='N':4='D':20='S':84='S+ ':52='S-')
- OBD header: 7E1
- PID: 21D9
- Long name: [PRADO] Transmission Temperature 1
- Short Name: ATF
- Min value: -40
- Max value: 215
- Scale factor: x1
- Unit Type: degC
- Equation: E-40
- OBD header: 7E1
- PID: 21D9
- Long name: [PRADO] Transmission Temperature 2
- Short Name: TCT
- Min value: -40
- Max value: 215
- Scale factor: x1
- Unit Type: degC
- Equation: G-40
- OBD header: 7E1
- PID: 2129
- Long name: [PRADO] Fuel Level Main
- Short Name: Main
- Min value: 0
- Max value: 87
- Scale factor: x1
- Unit Type: Litres
- Equation: AVG(20:A/2)
- OBD header: 7C0
- PID: 212A
- Long name: [PRADO] Fuel Level Sub
- Short Name: Sub
- Min value: 0
- Max value: 63
- Scale factor: x1
- Unit Type: Litres
- Equation: AVG(20:A/2)
- OBD header: 7C0
Hopefully this helps some people out. I'm currently on the hunt for the input shaft and output shaft speed sensors to calculate show actual slip and confirm the lock-up.
Comment