0

I'm working on a project to capture instantaneous fuel consumption and I'd like to use injector pulsewidth. I'm using pyserial to get the parameters connected to a bluetooth OBD reader.

For example, to get speed I type:

import serial

ser = serial.Serial('COM6',38400,timeout=1)

ser.write('01 0D \r')

speed_hex=ser.readline()

print speed_hex

To call any other standard OBD2 parameter, I'd just type it's 4 digit code followed by \r. This also worked for me with RPM, etc...

However I need fuel injector pulsewidth from a GMC vehicle which is code 125A, but typing '12 5A \r' doesn't give me any data. I suspect because it's part of the extended parameters and I'm not typing it correctly.

Can someone help me figure out how to get this parameter? I know it's available for my truck because I am comparing it with a windows GUI software which was able to obtain logical values for this parameter.

Thanks in advance.

Dan Lowe
  • 51,713
  • 20
  • 123
  • 112
regerd20
  • 1
  • 1
  • Try : `11 5A \r` why ? Because you try reading malfunction code. Do you have any injection problems ? @regerd20 – dsgdfg Sep 09 '15 at 05:17
  • According to this website: http://www.fastfieros.com/tech/vpw_communication_protocol.htm the code for fuel injection pulsewidth for a GMC vehicle is 125A. I don't have injection problems but rather I want to track the pulsewidth over time. – regerd20 Sep 09 '15 at 17:21
  • `12` is not your starting point ! My idea always starts with `01 12 5A`. Because `01` is `Request Current Powertrain Diagnostic Data ` – dsgdfg Sep 09 '15 at 18:07
  • Ok thanks, I'll try that out tomorrow when I get home from work. – regerd20 Sep 09 '15 at 23:32

0 Answers0