Extended PID setup

Race Capture Pro hardware installation- power, wiring, physical installation, etc. See the dedicated forum for Sensor related topics

Moderators: JeffC, rdoherty, stieg, brentp

Post Reply
fmcokc
Posts: 2
Joined: Wed Apr 13, 2016 7:05 pm

Extended PID setup

Post by fmcokc »

Is there a way to setup and view data through the OBDII port for extended PID's? This is on a 2015 Corvette Z06 but I believe it is the same for many GM vehicles. Trying to see oil temp, pressure and knock retard. Here's what I've found for addresses for the PID's, I'm just unsure as to how to implement this into a channel. It appears that I can already see any of them that start with "0000" but not the ones that start with "22".




Successfully Logged GM PIDs --> Parameters
00002F --> Fuel Level (From Engine ECU)(%)
00000F --> Intake Air Temperature(°F)
000046 --> Ambient air temp(°F)
221940 --> Transmission Fluid Temp (GM Method 1)(°F)
000005 --> Engine Coolant Temperature(°F)
221154 --> Oil Temperature (Engine)(°F)
221470 --> Oil Pressure (Engine)(psi)
--
000049 --> Accelerator PedalPosition D(%)
000011 --> Throttle Position(Manifold)(%)
00000C --> Engine RPM(rpm)
FF1001 --> Speed (GPS)(mph)
00000D --> Speed (OBD)(mph)
--
FF124D --> Air Fuel Ratio(Commanded)(:1)
00000E --> Timing Advance(°)
2211A6 --> Knock Retard(Deg.)
FF1269 --> Volumetric Efficiency (Calculated)(%)
00001F --> Run time since engine start(s)
--
000006 --> Fuel Trim Bank 1 Short Term(%)
000009 --> Fuel Trim Bank 2 Short Term(%)
000007 --> Fuel Trim Bank 1 Long Term(%)
000008 --> Fuel Trim Bank 2 Long Term(%)
--
FF1214 --> O2 Volts Bank 1 sensor 1(V)
FF1215 --> O2 Volts Bank 1 sensor 2(V)
FF1218 --> O2 Volts Bank 2 sensor 1(V)
FF1219 --> O2 Volts Bank 2 sensor 2(V)
--
00003C --> Catalyst Temperature (Bank 1 Sensor 1)(°F)
00003D --> Catalyst Temperature (Bank 2 Sensor 1)(°F)
[/QUOTE]

Mash
Posts: 19
Joined: Sun Dec 27, 2015 7:23 am

Post by Mash »

I tried to post code, but it's blocked...

Mash
Posts: 19
Joined: Sun Dec 27, 2015 7:23 am

Post by Mash »

In txCAN in Lua you can break down pid to bytes and send request.
I don't know how it's done on GM (I'm on Evo). Try this.

Code: Select all

local band, bxor, bnot = bit.band, bit.bxor, bit.bnot
local lshift, rshift = bit.lshift, bit.rshift
function onTick()
  readCAN(0x07E0,0x22119E)
end
function readCAN(address,pid)
  res = txCAN(0, address, 0, {4,band(rshift(pid,16),0xFF),band(rshift(pid,8),0xFF),band(pid,0xFF)})  
  if res ~= 1 then return nil end
  local id, ext, d = rxCAN(0)
  if id == nil then return nil end
  print(table.concat(d,","))
end

Post Reply