Supported Log Formats

File types accepted by the Load Logs dialog

Extension ECU / Source Format Notes
.csv ME, Haltech, ECUMaster, generic Text (comma/semicolon/tab) ECU type is auto-detected from column headers. Delimiter and encoding are detected automatically. A units row below the header is skipped automatically.
.log ME, Haltech, generic Text Same auto-detection as .csv. Haltech logs begin with a %DataLog% metadata preamble which is parsed for channel types and scaling.
.mlg MegaSquirt Binary (MegaSquirt MLG) Proprietary binary format from MegaSquirt datalogging firmware. Fully supported.
.msl MegaSquirt Text Text log exported from TunerStudio or MegaLogViewer.
.mslog MegaSquirt Text Alternative text log format from MegaSquirt tools.
.llg Link ECU Binary (LLG) Binary log from Link G4+ / G4X. Channel names are stored as UTF-16 LE strings; float32 value/time pairs are forward-filled to a common timeline.
.llg5 Link ECU Binary (LLG5) Same binary structure as .llg; identified by a different magic value at offset 4. Fully supported.
.llgx Link ECU Binary (LLGx) Extended Link log format.
.hlgzip Haltech Encrypted archive Haltech encrypted log archive. Supported — channels and scaling are extracted from the embedded metadata.
.xlsx Any / generic Excel spreadsheet The first row is treated as channel headers. Useful when log data has been processed in Excel before import.

ECU type auto-detection

DigiTune GTS detects the ECU type from a combination of the file extension and the column headers found in the log. For text-based formats, it scores each ECU type by how many of its known channel names appear in the header and picks the highest match. This means even unusual exports or renamed columns are usually identified correctly.

If a column name is not recognised as a canonical channel, it is stored as a raw channel and is still available in the Log Viewer for inspection, but will not be used in tuning calculations.

Multiple log files

When more than one log is loaded and included, DigiTune GTS merges them into a single time-series for analysis. Each log's time axis is normalised to start from zero and the logs are concatenated end-to-end. Any channel missing from one log is filled with NaN (no data) for that segment. Vertical divider lines in the Log Viewer mark where each log ends.

Channel normalisation

Each ECU uses different names for the same signals. DigiTune GTS maps these onto a set of canonical channel names (RPM, MAP, TPS, CLT, IAT, AFR, Lambda, Knock, etc.) so that all tuning pages work identically regardless of ECU type. The mapping is case-insensitive and tolerates minor variations in punctuation and spacing.