Sending 03AA01F9 requests the dpid once.
We now have enhanced DPID support for CAN11bit.


Cheers mate, still a couple more to add in.delcowizzid wrote:omg those gauges pure awesome
Code: Select all
Dim ActiveCustomControls() as controls 'collection of all the custom controls to modify
Dim PIDsActive() as SupportedPIDs 'Array of all active PIDs
Dim dpidFEpids() as PIDssetup 'Array of all pids in DPID FE,locations and size
Dim FoundMessage as string = GetECUResponse(SentMessage,SerialPort,ErrorReport) 'get response, handle errors, pass on serialport to prevent crossthreads.
Dim SpitFoundMessage() as string = FoundMessage.Split(" ") '5E8 FE 00 00 6E 00 00 00 00
try
Select Case SplitFoundMessage(1)
Case "FE"
HandleDPIDFrame(SplitFoundMessage,dpidFEpids,PIDsActive,ActiveCustomsControls) 'check controls for active pids in dpid, update controls.
Case "FD" 'ect continues on
End Select
catch ex as exception
'error reporting here...
End try


You should have an idea of what the ecu will respond with for which requests. So during setup, set the filter mask to 7EX as you have. Then once you have sent of the final message to spam all DPIDs.. just change the filter to 5DF (or 5DX is you dont care about the last byte)Jayme wrote:hmmmm ill have to figure out how to do that filter for my avt... so far ive only figured out how to set the filter mask to exclude all packets except for 7Ex. if the DPID response is 5DF, I hope I can set two filters...
Code: Select all
testerCurrentmillis = DateTime.Now.Ticks 'current time application has run
deltaMillis = (testerCurrentmillis - Testerinitialmillis) / TimeSpan.TicksPerMillisecond 'time in millis from last tester present sent
If deltaMillis >= 2000 Then 'if greater than 2000, send tester present message
Testerinitialmillis = DateTime.Now.Ticks 'reset last tester present time to now
SerialPort1.WriteLine(TesterPresentFrame)
