RegisterSearchFAQMemberlistUsergroupsLog in
Reply to topic Page 1 of 1
OBD2: PID read fail:
Author Message
Reply with quote
Post OBD2: PID read fail: 
I'm seeing numerous OBD2: PID read fail: errors when polling the log (1 every 3 seconds) and it seems to get worse the more PID's I try to query. I increased the tick rate to 25 and it helped a little. Is this a bug or is there a wiring issue somewhere? I'm running RC Pro MK2 2.10.2?


_________________
Straight roads are for fast cars turns are for fast drivers
View user's profile Send private message
Reply with quote
Post  
It's possible that the PID you're requesting is not available on the OBD bus for your car. Rather than add PID's, try looking at them one at a time to see were the problem might be.

View user's profile Send private message
Reply with quote
Post  
Good tip. Not all ECUs support all OBDII PIDs. What PIDs are you trying to query?

The ones that seem to be always supported is RPM and throttle position; those should always work.


_________________
Brent Picasso
Founder, Autosport Labs
Facebook | Twitter
View user's profile Send private message Send e-mail
Reply with quote
Post I have same issue - Fixed running on older firmware version 
For a simple example,

If I write the script below using Firmware 2.9 or latter - like 2.10.2:

pedalId = addChannel("PedalPosition",10)
function onTick()
local pedalPosition = readOBD2(73)
setChannel(pedalId, pedalPosition)
end

I have the red led flashing showing as a error

However, if write the same script using 2.8.7 firmware version it works.

PS: I am just connecting RCP MK2 on my computer and not connected to the vehicle at the time I am flashing the this script.

So, I believe that there is an error on the "readOBD2" command in the newer versions.

Brent, could you check it?

Thanks,


_________________
Felipe
View user's profile Send private message
Reply with quote
Post  
We fixed a bug in the older firmware so that it properly returns a 'nil' value if the OBDII PID was not successfully returned by the ECU.

Here's an example of checking for a nil value:

etId = addChannel("EngineTemp", 10, 0, 0, 300)
function updateEngineTemp()
local eTmp = readOBD2(5)
if eTmp ~= nil then
setChannel(etId, eTmp)
end
end

Hope this helps,
-Brent


_________________
Brent Picasso
Founder, Autosport Labs
Facebook | Twitter
View user's profile Send private message Send e-mail
Display posts from previous:
Reply to topic Page 1 of 1
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum