Qt‑based cross‑platform CAN bus tool
(C) 2015‑2024 Collin Kidder, updated for Qt 6 by Rahibd
This is a fork of SavvyCAN updated to compile and run cleanly under Qt 6.9.3 (MinGW 64).
It provides the same functionality as upstream SavvyCAN but with fixes for Qt 6 compatibility.
- Fixed
qsizetypevsintmismatches (std::min,std::max). - Removed deprecated
QSerialPorterror enums (ParityError,FramingError,BreakConditionError). - Adjusted string handling (
unsigned char→QChar). - Verified compilation on Windows with Qt 6.9.3.
SavvyCAN_QT6 can be used to load, save, and capture CAN bus frames.
It helps with visualization, reverse engineering, debugging, and capturing of CAN bus traffic.
- Fully multi‑monitor capable, works on 4K monitors.
- Supports multiple capture devices (CANDue, GVRET firmware, and any Qt SerialBus driver: socketcan, Vector, PeakCAN, TinyCAN).
- Capture device not required — can load/save in several formats:
- BusMaster log file
- Microchip log file
- CRTD format (OVMS log file format from Mark Webb‑Johnson)
- GVRET native format
- Generic CSV file (ID, D0–D7)
- Vector Trace files
- IXXAT Minilog files
- CAN‑DO Logs
- Vehicle Spy log files
- CANDump / Kayak (Read only)
- PCAN Viewer (Read only)
- Wireshark socketcan PCAP file (Read only)
- Qt 6.9.3 (MinGW 64) or newer
- QCustomPlot (already integrated into source)
- Download Qt 6.9.3 with MinGW 64.
- Clone this fork:
git clone https://github.com/rahibd/SavvyCAN_QT6.git cd SavvyCAN_QT6 - Run qmake and build: ~/Qt/6.9.3/mingw_64/bin/qmake mingw32-make
- Run SavvyCAN: ./SavvyCAN On Linux systems you can run ./install.sh to create a desktop shortcut.
qmake CONFIG+=debug
makeThe very first thing to do is try:
qmake
make clean
make
Did that fix it? Great! If not, ensure that you selected SerialBUS support when you installed Qt.
What to do if qmake fails with error Project ERROR: Unknown module(s) in QT: qml serialbus help on Ubuntu? :
sudo apt install libqt6serialbus6-dev libqt6serialport6-dev qtdeclarative5-dev qttools5-dev
License
GPLv2/GPLv3 (same as upstream SavvyCAN).
nodes by Adrien Coquet from the Noun Project
message by Vectorstall from the Noun Project
signal by shashank singh from the Noun Project
signal by juli from the Noun Project
signal by yudi from the Noun Project
Death by Adrien Coquet from the Noun Project