MF4 to CSV Decoder
The CSV decoder stores the decoded output as CSV files.
The CSV output format has wide tool support but is generally inefficient (slow and big).
Output
The CSV output data-schema always include an epoch-timestamp column named t
. The remaining column names are constructed from the database used for decoding, as in the example below:
t,Speed,SpeedAccuracy,SpeedValid
1650636883.519250,0.010000,2.006000,1.000000
1650636884.090300,0.010000,2.152000,1.000000
1650636885.041350,0.010000,2.290000,1.000000
1650636886.090500,0.010000,2.419000,1.000000
Note
Output values are always formatted as decimal numbers with 6 decimal places.
If specific values exceed the MIN/MAX as defined in the database, they are included in the output as NaN
, as in the example below:
t,Speed,SpeedAccuracy,SpeedValid
1650636883.519250,0.010000,NaN,1.000000
1650636884.090300,0.010000,NaN,1.000000
1650636885.041350,0.010000,NaN,1.000000
1650636886.090500,0.010000,NaN,1.000000
Warning
Output rows are skipped if all values are NaN
.
Performance
Below table provides some performance numbers for different input / output scenarios.
Input records |
Input size total (MB) |
Input files (#) |
Output size total (MB) |
Output files |
Exe time (s) |
Exe peak memory (MB) |
Note |
---|---|---|---|---|---|---|---|
10.000.000 |
190 |
1 |
858 |
1 |
11 |
193 |
One input file one output file |
10.000.000 |
292 |
1000 |
858 |
1 |
10 |
3 |
Many input files one output file |
10.000.000 |
190 |
1 |
858 |
1000 |
11 |
199 |
One input file many output files |
Note
All tests have been performed using default input arguments on a Intel Xeon @ 3.4 GHz running Linux (x86_64)
Changelog
# Changelog
All notable changes to this project will be documented in this file.
## [24.10.17]
### Added
- Support for transport protocols (ISO-TP, J1939-21, NMEA-TP, MUX-TP)
### Changed
- Versioning schema from SemVer to CalVer
- Default verbosity level changed to 2
- Restriction on max 5 DBC-files per interface/channel removed
## [2.3.2]
### Fixed
- Issue with merge of PGN source/destination addresses sometimes resulting in invalid output files
## [2.3.1]
### Added
- Support for float and double data types (defined in DBC file)
- Option to merge PGN source-address outputs
- Option to merge PGN destination-address outputs
### Changed
- DBC file message with name "VECTOR__INDEPENDENT_SIG_MSG" ignored
- DBC file empty attribute "BusType" now defaults to "CAN-bus"
- Improved error text on invalid output dir
- Improved error text on colliding message keys
## [2.2.2]
### Added
- Support for "signed" data type
- Support for compacted JSON password file
## [2.2.1]
### Added
- Input argument "dbdump" to dump loaded database to JSON-file
### Fixed
- Better handling of special characters in DBC-file
Download
Windows AMD64 / x86-64 (64-bit)
- 24.10.17.zip (MD5:
8edb8776f6deb13bde964d1b65415108
) - 2.3.2.zip (MD5:
f2d213a3c0269c45830b338081a2f28c
) - 2.3.1.zip (MD5:
eb85dc50fe24f2889774a31d731ef0c2
) - 2.2.2.zip (MD5:
f7b16cc4efa3c5777606a2fcf737056b
) - 2.2.1.zip (MD5:
a025a8ce4ebe245690a1e92b66a100c3
) - 2.1.1.zip (MD5:
6409cb1252463cde39f358532887c5e1
)
Linux AMD64 / x86-64 (64-bit)
- 24.10.17.zip (MD5:
1559dda936c2138d93674fb4976d2c95
) - 2.3.2.zip (MD5:
cfbf355bbd013d9e41807d9912569538
) - 2.3.1.zip (MD5:
fa826aa7f69ffae7b59446f8d8c2cd53
) - 2.2.2.zip (MD5:
ed51c25e18c4c078e118961b4ccc4c45
) - 2.2.1.zip (MD5:
81016fe0e14f9754d2c29f761daee3f6
) - 2.1.1.zip (MD5:
e8e7b58a17157342994b1f489ab275e6
)
Linux ARM64 (64-bit)
- 24.10.17.zip (MD5:
279791cfa1f95a97bf16ac41fe85b30d
) - 2.3.2.zip (MD5:
1de3a3ee3835ba380a477bf32d828d85
) - 2.3.1.zip (MD5:
aa2eb80f940fdebef03a49ce5b49de2c
) - 2.2.2.zip (MD5:
7b53828bafe730731b1fae7463e028b2
) - 2.2.1.zip (MD5:
466f25137740764b4a34487aca1745d5
) - 2.1.1.zip (MD5:
b7d2d929a38d12f7dfcc72464bacc689
)