collin80 / SavvyCAN

QT based cross platform canbus tool
MIT License
1.04k stars 288 forks source link

(csv) Export from ISO-TP Decoder.... #830

Open Mr-MIBonk opened 3 months ago

Mr-MIBonk commented 3 months ago

Thank's a lot! But i think there is somesthing wrong... my original full CAN Log file is raound About 6MB, after iunselected some Frames the Export File is larger den 4GB(!) and i can't open it yet in Texteditor because it is to large. I think the different between 6MB input and 4GB output looks like some issue in export functionaly.

Originally posted by @Mr-MIBonk in https://github.com/collin80/SavvyCAN/discussions/829#discussioncomment-10333510

cschweers commented 3 months ago

I also did a quick test and it seems to me that the feature works as intended, but it may not be what you expected.

A small 413k binary trace (blf type) produces a 339966k text file (size factor about 823). The reason for this is how the data is interpreted and written to the text file.

You could try to reduce the size by deselecting the IDs you are not interested in, or maybe you should be more precise about what you expect as output?

Example output:

886466 680fe 0x3E 0x80 

UDS Request
Service: Tester is present

*********************************************************
886466 680fe 0x3E 0x80 

UDS Request
Service: Tester is present

*********************************************************
4882523 680fe 0x3E 0x80 

UDS Request
Service: Tester is present

*********************************************************
886466 680fe 0x3E 0x80 

UDS Request
Service: Tester is present

*********************************************************
4882523 680fe 0x3E 0x80 

UDS Request
Service: Tester is present

*********************************************************
8878587 680fe 0x3E 0x80 

UDS Request
Service: Tester is present

*********************************************************
886466 680fe 0x3E 0x80 

UDS Request
Service: Tester is present

*********************************************************
4882523 680fe 0x3E 0x80 

UDS Request
Service: Tester is present

*********************************************************
8878587 680fe 0x3E 0x80 

UDS Request
Service: Tester is present

*********************************************************
11317790 680fe 0x10 0x03 

UDS Request
Service: Diagnostic session control
Session Request: Extended Diagnostics Session
*********************************************************
886466 680fe 0x3E 0x80 

UDS Request
Service: Tester is present

*********************************************************
4882523 680fe 0x3E 0x80 

UDS Request
Service: Tester is present

*********************************************************
8878587 680fe 0x3E 0x80 

UDS Request
Service: Tester is present

*********************************************************
11317790 680fe 0x10 0x03 

UDS Request
Service: Diagnostic session control
Session Request: Extended Diagnostics Session
*********************************************************
11319510 6d100 0x50 0x03 0x00 0x32 0x01 0x90 

UDS Positive Response
Service: Diagnostic session control
Session Request: Extended Diagnostics Session
P2MAX (Max Wait / Resp Time): 768ms
P2 Ext MAX: 128010ms
*********************************************************
886466 680fe 0x3E 0x80 

UDS Request
Service: Tester is present

However, there seems to be a small problem with the decoding of the diagnostic session control response. According to ISO14229-1 the sessionParameterRecord[] is defined as [ P2Server_max (high byte) P2Server_max (low byte) P2*Server_max (high byte) P2*Server_max (low byte) ] which converts to a P2MAX (Max Wait / Resp Time) of 50ms and a P2 Ext MAX of 4000ms.

collin80 commented 3 months ago

Yes, the file size is going to be pretty large because it outputs as much about the UDS messages as it can. So, some messages expand a lot.

As for the bug, yes, there is probably something to that. I always thought that the values looked a bit odd. I'll have to look at that.