You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 10, 2017. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 10, 2017. It is now read-only.
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.
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?
Weird. This was the data I was getting before: BUSINIT:OK84F110410C0C04E283F1187F01
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: 84F110410C0C4C2A83F1187F01
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...
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.
Activity
pires commentedon Jan 2, 2017
What command originated this response?
diegomalone commentedon Jan 2, 2017
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.
dpnova commentedon Jan 2, 2017
dpnova commentedon Jan 2, 2017
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?
pires commentedon Jan 3, 2017
Engine RPM is just a single value between 0 and 16,383.75, so 2 bytes.
pires commentedon Jan 3, 2017
More info https://en.wikipedia.org/wiki/OBD-II_PIDs#Mode_01. Look for RPM.
dpnova commentedon Jan 3, 2017
dpnova commentedon Jan 7, 2017
Weird. This was the data I was getting before:
BUSINIT:OK84F110410C0C04E283F1187F01I 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:
84F110410C0C4C2A83F1187F01This 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...
dpnova commentedon Jan 7, 2017
With this diff:
dpnova commentedon Jan 7, 2017
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?
dpnova commentedon Jan 8, 2017
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?
pires commentedon Jan 8, 2017
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.
dpnova commentedon Jan 17, 2017
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.