In the Wikipedia PID list we can see that 0x0C
for engine RPM, 0x0D
vehicle speed, etc. Is this same for all car manufacturers?
In Arduino examples we can see that data[2] reserves the PID (for engine RPM 0x0C
) and by converting hex to decimal data[3] and data[4] of the message and by the formula
((256*data[3])+data[4])/2
we can get the value of RPM.
But when I try to apply this to a Citroën car, I can see 0x0C
, but the data in the message does not change although the real RPM value changes. It means that this does not show RPM on that car.
I am using PCan-View for reading the CAN bus. Does this affect the result? So can we say there are not general PID values?
Thank you very much for your answers. Some parts of the data, which includes 0C, can be seen in below.
86) 91.6 Rx **0208** 8 18 **0C** 31 00 4C FF FF 27
99) 101.6 Rx 0208 8 18 **0C** 31 00 4C FF FF 27
107) 105.3 Rx **040D** 8 00 00 00 00 00 00 00 **0C**
114) 114.5 Rx **034D** 8 00 23 FA FA 00 **0C** 00 FF
735) 745.1 Rx 040D 8 00 00 00 00 00 00 00 **0C**
These codes repeat many times during the data gathering. But row data is always the same, even when the car engine is running. If we consider address 034D has 0C in data[2], we have to calculate RPM with FA and 00 decimal values. But they never change.
I am not sure that we are following the right path.
Citroen PID list