Software On ELM Street - OBD2 Software Development

Programs / Tools / Scripts
User avatar
vlad01
Posts: 7803
Joined: Mon Oct 08, 2012 6:41 pm
cars: VP I S
VP I executive
VP II executive
VP II executive #2
VR II executive
Location: Kyneton, Vic

Re: ELM327 Software Development

Post by vlad01 »

yeah thats looks better, maybe darken the blue dots as they still shimmer a bit. Dark red looks great though.
I'm the director of VSH (Vlad's Spec Holden), because HSV were doing it ass about.
User avatar
Tazzi
Posts: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: ELM327 Software Development

Post by Tazzi »

Tazzi wrote:Have to figure out how many bytes each pid sends back..otherwise we wont know what to grab!.. Hmm.. will have to start making a definition file and go back to reversing the tech2 to sort this out.

At least we have some simple ones:
Engine RPM 000C = 2bytes
Vehicle Speed 000D = 1byte
Manifold pressure 000B = 1byte
Engine Coolant Temp 0005 = 1byte
Engine Mass Airflow 0004 = 2bytes
Spark Advance 000E = 1byte

Example frame:
7E0 10 0C 2C F7 00 0C 00 0D
7E0 21 00 0B 00 04 00 05

Would then get back:
5DF F7 XX XX YY ZZ PP PP DD

which makes up our first DPID.
This kinda illustrates what Im trying out now. We can see the total return size is 7bytes (XX XX YY ZZ PP PP DD). Where our last defined PID 0005 (Engine temp) normal returns back 1 byte. So, Im going to attempt running through each PID, where (hopefully), a successful answer will identify a 1byte response, and a failed answer means 2bytes.
Another issue is I will have no idea how to display the values, as in, the "calculation" to be done to present the values in the correct units.. but 1 step at a time.

This also assumes that all the defined PIDs are supported.. which probably requires its own complete scan.. might do that first.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
Tazzi
Posts: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: ELM327 Software Development

Post by Tazzi »

Looks like testing invalid/valid PIDs works. Looks like a tonne of the enhanced PID requests from VPW are not compatible.. at least not with the VZ V6 ecu here.

Code: Select all

[13:55:14:227]   Valid PID: EngineCoolantTemp  0005
[13:55:14:255]   Valid PID: ShortTermFuelTrimBank1  0006
[13:55:14:282]   Valid PID: LongTermFuelTrimBank1  0007
[13:55:14:312]   Valid PID: ShortTermFuelTrimBank2  0008
[13:55:14:342]   Valid PID: LongTermFuelTrimBank2  0009
[13:55:14:372]   Invalid PID: ManifoldAbsolutePressure  000B
[13:55:14:402]   Valid PID: RPM  000C
[13:55:14:433]   Valid PID: SpeedKPH  000D
[13:55:14:462]   Valid PID: IgnitionTimingAdvance  000E
[13:55:14:493]   Valid PID: IntakeAirTemperature  000F
[13:55:14:522]   Valid PID: MassAirFlow  0010
[13:55:14:552]   Valid PID: ThrottlePositionSensor  0011
[13:55:14:582]   Invalid PID: CommandedSecondaryAir  0012
[13:55:14:612]   Invalid PID: O2Bank1Sensor1  0014
[13:55:14:642]   Valid PID: O2Bank1Sensor2  0015
[13:55:14:672]   Invalid PID: O2Bank2Sensor1  0018
[13:55:14:702]   Valid PID: O2Bank2Sensor2  0019
[13:55:14:732]   Invalid PID: RearO2CurrentNonVolatile  110F
[13:55:14:763]   Invalid PID: MassAirFlowSensor1  1140
[13:55:14:795]   Invalid PID: IgnitionVoltage  1141
[13:55:14:823]   Invalid PID: ThrottlePositionSensor2  1143
[13:55:14:853]   Valid PID: AirConditionerPressure  1144
[13:55:14:883]   Invalid PID: O2SensorB1S1  1145
[13:55:14:913]   Valid PID: O2SensorB1S2  1146
[13:55:14:943]   Invalid PID: O2SensorB2S1  1148
[13:55:14:973]   Valid PID: O2SensorB2S2  1149
[13:55:15:002]   Invalid PID: ThrottlePositionSensorNormalizedinDegreesPerPercent  1151
[13:55:15:033]   Invalid PID: CAMEngineSpeedActivity  115E
[13:55:15:062]   Valid PID: StartUpEngineCoolantTempterature  116F
[13:55:15:093]   Valid PID: ControlledCanisterPergeSolenoid  1170
[13:55:15:122]   Invalid PID: EGRDutyCycle  1171
[13:55:15:153]   Invalid PID: IdleAirControl  1172
[13:55:15:183]   Invalid PID: CurrentIdleAirControlMemory  1176
[13:55:15:212]   Invalid PID: IdleAirControlMotorPosition  1179
[13:55:15:242]   Invalid PID: FuelTrimCell  1190
[13:55:15:272]   Invalid PID: DesiredIdleSpeed  1192
[13:55:15:302]   Valid PID: BarometricPressure  119D
[13:55:15:332]   Invalid PID: AirFuelRatio  119E
[13:55:15:362]   Valid PID: EngineRunTime  11A1
[13:55:15:392]   Invalid PID: KnockRetard  11A6
[13:55:15:422]   Invalid PID: EGRTestCount  11BD
[13:55:15:452]   Invalid PID: EGRDecelFilter  11C0
[13:55:15:482]   Invalid PID: O2ResponseLeantoRichSwitchesBank1Sensor1  11D7
[13:55:15:512]   Invalid PID: CatalystMonitorEWMASampleCounterBank1  11D8
[13:55:15:542]   Invalid PID: LowResolutionSignal  11E3
[13:55:15:572]   Valid PID: MisfireCurrentCylinderNum1  1205
[13:55:15:603]   Valid PID: MisfireCurrentCylinderNum2  1206
[13:55:15:632]   Valid PID: MisfireCurrentCylinderNum3  1207
[13:55:15:662]   Valid PID: MisfireCurrentCylinderNum4  1208
[13:55:15:693]   Valid PID: MisfireCurrentCylinderNum5  11EA
[13:55:15:722]   Valid PID: MisfireCurrentCylinderNum6  11EB
[13:55:15:753]   Invalid PID: MisfireCurrentCylinderNum7  11EC
[13:55:15:783]   Invalid PID: MisfireCurrentCylinderNum8  11ED
[13:55:15:813]   Valid PID: MisfireHistoryCylinderNum3  1203
[13:55:15:842]   Valid PID: MisfireHistoryCylinderNum4  1204
[13:55:15:872]   Valid PID: MisfireHistoryCylinderNum5  11F8
[13:55:15:902]   Valid PID: MisfireHistoryCylinderNum6  11F9
[13:55:15:932]   Invalid PID: MisfireHistoryCylinderNum7  11FA
[13:55:15:962]   Invalid PID: MisfireHistoryCylinderNum8  11FB
[13:55:15:992]   Invalid PID: ShortTermFuelTrimB1  120A
[13:55:16:022]   Invalid PID: LongTermFuelTrimB1  120B
[13:55:16:053]   Invalid PID: ShortTermFuelTrimB2  120C
[13:55:16:082]   Invalid PID: LongTermFuelTrimB2  123A
[13:55:16:113]   Invalid PID: RichLeanTOLeanRichRatioSensor1  1212
[13:55:16:142]   Invalid PID: O2RichtoLeanSwitchesBank2Sensor1  1216
[13:55:16:172]   Invalid PID: O2LeantoRichSwitchesBank2Sensor1  1217
[13:55:16:202]   Invalid PID: O2RichtoLeanSwitchesBank1Sensor1  121A
[13:55:16:232]   Invalid PID: O2AverageBiasVoltage  121C
[13:55:16:262]   Invalid PID: TotalMisfireFailuresSinceFirstFail  1227
[13:55:16:292]   Invalid PID: TotalMisfirePassesSinceFirstFail  1228
[13:55:16:322]   Invalid PID: O2RichtoLeanAverageTimeBank2Sensor1  1246
[13:55:16:352]   Valid PID: InjectorPulseWidthAverageBank1  125A
[13:55:16:382]   Valid PID: InjectorPulseWidthAverageBank2  125B
[13:55:16:412]   Invalid PID: KnockRetardSensor  125D
[13:55:16:442]   Invalid PID: LongTermFuelTrimDecal  1262
[13:55:16:472]   Invalid PID: LongTermFuelTrimIdle  1263
[13:55:16:502]   Invalid PID: LongTermFuelTrimCruise  1264
[13:55:16:533]   Invalid PID: LongTermFuelTrimAccel  1265
[13:55:16:563]   Invalid PID: EngineOilTemp  1602
[13:55:16:593]   Invalid PID: TransmissionTemp  19F3
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
Tazzi
Posts: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: ELM327 Software Development

Post by Tazzi »

So that leaves us with the valid known PIDs of:

Code: Select all

[13:58:40:387]   Valid PID: EngineCoolantTemp  0005
[13:58:40:416]   Valid PID: ShortTermFuelTrimBank1  0006
[13:58:40:446]   Valid PID: LongTermFuelTrimBank1  0007
[13:58:40:477]   Valid PID: ShortTermFuelTrimBank2  0008
[13:58:40:506]   Valid PID: LongTermFuelTrimBank2  0009
[13:58:40:566]   Valid PID: RPM  000C
[13:58:40:596]   Valid PID: SpeedKPH  000D
[13:58:40:627]   Valid PID: IgnitionTimingAdvance  000E
[13:58:40:657]   Valid PID: IntakeAirTemperature  000F
[13:58:40:687]   Valid PID: MassAirFlow  0010
[13:58:40:717]   Valid PID: ThrottlePositionSensor  0011
[13:58:40:807]   Valid PID: O2Bank1Sensor2  0015
[13:58:40:867]   Valid PID: O2Bank2Sensor2  0019
[13:58:41:017]   Valid PID: AirConditionerPressure  1144
[13:58:41:077]   Valid PID: O2SensorB1S2  1146
[13:58:41:137]   Valid PID: O2SensorB2S2  1149
[13:58:41:227]   Valid PID: StartUpEngineCoolantTempterature  116F
[13:58:41:257]   Valid PID: ControlledCanisterPergeSolenoid  1170
[13:58:41:466]   Valid PID: BarometricPressure  119D
[13:58:41:527]   Valid PID: EngineRunTime  11A1
[13:58:41:737]   Valid PID: MisfireCurrentCylinderNum1  1205
[13:58:41:767]   Valid PID: MisfireCurrentCylinderNum2  1206
[13:58:41:797]   Valid PID: MisfireCurrentCylinderNum3  1207
[13:58:41:827]   Valid PID: MisfireCurrentCylinderNum4  1208
[13:58:41:857]   Valid PID: MisfireCurrentCylinderNum5  11EA
[13:58:41:887]   Valid PID: MisfireCurrentCylinderNum6  11EB
[13:58:41:976]   Valid PID: MisfireHistoryCylinderNum1  1201
[13:58:42:006]   Valid PID: MisfireHistoryCylinderNum2  1202
[13:58:42:036]   Valid PID: MisfireHistoryCylinderNum3  1203
[13:58:42:066]   Valid PID: MisfireHistoryCylinderNum4  1204
[13:58:42:096]   Valid PID: MisfireHistoryCylinderNum5  11F8
[13:58:42:127]   Valid PID: MisfireHistoryCylinderNum6  11F9
[13:58:42:577]   Valid PID: InjectorPulseWidthAverageBank1  125A
[13:58:42:606]   Valid PID: InjectorPulseWidthAverageBank2  125B
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
Tazzi
Posts: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: ELM327 Software Development

Post by Tazzi »

All possible PIDs in a VZ V6 ecu are:

Code: Select all

[14:01:58:585]   Valid PID: 0000
[14:01:58:612]   Valid PID: 0001
[14:01:58:671]   Valid PID: 0003
[14:01:58:701]   Valid PID: 0004
[14:01:58:732]   Valid PID: 0005
[14:01:58:761]   Valid PID: 0006
[14:01:58:791]   Valid PID: 0007
[14:01:58:821]   Valid PID: 0008
[14:01:58:851]   Valid PID: 0009
[14:01:58:941]   Valid PID: 000C
[14:01:58:971]   Valid PID: 000D
[14:01:59:001]   Valid PID: 000E
[14:01:59:031]   Valid PID: 000F
[14:01:59:061]   Valid PID: 0010
[14:01:59:091]   Valid PID: 0011
[14:01:59:151]   Valid PID: 0013
[14:01:59:210]   Valid PID: 0015
[14:01:59:330]   Valid PID: 0019
[14:01:59:420]   Valid PID: 001C
[14:01:59:571]   Valid PID: 0021
[14:02:00:141]   Valid PID: 0034
[14:02:00:261]   Valid PID: 0038
[14:04:11:504]   Valid PID: 1100
[14:04:11:534]   Valid PID: 1101
[14:04:11:563]   Valid PID: 1102
[14:04:11:594]   Valid PID: 1103
[14:04:11:623]   Valid PID: 1104
[14:04:11:654]   Valid PID: 1105
[14:04:11:684]   Valid PID: 1106
[14:04:11:713]   Valid PID: 1107
[14:04:11:744]   Valid PID: 1108
[14:04:11:773]   Valid PID: 1109
[14:04:11:983]   Valid PID: 1110
[14:04:13:544]   Valid PID: 1144
[14:04:13:604]   Valid PID: 1146
[14:04:13:694]   Valid PID: 1149
[14:04:13:813]   Valid PID: 114D
[14:04:13:843]   Valid PID: 114E
[14:04:14:024]   Valid PID: 1154
[14:04:14:054]   Valid PID: 1155
[14:04:14:084]   Valid PID: 1156
[14:04:14:144]   Valid PID: 1158
[14:04:14:804]   Valid PID: 116E
[14:04:14:834]   Valid PID: 116F
[14:04:14:865]   Valid PID: 1170
[14:04:15:014]   Valid PID: 1175
[14:04:15:104]   Valid PID: 1178
[14:04:15:914]   Valid PID: 1193
[14:04:15:944]   Valid PID: 1194
[14:04:15:974]   Valid PID: 1195
[14:04:16:004]   Valid PID: 1196
[14:04:16:034]   Valid PID: 1197
[14:04:16:064]   Valid PID: 1198
[14:04:16:214]   Valid PID: 119D
[14:04:16:274]   Valid PID: 119F
[14:04:16:334]   Valid PID: 11A1
[14:04:16:364]   Valid PID: 11A2
[14:04:17:534]   Valid PID: 11C9
[14:04:18:524]   Valid PID: 11EA
[14:04:18:554]   Valid PID: 11EB
[14:04:18:944]   Valid PID: 11F8
[14:04:18:974]   Valid PID: 11F9
[14:04:19:184]   Valid PID: 1200
[14:04:19:214]   Valid PID: 1201
[14:04:19:244]   Valid PID: 1202
[14:04:19:274]   Valid PID: 1203
[14:04:19:303]   Valid PID: 1204
[14:04:19:334]   Valid PID: 1205
[14:04:19:363]   Valid PID: 1206
[14:04:19:395]   Valid PID: 1207
[14:04:19:424]   Valid PID: 1208
[14:04:20:744]   Valid PID: 1234
[14:04:20:833]   Valid PID: 1237
[14:04:20:865]   Valid PID: 1238
[14:04:20:894]   Valid PID: 1239
[14:04:21:884]   Valid PID: 125A
[14:04:21:914]   Valid PID: 125B
[14:04:23:714]   Valid PID: 1297
[14:04:24:495]   Valid PID: 12B1
[14:04:24:734]   Valid PID: 12B9
[14:04:24:764]   Valid PID: 12BA
[14:04:24:824]   Valid PID: 12BC
[14:04:24:854]   Valid PID: 12BD
[14:04:25:694]   Valid PID: 12D9
[14:04:26:084]   Valid PID: 12E6
[14:04:26:324]   Valid PID: 12EE
[14:04:26:504]   Valid PID: 12F4
[14:04:27:314]   Valid PID: 130F
[14:04:27:494]   Valid PID: 1315
[14:04:27:524]   Valid PID: 1316
[14:04:27:554]   Valid PID: 1317
[14:04:27:584]   Valid PID: 1318
[14:04:27:614]   Valid PID: 1319
[14:04:27:644]   Valid PID: 131A
[14:04:27:674]   Valid PID: 131B
[14:04:27:704]   Valid PID: 131C
[14:04:27:734]   Valid PID: 131D
[14:04:27:764]   Valid PID: 131E
[14:04:27:794]   Valid PID: 131F
[14:04:28:125]   Valid PID: 132A
[14:04:28:544]   Valid PID: 1338
[14:04:29:594]   Valid PID: 135B
[14:04:29:624]   Valid PID: 135C
[14:04:29:714]   Valid PID: 135F
[14:04:29:895]   Valid PID: 1365
[14:04:29:924]   Valid PID: 1366
[14:04:30:074]   Valid PID: 136B
[14:04:30:104]   Valid PID: 136C
[14:04:30:134]   Valid PID: 136D
[14:04:30:164]   Valid PID: 136E
[14:04:30:194]   Valid PID: 136F
[14:04:30:434]   Valid PID: 1377
[14:04:30:464]   Valid PID: 1378
[14:04:30:494]   Valid PID: 1379
[14:04:30:524]   Valid PID: 137A
[14:04:30:884]   Valid PID: 1386
[14:04:31:154]   Valid PID: 138F
[14:04:31:184]   Valid PID: 1390
[14:04:31:214]   Valid PID: 1391
[14:04:31:244]   Valid PID: 1392
[14:04:31:274]   Valid PID: 1393
[14:04:31:304]   Valid PID: 1394
[14:04:32:144]   Valid PID: 13B0
[14:04:32:174]   Valid PID: 13B1
[14:04:32:204]   Valid PID: 13B2
[14:04:32:234]   Valid PID: 13B3
[14:04:32:384]   Valid PID: 13B8
[14:04:32:414]   Valid PID: 13B9
[14:04:32:624]   Valid PID: 13C0
[14:04:32:654]   Valid PID: 13C1
[14:04:32:684]   Valid PID: 13C2
[14:04:32:714]   Valid PID: 13C3
[14:04:32:864]   Valid PID: 13C8
[14:04:33:614]   Valid PID: 13E1
[14:04:33:644]   Valid PID: 13E2
[14:04:33:674]   Valid PID: 13E3
[14:04:33:704]   Valid PID: 13E4
[14:04:34:334]   Valid PID: 13F9
[14:04:34:785]   Valid PID: 1408
[14:04:34:814]   Valid PID: 1409
[14:04:34:844]   Valid PID: 140A
[14:04:34:874]   Valid PID: 140B
[14:04:34:904]   Valid PID: 140C
[14:04:34:934]   Valid PID: 140D
[14:04:35:024]   Valid PID: 1410
[14:04:35:084]   Valid PID: 1412
[14:04:35:414]   Valid PID: 141D
[14:04:35:445]   Valid PID: 141E
[14:04:35:834]   Valid PID: 142B
[14:04:37:725]   Valid PID: 146A
[14:04:37:754]   Valid PID: 146B
[14:04:37:785]   Valid PID: 146C
[14:04:37:814]   Valid PID: 146D
[14:04:37:904]   Valid PID: 1470
[14:04:38:234]   Valid PID: 147B
[14:04:38:354]   Valid PID: 147F
[14:04:38:384]   Valid PID: 1480
[14:04:38:624]   Valid PID: 1488
[14:04:38:745]   Valid PID: 148C
[14:04:38:774]   Valid PID: 148D
[14:04:38:805]   Valid PID: 148E
[14:04:38:954]   Valid PID: 1493
[14:04:38:984]   Valid PID: 1494
[14:04:39:074]   Valid PID: 1497
[14:04:42:344]   Valid PID: 1504
[14:04:42:374]   Valid PID: 1505
[14:04:42:554]   Valid PID: 150B
[14:04:42:645]   Valid PID: 150E
[14:04:42:675]   Valid PID: 150F
[14:04:42:705]   Valid PID: 1510
[14:04:42:735]   Valid PID: 1511
[14:04:42:765]   Valid PID: 1512
[14:04:42:795]   Valid PID: 1513
[14:04:42:825]   Valid PID: 1514
[14:04:42:855]   Valid PID: 1515
[14:04:43:154]   Valid PID: 151F
[14:04:43:184]   Valid PID: 1520
[14:04:43:214]   Valid PID: 1521
[14:04:43:244]   Valid PID: 1522
[14:04:43:274]   Valid PID: 1523
[14:04:43:304]   Valid PID: 1524
[14:04:43:334]   Valid PID: 1525
[14:04:43:785]   Valid PID: 1534
[14:04:43:814]   Valid PID: 1535
[14:04:43:844]   Valid PID: 1536
[14:04:45:914]   Valid PID: 157B
[14:04:45:944]   Valid PID: 157C
[14:04:45:975]   Valid PID: 157D
[14:04:46:005]   Valid PID: 157E
[14:04:50:204]   Valid PID: 160A
[14:04:51:825]   Valid PID: 1640
[14:04:51:915]   Valid PID: 1643
[14:04:51:945]   Valid PID: 1644
[14:04:52:065]   Valid PID: 1648
[14:04:52:724]   Valid PID: 165E
[14:04:52:755]   Valid PID: 165F
[14:04:52:785]   Valid PID: 1660
[14:04:52:815]   Valid PID: 1661
[14:04:52:845]   Valid PID: 1662
[14:04:52:875]   Valid PID: 1663
[14:04:52:905]   Valid PID: 1664
[14:04:52:935]   Valid PID: 1665
[14:04:52:965]   Valid PID: 1666
[14:04:52:995]   Valid PID: 1667
[14:04:53:025]   Valid PID: 1668
[14:04:53:055]   Valid PID: 1669
[14:04:53:085]   Valid PID: 166A
[14:04:53:114]   Valid PID: 166B
[14:04:53:144]   Valid PID: 166C
[14:04:53:174]   Valid PID: 166D
[14:04:53:206]   Valid PID: 166E
[14:04:53:234]   Valid PID: 166F
[14:04:53:444]   Valid PID: 1676
[14:04:53:474]   Valid PID: 1677
[14:04:53:745]   Valid PID: 1680
[14:04:53:775]   Valid PID: 1681
[14:04:53:805]   Valid PID: 1682
[14:04:53:835]   Valid PID: 1683
[14:04:53:865]   Valid PID: 1684
[14:04:53:895]   Valid PID: 1685
[14:04:53:925]   Valid PID: 1686
[14:04:53:955]   Valid PID: 1687
[14:05:15:315]   Valid PID: 194F
[14:05:15:405]   Valid PID: 1952
[14:05:17:566]   Valid PID: 199A
[14:05:18:915]   Valid PID: 19C7
[14:05:20:896]   Valid PID: 1A09
[14:05:20:926]   Valid PID: 1A0A
[14:05:24:315]   Valid PID: 1A7B
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
Tazzi
Posts: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: ELM327 Software Development

Post by Tazzi »

Tazzi wrote:So that leaves us with the valid known PIDs of:

Code: Select all

[13:58:40:387]   Valid PID: EngineCoolantTemp  0005
[13:58:40:416]   Valid PID: ShortTermFuelTrimBank1  0006
[13:58:40:446]   Valid PID: LongTermFuelTrimBank1  0007
[13:58:40:477]   Valid PID: ShortTermFuelTrimBank2  0008
[13:58:40:506]   Valid PID: LongTermFuelTrimBank2  0009
[13:58:40:566]   Valid PID: RPM  000C
[13:58:40:596]   Valid PID: SpeedKPH  000D
[13:58:40:627]   Valid PID: IgnitionTimingAdvance  000E
[13:58:40:657]   Valid PID: IntakeAirTemperature  000F
[13:58:40:687]   Valid PID: MassAirFlow  0010
[13:58:40:717]   Valid PID: ThrottlePositionSensor  0011
[13:58:40:807]   Valid PID: O2Bank1Sensor2  0015
[13:58:40:867]   Valid PID: O2Bank2Sensor2  0019
[13:58:41:017]   Valid PID: AirConditionerPressure  1144
[13:58:41:077]   Valid PID: O2SensorB1S2  1146
[13:58:41:137]   Valid PID: O2SensorB2S2  1149
[13:58:41:227]   Valid PID: StartUpEngineCoolantTempterature  116F
[13:58:41:257]   Valid PID: ControlledCanisterPergeSolenoid  1170
[13:58:41:466]   Valid PID: BarometricPressure  119D
[13:58:41:527]   Valid PID: EngineRunTime  11A1
[13:58:41:737]   Valid PID: MisfireCurrentCylinderNum1  1205
[13:58:41:767]   Valid PID: MisfireCurrentCylinderNum2  1206
[13:58:41:797]   Valid PID: MisfireCurrentCylinderNum3  1207
[13:58:41:827]   Valid PID: MisfireCurrentCylinderNum4  1208
[13:58:41:857]   Valid PID: MisfireCurrentCylinderNum5  11EA
[13:58:41:887]   Valid PID: MisfireCurrentCylinderNum6  11EB
[13:58:41:976]   Valid PID: MisfireHistoryCylinderNum1  1201
[13:58:42:006]   Valid PID: MisfireHistoryCylinderNum2  1202
[13:58:42:036]   Valid PID: MisfireHistoryCylinderNum3  1203
[13:58:42:066]   Valid PID: MisfireHistoryCylinderNum4  1204
[13:58:42:096]   Valid PID: MisfireHistoryCylinderNum5  11F8
[13:58:42:127]   Valid PID: MisfireHistoryCylinderNum6  11F9
[13:58:42:577]   Valid PID: InjectorPulseWidthAverageBank1  125A
[13:58:42:606]   Valid PID: InjectorPulseWidthAverageBank2  125B

Now, running this through our PID size function to determine the lengths. Im fairly confident in the results below since 000C (rpm) is a 2byte return.. which is confirmed in the results below. :D

Code: Select all

[14:49:56:875]   0005 Return is 1
[14:49:56:981]   0006 Return is 1
[14:49:57:091]   0007 Return is 1
[14:49:57:202]   0008 Return is 1
[14:49:57:312]   0009 Return is 1
[14:49:57:423]   000C Return is 2
[14:49:57:534]   000D Return is 1
[14:49:57:645]   000E Return is 1
[14:49:57:751]   000F Return is 1
[14:49:57:862]   0010 Return is 2
[14:49:57:972]   0011 Return is 1
[14:49:58:082]   0015 Return is 2
[14:49:58:193]   0019 Return is 2
[14:49:58:303]   1144 Return is 1
[14:49:58:415]   1146 Return is 1
[14:49:58:521]   1149 Return is 1
[14:49:58:632]   116F Return is 1
[14:49:58:742]   1170 Return is 1
[14:49:58:852]   119D Return is 1
[14:49:58:963]   11A1 Return is 2
[14:49:59:073]   1205 Return is 1
[14:49:59:185]   1206 Return is 1
[14:49:59:303]   1207 Return is 1
[14:49:59:414]   1208 Return is 1
[14:49:59:524]   11EA Return is 1
[14:49:59:631]   11EB Return is 1
[14:49:59:742]   1201 Return is 2
[14:49:59:852]   1202 Return is 2
[14:49:59:963]   1203 Return is 2
[14:50:00:073]   1204 Return is 2
[14:50:00:184]   11F8 Return is 2
[14:50:00:294]   11F9 Return is 2
[14:50:00:400]   125A Return is 2
[14:50:00:512]   125B Return is 2
Now that I know that is possible to test out, its time to move onto reverse engineering the tech2 frames. From previous experience.. Im going to need to dedicate one ELM to monitoring traffic. And 3 others to spit out data.
The first 3 will have various dedicated headers for the initial setup frames from the tech2. And the last one will be the "message spammer"
I can somehow see that this is going to be a very, very tedious process.. as some of those tech2 tables had over 60 parameters. Im hoping there are many duplicates due to units change... but wont know to I start digging in.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
Tazzi
Posts: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: ELM327 Software Development

Post by Tazzi »

Tech2 is being a pain... wont recognise the CANDI module...
While Iv being waiting for that.. Iv literally logged all the OBD2 software I could get my hands on.. and none.. I mean none, use manufacture/enhanced pids that work on the VZ V6 ecu. They all try to use the "22" mode like the LS1 ecu use.. but that doesnt work.

Looks like ground breaking work is to be done :thumbup:
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
Tazzi
Posts: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: ELM327 Software Development

Post by Tazzi »

Dump some of this info off here for future reference.. This is from Engine Data 1 in the tech2:

Code: Select all

In DATA DISPLAY MENU
Engine Data 1 tab 
7E0 10 0C 2C FE 00 0C 11 C9   PIDS:000C  1C9
7E8 30 20 02 9C 7F 7F 7F 7F 
7E0 21 00 05 00 0F 00 10 00    -PIDs: 0005 000F 0010
7E8 02 6C FE 00 00 00 00 00  -Successful
7E0 10 0E 2C FD 00 04 13 1F  -PIDs 0004 131F
7E8 30 20 02 7F 7F 7F 7F 7F 
7E0 21 11 9D 13 B0 13 1E 14  -PIDs 13B0  131E  1493
7E0 22 93 00 00 00 00 00 00 
7E8 02 6C FD 00 00 00 00 00 

7E0 10 0A 2C FC 11 06 11 05   -PIDs  1106  1105
7E8 30 20 02 44 00 00 00 01 
7E0 21 11 02 11 01 00 00 00  -PIDs 1102 1101
7E8 02 6C FC 00 00 00 00 00 

7E0 10 0E 2C FB 00 0D 11 A1  -PIDs  000D 11A1
7E8 30 20 02 54 7F 7F 7F 7F 
7E0 21 11 A2 12 B1 16 64 16   -PIDs  11A2  12B1 1664  1661
7E0 22 61 00 00 00 00 00 00 
7E8 02 6C FB 00 00 00 00 00 

7E0 10 10 2C FA 13 C3 11 07    PIDs  13C3   1107
7E8 30 20 02 C6 00 00 00 01 
7E0 21 11 00 14 8D 19 9A 16   -PIDs  1100   148D   199A   1669   165F
7E0 22 69 16 5F 00 00 00 00   
7E8 02 6C FA 00 00 00 00 00 

7E0 10 0E 2C F9 13 B8 13 B9   -PIDs 13B8   13B9 
7E8 30 20 02 00 00 00 00 01 
7E0 21 13 C0 13 C1 13 C2 13   -PIDs  13C0  13 C1   13C2   137A
7E0 22 7A 00 00 00 00 00 00 
7E8 02 6C F9 00 00 00 00 00 

7E0 10 0A 2C F8 00 0E 12 D9   -PIDs   000E   12D9 
7E8 30 20 02 24 00 80 0B BC 
7E0 21 13 2A 13 79 00 00 00   -PIDs  132A   1379
7E8 02 6C F8 00 00 00 00 00 

7E0 10 0E 2C F7 11 70 00 07   -PIDs   1170  0007
7E0 21 00 08 13 78 00 09 11   -PIDs   0008   1378   0009  1104
7E0 22 04 00 00 00 00 00 00 
7E8 02 6C F7 00 00 00 00 00 

7E0 10 0C 2C F6 00 06 11 46   -PIDs  0006   1146
7E8 30 20 02 D4 00 00 00 05   
7E0 21 14 94 11 49 13 77 00    -PIDs  1494   1149   1377  
7E8 02 6C F6 00 00 00 00 00 

7E0 10 0B AA 04 FE FD FC FB 
7E8 30 20 02 24 00 7F F2 B4 
7E0 21 FA F9 F8 F7 F6 00 00 
5E8 FE 00 00 6E 00 00 00 00 
5E8 FD FF 00 FF 10 AB 0D 00 
5E8 FC 60 E0 01 05 00 00 00 
5E8 FB 00 00 00 0A 00 00 00 
5E8 FA 00 0C 82 86 00 00 00 
5E8 F9 00 00 00 00 00 00 B8 
5E8 F8 80 00 00 00 00 B8 B8 
5E8 F7 00 80 80 80 00 80 C0 
5E8 F6 80 00 00 00 80 00 C0 


Engine Speed
Desired Engine Idle Speed
Cooleant Temperature
Intake Air Temperature Mass Air Flow
Engine Load
Volumetric Efficiency
Calculated Pedal Position
Desired Throttle Position
Calculated throttle position
Barometric Pressure
Barometric Pressure
Loop Status B1S1   OPEN
Loop Status B2S1   OPEN
B1 Short term Fuel Trim
B1 LTFT Idle/Deceleration
B1 LTFT Cruise/Acceleration
B2 Short Term Fuel Trim
B2 LTFT Idle/Deceleration
B2 LTFT Cruise/Acceleration
Transmission Gear   IN GEAR
EVAP Purge Solenoid
Fuel Level
Spark Advance
B1 Knock Sensor Signal
B2 Knock Sensor Signal
Knock Retard
Knock Retard Cylinder 1
Knock Retard Cylinder 2
Knock Retard Cylinder 3
Knock Retard Cylinder 4
Knock Retard Cylinder 5
Knock Retard Cylinder 6
Ignition Accessory Sign   OFF
Ignition On Signal   ON
Malfunction Indicator  ON
Fuel Pump Relay   OFF
Engine Control Ignition  ON
Engine Control Ignition
Actual GEAR   INVALID
Brake Lamp Switch   = ACTIVE
Extended Travel Brake Pedal Switch = Active
Reduce Engine Power    INACITVE
DTC Set this Ignition    NO DTC
Vehicle Speed    0kmh
Engine Runtime
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
Tazzi
Posts: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: ELM327 Software Development

Post by Tazzi »

Tricky little bugger to get working.. but its going with 3 elm cables connected to the tech2.

first monitors all traffic (only 7E0)
second sends the replies and then sends of DPID spam
and Third sends back "tester present" response.

Took me a while to realize, but the tech2 will not work, or will timeout if there is no response to the tester present message.

Now the tech2 is eating up my false frames... its time to start manipulating bytes :D
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
antus
Site Admin
Posts: 8253
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: ELM327 Software Development

Post by antus »

Good work. Well done! :thumbup:
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
Post Reply