View Single Post
Old 08-18-2009, 05:11 PM   #456 (permalink)
Froggy
EcoModding Lurker
 
Join Date: Apr 2009
Location: Debolt, Alberta
Posts: 78
Thanks: 1
Thanked 2 Times in 2 Posts
Ok, first PID_SEC will display how many PID requests the OBDuino has counted in the past second. A fluctuation is normal. It does not count how many PID's the car will answer to.

You can easily fudge up the program to try to display any PID's. The function is_pid_supported(), returns true if the PID is claimed to be supported by the ECU.

You can simply always return true, or you can add in a little code that allows one or more PID's to be always true.

if you added:

if (pid == MAF_AIR_FLOW) return true;
if (pid == FUEL_STATUS) return true;

before the long statement in the function, those two PIDs would always be allowed, even if the car did not actually support it. Asking for a PID the car does not support may or may not do something undesired. It should be harmless, but it's not my car...

With those or similar changes, you could try any PIDs you wish, even just a 'return true' to validate all PIDs as valid would work (though you would need to temporarily comment out the larger return statement.)

To sniff the data, just hijack the iso_read_data() function, and after you get a dataSize value other than zero, you could also stuff the data onto the LCD. To make it recognizable, format the data into hex format before sending it to the LCD (sprintf() would work). You could sniff the raw data, which would include header information, or just the returned data.
Using the header information, you could report only data you wanted to see. At 6 pid requests per second, there is a lot of data flying past...
  Reply With Quote