XGauge with decimals
I've been searching the forum for gauges with decimals, I know some people would like them on their ScanGauge but I couldn't find much info.
So, after 2 hours looking PIDs and testing in my car (2013 Dodge Grand Caravan, CANSF protocol) here are some I found that works :
Fuel level w/ decimals
TXD: 07DF012F
RXF: 0441452F0000
RXD: 2808
MTH: 271000FF0000
NAM: _F%
Throttle position w/ decimals
TXD: 07DF0111
RXF: 044145110000
RXD: 2808
MTH: 271000FF0000
NAM: Tps
Relative throttle w/ decimals
TXD: 07DF0145
RXF: 044145450000
RXD: 2808
MTH: 006400010000
NAM: Rth
Engine load w/ decimals
TXD: 07DF0104
RXF: 044145040000
RXD: 2808
MTH: 271000FF0000
NAM: Lod
Accelerator position w/ decimals
TXD: 07DF0149
RXF: 044145490000
RXD: 2808
MTH: 271000FF0000
NAM: Acc
As per what I found :
TXD is the broadcast address (07DF) followed by PID (0123)
RXF is 0441, followed by this, depending on decimals wanted
- 0400 + PID (0400+0123 = 0523) divides by 1
- 8400 + PID (8400+0123 = 8523) divides by 10
- 4400 + PID (4400+0123 = 4523) divides by 100,
followed by 0000
RXD, 2 digits for data position (ex 28), then 08 for 1 byte, 10 for 2 bytes
MTH: first 4 are multiply factor, next 4 are division factor, next 4 are add/substract, all in hex with 2's complement for negative values (FFFE = -2)
So I found a few PIDs that worked, and worked with the RXF division factor and the MTH multiply to get them with decimals.
Exemple for fuel level :
TXD: 07DF012F
RXF: 0441052F0000 (Straight data)
MTH: 006400FF0000 (x100 /255 +0)
Then adjust for decimals :
RXF: 0441452F0000 (Divided by 100)
MTH: 271000FF0000 (x10000 /255 +0)
Hope it helps some of you who wanted decimal Load and TPS to be even more precise!
(Edit: corrected Lod MTH typo)
__________________
Last edited by Jack-MTL; 08-27-2013 at 09:52 AM..
Reason: Corrected Lod MTH typo
|