-
Notifications
You must be signed in to change notification settings - Fork 297
com.github.pires.obd.exceptions.NonNumericResponseException: Error reading response #125
Comments
What command originated this response? |
I have experienced the same error message in some responses with colon in the middle of the data, and in my case it is a bad OBD2 adapter. In the same vehicle, one adapter reads the hex value and the other the hex value with some colons. If it is just one case that it occours, I suggest to override the performCalculations method and remove all the colons of the response. |
It was Engine RPM I believe.
On Jan 2, 2017 9:56 PM, "Paulo Pires" <[email protected]> wrote:
What command originated this response?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#125 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAOCNx0ggrTocD0SEIJWcRjknnoPLQhXks5rOOXUgaJpZM4LYqaj>
.
|
aI guess my confusion stems from the fact that there's an assertion about being numeric data. I guess this means I should convert the hex data to something first. In the case of the above emssage I would do something like read success: "OK" convert from hex to a long/int/something: "84F110410C0C1AF883F1187F01" I guess I'm wondering if the hex data is actually fixed width with multiple values or something? |
Engine RPM is just a single value between 0 and 16,383.75, so 2 bytes. |
More info https://en.wikipedia.org/wiki/OBD-II_PIDs#Mode_01. Look for RPM. |
Ah great thanks, now I'm starting to join the dots.
…On Jan 3, 2017 10:19 PM, "Paulo Pires" ***@***.***> wrote:
More info https://en.wikipedia.org/wiki/OBD-II_PIDs#Mode_01. Look for
*RPM*.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#125 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAOCN6TtjW_aND8PUsKz5DO3jfQiDWVMks5rOjzXgaJpZM4LYqaj>
.
|
Weird. This was the data I was getting before: I added something to remove the ":OK" - but now I'm not being send the OK anymore. Strange. I'm being sent the same data over and over again in response to my engine rpm command though: This is resulting in the RPM: 1040 - this is incorrect and doesn't change when the rpm changes. I get similar issues with speed, it sits at 16 while the car is stationary. This is the protocol that toque uses so I'm a little at a loss... |
With this diff:
|
With this diff I can log the correct engine RPM commands. This raises the question, what are the first 5 bytes for in this case? Have I missed something here or is subaru just being weird? |
I think my approach will be to create a patch that allows setting a byte offset either statically on the parent ObdCommand or allow it to be passed into the ctor. Maybe both. Thoughts? |
Moving things around seems like a workaround and not a proper fix. I haven't been involved with OBD for a while now, so I can't say for sure but this seems like a protocol issue. |
I fond that stripping the preceding byte pattern fixes the issue mostly (still figuring out some things like VIN etc though) I'm happy to contribute back to the lib, I'll sort tests etc first. |
This is on a subaru 2004 outback. I found the protocol by using torque as auto didnt seem to select the right one.
The data I'm getting back looks like hex data (with the OK code at the start).
I'm happy to debug/dev/fix as required, it's just I'm new to OBD so I'm not sure where to start.
Cheers!
The text was updated successfully, but these errors were encountered: