Page 1 of 1

Adding PID's

Posted: Wed Mar 30, 2016 7:34 am
by Nicholas
Hi there,

The obd adapter is working great, no issues and update speed is decent!

Im wanting to add a few extra PID's, basically only fueling. Requested lambda and actual lambda. So if you can guide me on the right track it would be awsome.

I started with defining the PID in the header file: (Fuel–Air commanded equivalence ratio)

#define PID_AIR_FUEL_EQUIV_RATIO 0x44

Then in the source file, i added:

case PID_AIR_FUEL_EQUIV_RATIO:
result = getLargeValue(data) * 2 / 65536;
break;

And obviously in my arduino code i added what was necessary.

Its giving me a value of zero though so im guessing its not supported or what ive done is incorrect.

Please let me know if im on the right path,

Thanks!
Nick

Re: Adding PID's

Posted: Sat Apr 02, 2016 9:39 am
by stanley
Don't divide by 65536 here and divide in function caller.

Re: Adding PID's

Posted: Sat Apr 02, 2016 10:02 am
by stanley
Just added that PID for you. Check out the latest OBD library from github.

Re: Adding PID's

Posted: Sun Apr 03, 2016 10:03 pm
by Nicholas
Thanks so much! Really appreciate it!

Unfortunately its still not working, my car must have a random pid address or something.

I've tried oxygen sensor voltages, oxygen fuel–air equivalence ratio, demanded fuel–air equivalence ratio and none of them are returning any values. Only short term and long term fuel trims are working.

If i log the car with vagcom then all those values are there, (Requested lambda, and actual lambdas). Car is a 2005 Audi 3.2.

If anyone has any info on finding the PID's needed for those values please let me know. Its the main function that i wanted in my logger.

Oh and one more thing, how do i return values for 'C and D' in the PID's?

Thanks for the help Stanley!

Re: Adding PID's

Posted: Tue Apr 05, 2016 6:27 am
by Nicholas
Ok i got the Lambdas working! :D :D , one lambda is PID 34 and the other 38.

I just made it 'long int' in the source file, and it seems to be working great!

result = (long int)getLargeValue(data) * 200 / 65536;
break;

I still cant get commanded air fuel equiv ratio to work though...but il keep at it.

Also il send some vids and pics of my logger when i get a chance! :mrgreen:

Re: Adding PID's

Posted: Sun May 22, 2016 3:35 pm
by jim_reich
Great. I'm also playing around with an Audi, and I also have a VAGCOM. I guess you made the result a long int, but what about the PID number? Did you ever try any values over 255? I guess you'd have to get rid of the OR with 0x100? I'd really like to get at some of the NOx sensors up at 491-495 as well as SCR dosing, oil levels, and mileage...

Re: Adding PID's

Posted: Sun Jun 18, 2017 9:38 am
by dsmith658
Thanks for posting the solution to this. You saved me a ton of time!