-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Odometer value #173
Comments
you'll have to code it yourself. Just copy one of the other PID functions, and replace the PID with 166. Something like this (I've not tested it): uint8_t ELM327::odometer()
{
return (uint8_t)processPID(SERVICE_01, 166, 1, 4, 0.1);
} Note that it returns 4 bytes, and you need to divide the result by 10 (that's what the 0.1 scale factor is for) |
Hi Patrick, this error is returned at compile time. The changes made on the two library files are: uint32_t odometer();` In the elmduino.cpp file i inserted: uint32_t ELM327::supportedPIDs_161_192() uint32_t ELM327::odometer() I'm sorry if I bother you for this triviality, but I can't understand the error and it is the last step of the project that is still missing. Roberto. |
I wouldn't worry about the Also you've referenced In the .h file where all the other functions are defined - it doesn't really matter where - but I suggest here Line 410 in eabbb1a add uint8_t odometer();
and paste in the original function I provided in the .cpp file. that should be all you need to do. |
Hi Patrick, thank you very much for your support, I compiled the sketch
according to your suggestions and the error disappeared, I can't see the
data on the display but there must be some error in the Nextion code. Thank
you. Roberto.
Il giorno lun 17 lug 2023 alle ore 14:10 Patrick Felstead <
***@***.***> ha scritto:
… I wouldn't worry about the uint32_t supportedPIDs_161_192(), it's not
needed, for the moment, lets just assume your vehicle supports reporting of
odometer.
Also you've referenced ODOMETER when it hasn't been defined in the .h
file. To start with, just hard code everything as per my example, if it
works, then maybe it's worth defining ODOMETER constant etc. I assumed you
knew you needed to add the function prototype to the class.
In the .h file where all the other functions are defined - it doesn't
really matter where - but I suggest here
https://github.com/PowerBroker2/ELMduino/blob/eabbb1a2e8e82d8fed1b758c0d893bc46efbe171/src/ELMduino.h#L410
add uint8_t odometer();
and paste in the original function I provided in the .cpp file.
that should be all you need to do.
—
Reply to this email directly, view it on GitHub
<#173 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AE4HNSUBY6VKODSTD2RLB53XQUTUXANCNFSM6AAAAAA2LZM3G4>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
try turning debug on to see what your vehicle is reporting - this will be independent of your Nextion display. have a look at the multiple PIDs example for how to turn debug on |
Thanks again Patrick, I will try your suggestion these days.
See you soon.
Roberto.
Il giorno mer 26 lug 2023 alle ore 14:18 Patrick Felstead
***@***.***> ha scritto:
…
try turning debug on to see what your vehicle is reporting - this will be independent of your Nextion display.
have a look at the multiple PIDs example for how to turn debug on
https://github.com/PowerBroker2/ELMduino/blob/master/examples/multiple_pids/multiple_pids.ino
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
I have created a new method to get the odometer reading and an example program to run it. It should be working (works with an emulator) but I'm unable to properly test it as I don't have a vehicle that supports the OBDII spec PID ("A6") to test it with. If someone wants to have a go at it, it's on the "odometer" branch of my ELMduino fork. https://github.com/jimwhitelaw/ELMduino.git |
HI,
I'm using your library for a project and it's been very useful, really nice work!
I also wanted to enter the value of the kilometers traveled (odometer), but I can't find the entry in the library. Am I looking wrong or hasn't been implemented? I checked on Wikipedia the formula for the calculation (PID 166) but not being an expert I don't know how to implement it. Is there a way to extract the value using the library, or is this a function you would have to implement from scratch?
Thank you.
Robert.
The text was updated successfully, but these errors were encountered: