Skip to content

nickdaria/CANalysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CANalysis

Easy-to-use C# library for parsing, filtering, analysis, and export of CAN & CAN-FD data including transport protocols like ISO-TP and UDS.

Note

CANalysis is still undergoing early development. It is subject to agiile breaking changes for upcoming features like DBC functionality.

Parsing

CAN data can be fed into the library programatically, or via parsers for popular formats:

  • SavvyCAN GVRET CSV

more formats coming soon

Filtering

Lambda filters can be used to easily slim down to the desired data set for analysis

// Filtering by ID and data length
var filteredFrames = new CANFrameFilter()
    .ByID(id => id == 0x123 || id == 0x456)
    .ByLength(length => length == 2)
    .Apply(frames);

Analysis

Various built-in analysis tools are provided for common use-case scenarios

  • ISOTP.ReadTransmissions identifies and parses all valid ISO-TP communications
    • Single-frame & multi-frame
    • Ordered by first frame, can handle multiple concurrent transmissions
    • It is suggested to filter input to known UDS/ISO-TP IDs to prevent false positives

more broadcast bit-based tools coming soon

Export

Parsed or filtered/analyzed output can be used programatically, or exported to a file in any format that CANalysis can parse. If no operations are made, this means CANalysis can effecively be used as a file format converter.

About

C# Library & CLI for loading and analyzing CAN log files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages