A powerful DBC file comparison tool with a beautiful GUI
TwinCAN is a modern, user-friendly application designed to compare DBC (Database CAN) files side-by-side. Perfect for automotive engineers, embedded systems developers, and anyone working with CAN bus networks.
- Message-level comparison: ID, ID-Format, DLC, Cycle Time, Transmitter
- Signal-level comparison: Length, Byte Order, Value Type, Initial Value, Start bits, Multiplexer, factor, offset, min/max values, unit, Signal Descriptions
- CSV Export: Save comparison results for further analysis
- Structured Output: Organized by type, message, signal, and field differences
- Ready for Excel: Import directly into spreadsheet applications
- Fast Parsing: Efficient DBC file processing with regex-based parsing
- Memory Efficient: Optimized for large DBC files
- Cross-platform: Runs on Windows, and Linux
-
Clone this repository
-
Run the application:
cargo run
-
Start comparing your DBC files!
# Clone the repository
git clone https://gitlab.com/JP-Makers/twincan.git
cd TwinCAN
# Build and run
cargo build --release
cargo run --releaseArch AUR:
yay -S twincanparu -S twincan- Click "📂 Browse..." for DBC File 1
- Select your first DBC file
- Click "📂 Browse..." for DBC File 2
- Select your second DBC file
- Click "⚡ Compare Files" button
- View results in the comparison table below
- Results are organized by:
- Type: Message or Signal
- Message: CAN message name
- Signal: Signal name (if applicable)
- Field: What property differs
- DBC1/DBC2: Values from each file
- Click "📊 Export to CSV" to save results
- Choose location for your CSV file
- Open in Excel or any spreadsheet application
We welcome contributions! Here's how you can help:
- 🐛 Report Bugs: Open an issue with detailed information
- 💡 Suggest Features: Share your ideas for improvements
- 🔧 Submit PRs: Fork, develop, and submit pull requests
- 📖 Improve Docs: Help make our documentation better
- 🐛 Issues: Git Issues
- 📧 Contact: Open an issue for questions
Made with ❤️ and Rust