Need to DBC-convert or plot your MDF4 CAN data?
The CANedge logs raw CAN/LIN data to an SD card inthe popular ASAM MDF4format (MF4).
MDF4 is supported by the 100% free open source asammdf GUI/API. This lets you easily load,edit, scale and plot your data.
Learn more below - and try asammdf yourself!
See also our 2 min intro video above!
MF4 SUPPORT
Directly load raw MF4 data from the CANedge and quickly review
DBC DECODE
Scale your data to physical values via DBC files (incl. J1939, OBD2)
VISUAL PLOTS
Easily create advanced graphical timeseries plots of your data
POWERFUL
Options include e.g. resampling, concatenation, filtering, exporting
WINDOWS/LINUX
The asammdf GUI/API can be used on both Windows and Linux
API
Use the open Python API to programmatically process your data
DBC DECODE
SIGNAL SEARCH
CREATE PLOTS
EXPORT
AUTOMATE VIA API
OPEN SOURCE
Load & review your CANedge raw MF4 log files
The asammdf tool can directly load the CANedge MF4 log files. This lets you e.g. quickly review the rawdata in the tabular display (incl. filtering options)
DBC decode your raw data to physical values
You can easily scale your data via DBC files (incl. J1939/OBD2) to create a new MF4 file withphysical values for export, plotting & analysis.
Easily find signals of interest via search
The asammdf GUI lets you easily search for signals of interest for quick plots. You can also double clicksignals to view DBC meta info.
Easily create visual plots incl. GPS positioning
Once your raw CANedge data has been DBC-decoded, you can quickly create advanced timeseries plots forgraphical analysis and exporting.
Export raw or converted data
You can export your raw or DBC decoded MF4 data to e.g. CSV or MAT (MATLAB) - with optionalsignal filtering and resampling.
Automate data processing via the API
The asammdf Python API is simple-to-use and makes it easy to automate processing of MF4 files.See also our github API examples library.
from asammdf import MDF
mdf = MDF.concatenate(["00000001.MF4", "00000002.MF4"])
mdf_scaled= mdf.extract_can_logging("j1939.dbc",ignore_invalid_signals=True)
mdf_scaled.export("csv", filename="phys-val", time_as_date=True, single_time_base=True)
100% free and open source
The asammdf tool is developed and actively maintained by Daniel Hrisca and has a great community - checkout the asammdf github page (2K+ commits, 200+stars, 100+ forks).
Want to try out asammdf yourself? Download the executable and our MDF4/DBC samplesbelow:
DownloadasammdfGUIDownload MF4 data
Diagnostics of data from blackbox CAN logger
Need to quickly trace and diagnose an issue?
If you want to review data from e.g. 20 MF4 log files from your CANedge, simply concatenateand DBC-convert them via the asammdf GUI. From here, you can create quick visual data plots (incl.calculated fields), filter the data in the column style 'tabular view' or export to e.g. CSV/MAT for furtheranalysis.
Process vehicle fleet data from your S3 server
Need to easily process data from your server?
If you're using a CANedge2 (WiFi) orCANedge3(3G/4G) to auto-push your MF4 log files to an S3 server, you can use an S3 drive tool to map your S3bucket as a local network drive. This in turn lets you easily drag & drop files into your asammdf GUI - asif they were stored locally, enabling quick and seamless analysis across a fleet of devices.
FAQ
No, the asammdf GUI can be downloaded as an executable for Windows/Linux here.Simply double-click to open it.
If you wish to use the asammdf API, you'll need to install Python and then install asammdf using pip - seeour shortguide.
Yes, asammdf is designed for speed - see e.g. the asammdf benchmarking tests.
The asammdf GUI is designed for cross-platform ad hoc analysis of CAN bus data. It can be quickly installed on aWindows/Linux PC either via the pre-built GUI executable or by installing via pip. It is a usefulgeneral-purpose tool for analysing and visualizing both raw and DBC decoded CAN bus data.
However, asammdf is not designed for visualization of CAN signals in your browser. For this purpose, see insteadour intro to telematicsdashboards, where we show how to use our MF4 Python API to set up free open source browser dashboards tovisualize your CAN data.
This depends on your use case and preferences. For some users, asammdf will be more than sufficient - while forothers, it may be necessary or more practical to use e.g. CANalyzer or other existing tools.
If you prefer to use your existing favorite CAN tools, that's not an issue - see our MDF4 converters.
The asammdf DBC functionality utilizes the popular canmatrixlibrary and supports most of the DBC functionality - e.g. complex multiplexing, J1939 PGNs, OBD2 etc. It doesnot support conversion of multi-frame packets.
The DBC conversion also has a powerful option to exclude 'invalid signals', i.e. signals with data bytes paddedas FF. This means that you can load e.g. a J1939 DBC with thousands of signals - but only get the relevant datareturned.
If you need to load, edit or create new DBC files, see also our online DBC file editor.
The asammdf GUI lets you visualize raw CAN data, meaning that you'll be able to view and analyze the raw CANframes involved in ISO-TP (Transport Protocol) communication flows. This can be useful for e.g. identifyingrequest frames, first frames, flow control frames and consequtive frames for later analysis.
The asammdf GUI does not, however, support e.g. linking together multiframe responses from e.g. UDS (UnifiedDiagnostic Services) or J1939ISO-TP. For this purpose, you can however use our MF4 converters to convert yourraw log files to e.g. Vector ASC (for processing in CANalyzer), or you can use our MF4 Python API to process transport protocolcommunication (incl. UDS and J1939 transport protocol examples).
Yes, asammdf lets you load raw LIN bus data and show it in a 'tabular display' to analyse the raw LIN frames.Further, you can create a LIN DBCfile to decode the raw LIN bus frames into human-readable form (physical values). Typically you wouldconstruct a LIN bus DBC file based on a LINDescription File (LDF).
SavvyCAN is the main software toolfor our CLX000series. As part of the functionality, SavvyCAN supports conversion of log files via DBC to human-readable form.
The asammdf GUI/API is one of the possible tools for use with the CANedge (see also our MDF4 converters for fullinteroperability). In many ways, the asammdf GUI is like the SavvyCAN 'interpret' functionality, but just withextendedfeatures (e.g. better graphical plots, more extensive DBC features, more exports etc).
Further, the asammdf API enables easy programmatic processing of log files, which is a big advantage in theCANedge vs. the CLX000 - and means that it's possible to process data automatically and at scale. In addition,for the CANedge2, the S3 Python API can be used together with the asammdf API to set up advanced use cases. Forinspiration, see our API examples on github.
The asammdf GUI/API is developed and maintained by Daniel Hrisca, who does a great job on the tool. It isactively managed and has a large community that uses it daily.
We do not contribute directly to asammdf, except for a few small tweaks (e.g. to support MDF4 data from theCANedge natively). We do however actively provide suggestions and feedback to the asammdf team based on userinputs.
If you have suggestions, you can either contact usor raise an issue on the asammdf github page directly.
Ready to process your CAN data in asammdf?
Get your CANedge today!
Buy nowContact us
Recommended for you
CANEDGE1 - PRO CANLOGGER
CANEDGE2 - PROCAN IoT LOGGER
SIMPLE-TO-USE MDF4CONVERTERS
Use left/right arrows to navigate the slideshow or swipe left/right if using a mobile device