File Formats & Compatibility¶
This reference guide details the file formats supported by TrueFidelity for system configuration, data capture, playback, and export. Understanding these formats helps you work effectively with the platform and integrate with other tools in your workflow.
System Configuration Formats¶
TrueFidelity System Files¶
| Format | Extension | Purpose | Notes |
|---|---|---|---|
| System Definition | .json |
Complete system configuration | Contains ECUs, networks, and connections |
| DBC | .dbc |
CAN signal definitions | Industry-standard format for signal decoding |
System File Details¶
System Definition (.json) Files:
- Stores complete system topology
- Includes ECU configurations
- Network settings and DBC associations
- Created through System Design mode
- Portable between TrueFidelity installations
- Human-readable JSON format
.dbc Files:
- Vector CANdb++ format
- Defines CAN messages and signals
- Required for signal decoding
- Associates with network configuration
- Supports signal scaling and units
Supported Log Formats¶
Primary Capture Formats¶
| Format | Extension | Usage | Best For |
|---|---|---|---|
| BLF | .blf |
Vector Binary Logger format | Efficient storage, fast playback |
| MDF4 | .mf4, .mdf |
Measurement Data Format v4 | Large datasets, metadata support |
Format Characteristics¶
BLF (Binary Logging Format): - Primary format in TrueFidelity - Optimized for CAN data - Compact binary storage - Fast loading and playback - Supported by Signal Player panel
MDF4 (Measurement Data Format): - ASAM standard format - Supports multiple data channels - Includes metadata and timestamps - Good for long-duration captures - Handles large file sizes efficiently
Import Considerations¶
When importing log files:
- File Location:
- Store on local SSD for best performance
- Network drives may cause playback delays
-
Keep working copies separate from archives
-
File Size:
- BLF: Handles large files well (tested up to 2GB)
- MDF4: Efficient for very large datasets
-
Consider splitting extremely large logs
-
Timestamp Handling:
- Absolute timestamps preferred
- Relative timestamps supported
- Consistent time base required
Export Formats¶
Available Export Options¶
Traffic Export (from Network Traffic panel):
| Format | Extension | Contents | Best For |
|---|---|---|---|
| Text | .txt |
Human-readable CAN frames | Documentation, quick review |
| CSV | .csv |
Structured CAN data with timestamps | Spreadsheet analysis |
| JSON | .json |
Structured data format | Programmatic processing |
| candump | .log |
Standard CAN log format | Linux CAN tools compatibility |
Capture Recording (for longer recordings):
| Format | Extension | Contents | Best For |
|---|---|---|---|
| BLF | .blf |
Vector Binary Logger format | Industry standard, replay |
| MDF4 | .mf4 |
Measurement Data Format v4 | Large datasets, metadata |
| CSV | .csv |
Timestamped CAN frames | Simple analysis |
Other Exports:
| Export Type | Format | Extension | Exported From |
|---|---|---|---|
| Signal Data | CSV | .csv |
Signal Viewer |
| Chart Image | PNG | .png |
Signal Chart panel |
| Console Logs | Text/CSV/JSON | .txt/.csv/.json |
ECU Console |
Export Details¶
Traffic Export Formats: - Text: Plain text, human-readable format - CSV: Spreadsheet-compatible with headers - JSON: Machine-readable structured data - candump: Standard Linux CAN utilities format
Capture Recording Formats: - BLF: Vector Binary Logger format, industry standard - MDF4: ASAM standard, efficient for large datasets - CSV: Simple timestamped format
Chart Exports: - PNG format for documentation - Includes legend and axes - Exports visible time window
Data Flow¶
Typical Workflow¶
Input Files:
├── System Configuration (.json)
├── Signal Definitions (.dbc)
└── Captured Data (.blf or .mf4)
↓
TrueFidelity Processing:
├── System Loading
├── Playback/Analysis
└── Signal Decoding
↓
Output Files:
├── Analyzed Data (.csv)
├── Filtered Traffic (.csv or .blf)
└── Visualizations (.png or .pdf)
Multi-Channel Support¶
Channel Handling¶
TrueFidelity supports logs with multiple CAN channels:
- Channels identified in log files
- Each channel can have different baud rates
- DBC files associate per network
- Filter by channel in Network Traffic
- Signal Viewer shows channel source
Channel Mapping¶
When working with multi-channel logs: 1. Verify channel assignments in log 2. Map channels to networks in system 3. Apply appropriate DBC per channel 4. Use filtering to isolate channels
File Size Guidelines¶
Recommended Limits¶
| File Type | Recommended Max | Hard Limit | Notes |
|---|---|---|---|
| BLF Log | 2 GB | 4 GB | Performance degrades above 2GB |
| MDF4 Log | 5 GB | 10 GB | Memory dependent |
| CSV Export | 500 MB | 1 GB | Excel compatibility |
| System File | 10 MB | 50 MB | Complex systems |
Large File Handling¶
For files exceeding recommendations:
- Split Before Import:
- Use external tools to split
- Process in segments
-
Maintain time continuity
-
Optimize Playback:
- Close unnecessary panels
- Limit selected signals
- Clear Network Traffic periodically
-
Use filtering aggressively
-
Memory Management:
- Monitor system RAM usage
- Increase Docker memory allocation
- Process on capable hardware
Compatibility Matrix¶
Format Support by Feature¶
| Feature | BLF | MDF4 | Text/CSV/JSON | DBC |
|---|---|---|---|---|
| Playback | ✅ | ✅ | ❌ | N/A |
| Signal Decoding | ✅ | ✅ | N/A | Required |
| Multi-channel | ✅ | ✅ | ✅ | ✅ |
| Capture Output | ✅ | ✅ | ✅ (CSV only) | N/A |
| Traffic Export | ✅ | ❌ | ✅ | N/A |
| Import to TrueFidelity | ✅ | ✅ | ❌ | ✅ |
| External Tool Compatible | ✅ | ✅ | ✅ | ✅ |
Legend: - ✅ Fully supported - ❌ Not supported - N/A Not applicable
Integration with External Tools¶
MATLAB Integration¶
% Import TrueFidelity CSV export
data = readtable('exported_signals.csv');
% Access timestamp and signals
time = data.Timestamp;
signal1 = data.Signal_Name_1;
% Process and visualize
plot(time, signal1);
Python Integration¶
import pandas as pd
# Load exported CSV
df = pd.read_csv('exported_signals.csv')
# Access signals by name
timestamps = df['Timestamp']
signal_values = df['Engine_RPM']
# Analyze data
mean_rpm = signal_values.mean()
CANalyzer/CANoe¶
- Export as BLF for direct import
- Maintain timing precision
- Compatible with Vector tools
- DBC files transfer directly
File Organization Best Practices¶
Recommended Directory Structure¶
Project/
├── Systems/
│ └── test_system.json
├── DBCs/
│ ├── powertrain.dbc
│ └── chassis.dbc
├── Logs/
│ ├── Original/
│ │ ├── test_run_001.blf
│ │ └── test_run_002.mf4
│ └── Working/
│ └── filtered_subset.blf
├── Exports/
│ ├── CSV/
│ │ ├── signal_data_001.csv
│ │ └── network_traffic_001.csv
│ └── Charts/
│ ├── rpm_analysis.png
│ └── temperature_trend.pdf
└── Documentation/
└── test_reports.txt
Naming Conventions¶
System Files:
- Default name: truefidelity-system.json
- Contains complete system configuration
- Portable between installations
Log Files:
- Format: YYYYMMDD_testname_run#.blf
- Example: 20240315_brake_test_run3.blf
Export Files:
- Format: YYYYMMDD_datatype_description.csv
- Example: 20240315_signals_rpm_analysis.csv
Version Control Considerations¶
Files to Track¶
Include in Version Control:
- System files (.json)
- DBC files (.dbc)
- Test documentation
- Analysis scripts
- Small reference logs
Exclude from Version Control: - Large log files (>100MB) - Temporary exports - Generated charts (regenerate instead) - Working copies of logs
Git Example¶
.gitignore for TrueFidelity project:
# Large log files
*.blf
*.mf4
*.mdf
# Temporary exports
exports/temp/
*.tmp.csv
# Keep small test logs
!test_data/*.blf
# Keep system and DBC files
!systems/*.json
!*.dbc
Troubleshooting File Issues¶
Common Problems and Solutions¶
File Won't Load¶
Symptom: Error when loading BLF or MDF4
Solutions: 1. Check file isn't corrupted (verify size) 2. Ensure sufficient disk space 3. Verify file permissions 4. Try copying to local drive 5. Check format version compatibility
Signal Decoding Fails¶
Symptom: Signals show as raw values
Solutions: 1. Verify DBC file is loaded 2. Check DBC matches log file 3. Ensure CAN IDs align 4. Verify signal definitions exist 5. Check byte order settings
Export Fails¶
Symptom: Cannot export data
Solutions: 1. Check disk space 2. Verify write permissions 3. Close file in other applications 4. Reduce export size 5. Try different format
Large File Performance¶
Symptom: Slow loading or playback
Solutions: 1. Use SSD storage 2. Increase available RAM 3. Close other applications 4. Filter before export 5. Split file externally
Known Limitations¶
Current Restrictions¶
- Import Formats:
- No direct CSV import for playback
- ASCII log formats not supported
-
Encrypted logs must be decrypted externally
-
Export Limitations:
- No MDF4 export option
- Chart exports limited to visible window
-
No batch export automation
-
Size Constraints:
- Performance degrades with very large files
- Memory limitations for simultaneous logs
- Export size limited by available RAM
Workarounds¶
For Unsupported Formats: - Use external converters to BLF/MDF4 - Process through intermediate tools - Contact support for conversion assistance
For Size Issues: - Pre-filter logs before import - Process in segments - Use dedicated analysis hardware
Future Compatibility¶
Roadmap Considerations¶
While not currently supported, future versions may include: - Additional import formats - Enhanced export options - Streaming for large files - Cloud storage integration - Automated conversion tools
Check release notes for updates to format support.
Summary¶
TrueFidelity's file format support focuses on:
- System Configuration: JSON files for complete system definition
- Signal Definitions:
.dbcfiles for CAN signal decoding - Log Formats: BLF and MDF4 for efficient data capture and playback
- Export Options: CSV for analysis, BLF for replay, PNG/PDF for documentation
Understanding these formats and their appropriate use cases ensures efficient workflow and successful integration with your existing toolchain.
Related Documentation¶
- System Design Guide - Creating and managing system JSON files
- Playback Analysis - Working with BLF and MDF4 logs
- Signal Viewer - Using DBC files for decoding
- Performance Guide - Optimizing for large files