Show full content
;
var can_data = [
["ECT","Engine Coolant Temp","576","1","8","","x|40|-","A-40","°C",""],
["RPM","Engine RPM","513","0","16","","x|0.25|*","((A*256)+B)*0.25","rpm",""],
["VSS","Vehicle Speed Sensor","513","4","16","","x","((A*256)+B)","km/h",""],
["TP","TP","513","6","8","","x","A","%",""],
["ABSFlag","","533","7","8","4","x","A","",""],
["LOAD_CALC","Load Calculated","576","0","8","","x|0.3921568627|*","A*0.3921568627","%",""],
["SPARKADV","Ignition Timing Advance","576","2","8","","x|128|-|0.5|*","(A-128)*0.5","(angle)°",""]
]
;
var obd_data = [
["PIDS_01_T0_20","Supported PIDs 01 - 32","0x01","0x00","32","","","","","Bit encoded"],
["MS_DTC_CLEARED","Monitor Status: DTCs Cleared","0x01","0x01","32","","","","","Bit encoded"],
["FUELSYS","Fuel System Status","0x01","0x03","16","","","","","Bit encoded"],
["LOAD_CALC","Load Calculated","0x01","0x04","8","","x|0.3921568627|*","A*0.3921568627","%",""],
["ECT","Engine Coolant Temp","0x01","0x05","8","","x|40|-","A-40","°C",""],
["STFT","Short Term Fuel Trim","0x01","0x06","8","","x|128|-|0.78125|*","(A-128)*0.78125","%",""],
["LTFT","Long Term Fuel Trim","0x01","0x07","8","","x|128|-|0.78125|*","(A-128)*0.78125","%",""],
["MAP","Manifold Absolute Pressure","0x01","0x0B","8","","x","A","kPa",""],
["RPM","Engine RPM","0x01","0x0C","16","","x|0.25|*","((A*256)+B)*0.25","rpm",""],
["VSS","Vehicle Speed Sensor","0x01","0x0D","8","","x","A","km/h",""],
["SPARKADV","Ignition Timing Advance","0x01","0x0E","8","","x|128|-|0.5|*","(A-128)*0.5","(angle)°",""],
["IAT","Intake Air Temperature","0x01","0x0F","8","","x|0.25|*","A*0.25","°C",""],
["MAF","Mass Air-Flow","0x01","0x10","16","","x|0.01|*","((A*256)+B)*0.01","g/sec",""],
["TP1","Throttle Position 1 Absolute","0x01","0x11","8","","x|0.3921568627|*","A*0.3921568627","%",""],
["O2S_PRESENT","# of O2 Sensors Present","0x01","0x13","8","","","","","Bit encoded"],
["O2S12_V","Rear O2 Sensor Voltage","0x01","0x15","16","","x|0.00390625|*|0.005|*","A*0.005","V","B is set to 0xFF internally (ignore)"],
["OBD_STANDARDS","List Complied Standards","0x01","0x1C","8","","","","","Bit encoded"],
["RUNTIME","Runtime since engine start","0x01","0x1F","16","","x","(A*256)+B","secs",""],
["PIDS_21_to_40","Supported PIDs 33 - 64","0x01","0x20","32","","","","","Bit encoded"],
["MIL_DIST","Distance w/ MIL on","0x01","0x21","16","","x","(A*256)+B","km",""],
["EGRP_DSD","EGR Purge Desired","0x01","0x2C","8","","x|0.3921568627|*","A*0.3921568627","%",""],
["EVAPCP","EVAP Canister Purge","0x01","0x2E","8","","x|0.3921568627|*","A*0.3921568627","%",""],
["FLI","Fuel Level Indicator","0x01","0x2F","8","","x|0.3921568627|*","A*0.3921568627","%",""],
["DTC_CLR_WARMUPS","warmups since DTCs cleared","0x01","0x30","8","","x","A","",""],
["DTC_CLR_DIST","Distance w/ DTCs Cleared","0x01","0x31","16","","x","(A*256)+B","km",""],
["BARO","Barometric Pressure","0x01","0x33","8","","x","A","kPa",""],
["EQ_RATIO_ACT","AFR(λ) Actual","0x01","0x34","32","","x|0.00001525878906|*|0.00003051757812|*","((A*256)+B)*0.00003051757812","λ","λ*14.70 = AFR for gasoline"],
["EQ_RATIO_ACT_mA","AFR (λ) mA","0x01","0x34","32","","","(((C*256)+D)*0.00390625)-128","mA","IN PROGRESS"],
["CAT11_DSD","Catalyst Temperature Desired","0x01","0x3C","16","","x|0.1|*|40|-","((A*256)+B)*0.1)-40","°C",""],
["PIDS_41_to_60","Supported PIDs 64 - 96","0x01","0x40","32","","","","","Bit encoded"],
["MS_DRIVE_CYCLE","Monitor Status: Drive Cycle","0x01","0x41","32","","","","","Bit encoded"],
["VPWR","Control Module Voltage","0x01","0x42","16","","x|0.001|*","((A*256)+B)*0.001","V",""],
["LOAD","Load Absolute","0x01","0x43","16","","x|0.0039215684|*","((A*256)+B)*0.0039215684","%",""],
["EQ_RATIO_DSD","Lambda Commanded","0x01","0x44","16","","x|0.00003051757812|*","((A*256)+B)*0.00003051757812","λ",""],
["TP_REL","Throttle Position Relative","0x01","0x45","8","","x|0.3921568627|*","A*0.3921568627","%",""],
["AAT","Ambient Air Temperature","0x01","0x46","8","","x|40|-","A-40","°C",""],
["TP2","Throttle Position 2 Absolute","0x01","0x47","8","","x|0.3921568627|*","A*0.3921568627","%",""],
["APP1","APP Sensor 1","0x01","0x49","8","","x|0.3921568627|*","A*0.3921568627","%",""],
["APP2","APP Sensor 2","0x01","0x4A","8","","x|0.3921568627|*","A*0.3921568627","%",""],
["ETC_DSD","Throttle Position Desired (duty)","0x01","0x4C","8","","x|0.3921568627|*","A*0.3921568627","%",""],
["DTC_CNT","# of DTCs","0x22","0x200","8","","x","A","",""],
["DTC_CNTD","# of DTCs (on demand)","0x22","0x202","8","","x","A","",""],
["MAP_V","Manifold Absolute Pressure Voltage","0x22","0x900","16","","x|0.001|*","((A*256)+B)*0.001","V",""],
["APP1_V","APP Sensor 1 Voltage","0x22","0x914","16","","x|0.001|*","((A*256)+B)*0.001","V",""],
["APP2_V","APP Sensor 2 Voltage","0x22","0x915","16","","x|0.001|*","((A*256)+B)*0.001","V",""],
["TP1_V","Throttle Position 1 Voltage","0x22","0x917","16","","x|0.001|*","((A*256)+B)*0.001","V",""],
["TP2_V","Throttle Position 2 Voltage","0x22","0x918","16","","x|0.001|*","((A*256)+B)*0.001","V",""],
["ETC_DSD_DEG","Throttle Control Desired (degrees)","0x22","0x91A","16","","x|0.001953125|*","((A*256)+B)*0.001953125","(angle)°",""],
["ETC_ACT_DEG","Throttle Position Actual (degrees)","0x22","0x93C","16","","x|0.001953125|*","((A*256)+B)*0.001953125","(angle)°",""],
["FAN3_SW","Cooling Fan Relay Control","0x22","0x967","1","2","x","","off / on",""],
["GEN_CHRGLP","Generator Warning Light","0x22","0x968","1","0","x","","off / on",""],
["IDLE","Idle Speed","0x22","0x96E","16","","x|0.25|*","((A*256)+B)*0.25","",""],
["GEN_DSD_V","Generator Voltage Desired","0x22","0x97C","16","","x|0.00048828125|*","((A*256)+B)*0.00048828125","V",""],
["EGRP_STEPS","EGR Purge Steps","0x22","0x98E","16","","x","","steps",""],
["PID_09D3_DISABLED","","0x22","0x9D3","16","","","","",""],
["ACCS_SW","A/C Relay","0x22","0x1101","1","0","x","","off / on",""],
["BOO_SW","Brake On/Off Switch","0x22","0x1101","1","1","x","","off / on",""],
["INGEAR_SW","In Gear Switch","0x22","0x1101","1","3","x","","off / on",""],
["PSP_SW","Power Stearing Position Switch","0x22","0x1101","1","7","x","","off / on",""],
["PID_1102","","0x22","0x1102","8","","","","",""],
["FAN1_SW","Cooling Fan Relay Control","0x22","0x1103","1","2","x","","off / on",""],
["FAN2_SW","Cooling Fan Relay Control","0x22","0x1103","1","3","x","","off / on",""],
["IMRC_SW","Intake Manifold Runner Control","0x22","0x1103","1","4","x","","off / on",""],
["MIL_SW","Malfunction Indicator Lamp","0x22","0x1103","1","5","x","","off / on",""],
["AC_REQ_SW","A/C Refrigerant Pressure Switch","0x22","0x1104","1","0","x","","off / on",""],
["PID_1111","","0x22","0x1111","16","","","","",""],
["IAT_V","Intake Air Temp Voltage","0x22","0x114A","16","","x|0.001|*","((A*256)+B)*0.001","V",""],
["ECT_V","Engine Coolant Temp Voltage","0x22","0x114D","16","","x|0.001|*","((A*256)+B)*0.001","V",""],
["TPCT","Throttle Position Closed Voltage","0x22","0x1169","16","","x|0.015625|*","((A*256)+B)*0.015625","V",""],
["O2S12_A_V","","0x22","0x1174","16","","x|0.0009765625|*","((A*256)+B)*0.0009765625","V",""],
["MAF_V","Mass Air-Flow Voltage","0x22","0x1177","16","","x|0.001|*","((A*256)+B)*0.001","V",""],
["APP","Accel Pedal Position (full range)","0x22","0x1340","8","","x|0.3921568627|*","A*0.3921568627","%",""],
["FUEL_PW","Injector Fuel Pulse Width","0x22","0x1410","16","","x|0.0079999994|*","((A*256)+B)*0.0079999994","",""],
["IMTV_SW","Variable Intake Air Control","0x22","0x160D","1","1","x","","off / on",""],
["O2S_HTR11_SW","O2 Sensor 1 Heater Control (Front)","0x22","0x1631","1","0","x","","off / on",""],
["O2S_HTR12_SW","O2 Sensor 2 Heater Control (Rear)","0x22","0x1631","1","1","x","","off / on",""],
["O2S12_FT","Rear O2 Sensor Fuel Trim","0x22","0x163E","16","","x|0.012207031|*","((A*256)+B)*0.012207031","%",""],
["PID_1681_DISABLED","","0x22","0x1681","8","","","","",""],
["BARO_V","BARO Sensor Voltage","0x22","0x16B3","16","","x|0.001|*","((A*256)+B)*0.001","V",""],
["VT_ACT","Valve Timing Actual","0x22","0x16CD","16","","x|0.0625|*","((A*256)+B)*0.0625","°",""],
["VT_DIFF","Valve Timing Error","0x22","0x16CE","16","","x|0.0625|*","((A*256)+B)*0.0625","°",""],
["VT_DUTY","Valve Timing OCV Control Duty","0x22","0x16CF","16","","x|0.003051757812|*","((A*256)+B)*003051757812","%",""],
["GEN_FC","Generator Field Coil Control Duty","0x22","0x16E8","16","","x|0.003051757812|*","((A*256)+B)*003051757812","%",""],
["GEN_V","Generator Output Voltage","0x22","0x16E9","16","","x|0.125|*","((A*256)+B)*0.125","V",""],
["TIRESIZE","Tire Revolutions Per Mile","0x22","0x16F0","16","","x","(A*256)+B","rev/mi",""],
["HIDET_SW","High Detonation Switch","0x22","0x1706","1","0","x","","off / on",""],
["LAMBDA_MOD_SW","Lambda Modification Switch","0x22","0x1706","1","6","x","","off / on",""],
["PID_1708","","0x22","0x1708","8","","","","",""],
["PID_1710","","0x22","0x1710","56","","","","",""],
["FP_RELAY_SW","Fuel Pump Relay Switch","0x22","0x1718","1","0","x","","off / on",""],
["PID_171E","","0x22","0x171E","8","","","","",""],
["PID_171F","","0x22","0x171F","8","","","","",""],
["PID_1721","","0x22","0x1721","16","","","","",""],
["PID_1722","","0x22","0x1722","16","","","","",""],
["PID_1724","","0x22","0x1724","8","","","","",""],
["PID_172E","","0x22","0x172E","32","","","","",""],
["PID_1730","","0x22","0x1730","32","","","","",""],
["PID_1735","","0x22","0x1735","8","","","","",""],
["PID_1736","","0x22","0x1736","8","","","","",""],
["PID_1737","","0x22","0x1737","8","","","","",""],
["PID_173B","","0x22","0x173B","32","","","","",""],
["KNOCKR","Knock Retard","0x22","0x1746","8","","x|0.3521126761|*","A*0.3521126761","(retard)°",""],
["PID_174E","","0x22","0x174E","8","","","","",""],
["PID_174E","","0x22","0x174E","8","","","","",""],
["PID_174F","","0x22","0x174F","8","","","","",""],
["LDP_VSL_DV","EVAP LDP Very Small Leak Detect Value","0x22","0x176B","16","","x|0.0000053405761|*","((A*256)+B)*0.0000053405761","mA/sec",""],
["LDP_VSL_SV","EVAP LDP Very Small Leak Safe Value","0x22","0x179A","16","","x|0.0000053405761|*","((A*256)+B)*0.0000053405761","mA/sec",""],
["PID_17A6","","0x22","0x17A6","8","","","","",""],
["LDP_MON_current","EVAP LDP Monitoring Current","0x22","0x17F4","16","","x|0.00000056098486|*","((A*256)+B)*0.00000056098486","A",""],
["LDP_REF_current","EVAP LDP Reference Current","0x22","0x17F5","16","","x|0.00000056098486|*","((A*256)+B)*0.00000056098486","A",""],
["LDP_IDL_current","EVAP LDP Idle Current","0x22","0x17F7","16","","x|0.00000056098486|*","((A*256)+B)*0.00000056098486","A",""],
["LDP_SL_DV","EVAP LDP Small Leak Detect Value","0x22","0x17F8","16","","x|0.00000056098486|*","((A*256)+B)*0.00000056098486","A",""],
["LDP_VSL_FV","EVAP LDP Very Small Leak Fail Value","0x22","0x17F9","16","","x|0.0000053405761|*","((A*256)+B)*0.0000053405761","mA/sec",""],
["LDP_EVAPCP","EVAP LDP Incorrect Purge Flow Value","0x22","0x17FA","16","","x|0.00000056098486|*","((A*256)+B)*0.00000056098486","A",""],
["CPP_SW","Clutch Pedal Position Switch","0x22","0xA211","1","0","x","","off / on",""],
["BPA_SW","Brake Pressure Applied Switch","0x22","0xA211","1","1","x","","off / on",""],
["PNP_SW","Park Neutral Position Switch","0x22","0xA211","1","2","x","","off / on",""],
["IVS_SW","Idle Validation Switch","0x22","0xA211","1","4","x","","off / on",""],
["SCCS_V","Cruise Control Voltage","0x22","0xA216","16","","x|0.0000762951095|*","((A*256)+B)*0.0000762951095","V","0.0V = On/Off Switch depressed"]
]
function main() {
add_table(can_data, 'cans')
add_table(obd_data, 'obds')
}
function decode_modifier(str)
{
var res = str.split("|");
var f = {}
f['add']=0
f['mult']=1
f['div']=1
if( res.length == 1)
{
}
else if( res.length == 3)
{
if(res[2] == '*')
{
f['mult']=res[1]
}
else if(res[2] == '-')
{
f['add'] = -res[1]
}
else if(res[2] == '+')
{
f['add'] = res[1]
}
else
{
alert(str)
}
}
else if( res.length == 5 ) {
if( res[2] == '-' && res[4] == '*')
{
f['add'] = -res[1]*res[3]
f['mult'] = res[3]
}
else if( res[2] == '+' && res[4] == '*')
{
f['add'] = res[1]*res[3]
f['mult'] = res[3]
}
else if( res[2] == '*' && res[4] == '+')
{
f['add'] = res[3]
f['mult'] = res[1]
} else if( res[2] == '*' && res[4] == '-')
{
f['add'] = -res[3]
f['mult'] = res[1]
}
else if( res[2] == '*' && res[4] == '*')
{
f['div'] = 1/res[3]
f['mult'] = res[1]
}
else {
alert(str)
}
}
else {
alert(str)
}
return f;
}
function add_table(data,table_name)
{
tbl = document.getElementById(table_name);
var i;
for(i=0;i<data.length;i=i+1)
{
if( data[i][8] == '%' )
{
data[i][10] = 0
data[i][11] = 100
data[i][12] = 0
}
else if( data[i][8] == 'rpm' )
{
data[i][10] = 0
data[i][11] = 10000
data[i][12] = 0
}//
else if( data[i][8] == 'V' )
{
data[i][10] = 0
data[i][11] = 15
data[i][12] = 1
}
else if( data[i][8] == 'λ' )
{
data[i][10] = 0
data[i][11] = 2
data[i][12] = 2
}
else if( data[i][8] == '(angle)°' )
{
data[i][10] = -180
data[i][11] = 180
data[i][12] = 0
}
else if( data[i][8] == '(retard)°' )
{
data[i][10] = -180
data[i][11] = 180
data[i][12] = 0
}
else
{
data[i][10] = 0
data[i][11] = 9999
data[i][12] = 2
}
addRow(tbl, data[i],i,table_name);
}
write_obd( obd_data[4] )
}
function addCell(tr, val) {
var td = document.createElement('td');
td.innerHTML = val;
tr.appendChild(td)
}
function addRow(tbl, val_1,id,table_name) {
var tr = document.createElement('tr');
var i;
var checkname= table_name + "_check"+id;
addCell(tr,val_1[0])
addCell(tr,val_1[1])
addCell(tr,val_1[2])
addCell(tr,val_1[3])
addCell(tr,val_1[10]+"/"+val_1[11]+"/"+val_1[12])
var inp = document.createElement("INPUT");
inp.setAttribute("id",checkname);
inp.setAttribute("type", "checkbox");
tr.appendChild(inp)
//addCell(tr,inp)
tbl.appendChild(tr)
}
var first_json
function start_json()
{
first_json = true
}
function write_json( f, t )
{
if(!first_json) {
t=t+",\n"
}
first_json = false
var first=true
t=t+"{\n"
for(var i in f)
{
if(!first) {
t=t + ",\n";
}
first=false
t=t + ' "'+i+'" : ' + f[i]
}
t=t+"\n}\n"
return t
}
function write_can(data,t)
{
f=decode_modifier(data[6])
f['nm'] = '"' + data[0] + '"'
f['bigEndian'] = true
f['bm'] = false
f['bus'] = 2
f['filtId'] = 0
f['id'] = data[2]
f['idMask'] = 0
f['len'] = data[4] / 8
f['max'] = data[10]
f['prec'] = data[12]
f['min'] = data[11]
f['sr'] = 50
f['subId'] = -1
f['type'] = 0
f['ut'] = '""';
t=write_json(f,t)
return t
}
function write_obd(data,t)
{
f=decode_modifier(data[6])
f['nm'] = '"' + data[0] + '_OBD"'
f['bigEndian'] = true
f['bm'] = false
f['bus'] = 2
f['filtId'] = 0
f['id'] = 2024
f['idMask'] = 0
f['len'] = data[4] / 8
f['max'] = data[10]
f['mode'] = parseInt(data[2],16)
f['prec'] = data[12]
f['min'] = data[11]
f['sr'] = 10
f['offset'] = 0
f['pid'] = parseInt(data[3],16)
f['pass'] = false
f['subId'] = -1
f['type'] = 0
f['ut'] = '""';
t=write_json(f,t)
return t
}
function generate()
{
var i;
t=""
start_json()
for(i=0;i<obd_data.length;i=i+1) {
if( document.getElementById('obds_check'+i).checked )
{
t=write_obd( obd_data[i],t )
}
}
document.getElementById("obddata").innerHTML = t
start_json()
t=""
for(i=0;i<can_data.length;i=i+1) {
if( document.getElementById('cans_check'+i).checked )
{
t=write_can( can_data[i],t )
}
}
document.getElementById("candata").innerHTML = t
}
#obds {
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#obds td, #obds th {
border: 1px solid #ddd;
padding: 8px;
}
#obds tr:nth-child(even){background-color: #f2f2f2;}
#obds tr:hover {background-color: #ddd;}
#obds th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
background-color: #1122A0;
color: white;
}
#cans {
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#cans td, #cans th {
border: 1px solid #ddd;
padding: 8px;
}
#cans tr:nth-child(even){background-color: #f2f2f2;}
#cans tr:hover {background-color: #ddd;}
#cans th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
background-color: #1122A0;
color: white;
}
Choose Bus:
CAN1
CAN2
CAN Parameter Name Description Mode Mode PID Min/Max/P
OBD Parameter Name Description Mode Mode PID Min/Max/P
Generate
CAN Parameter Name Description Mode Mode PID Min/Max/P
OBD Parameter Name Description Mode Mode PID Min/Max/P
Generate
CAN DATA
candata
OBD DATA
obddata







