Skip to content
QT based cross platform canbus tool
C++ HTML JavaScript Other
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bus_protocols Fixes to ISO-TP decoding Sep 19, 2019
connections More changes meant just to fix up compiler warnings. Aug 9, 2019
dbc Adding types to allow for saving and loading of little endian floats Dec 10, 2019
docs Switched from QtHelp to using straight HTML files for help. Aug 18, 2019
examples Add some scripting examples Dec 10, 2017
help Switched from QtHelp to using straight HTML files for help. Aug 18, 2019
icons More TravisCI fixes. Aug 4, 2019
images More implementation of the signal editor. It is nearly 100% functiona… Jul 11, 2015
re [graphing] Ignore RTR messages Dec 6, 2019
test add main for tests Jun 24, 2016
ui - Save DBC file configuration when changed, and restore it when resta… Aug 11, 2019
utils Fixed up a bunch of compiler warnings. Aug 9, 2019
.gitignore Ignore generated files. Oct 22, 2017
.travis.yml Fix travisci build for OSX Aug 18, 2019
LICENSE Initial commit Apr 28, 2015
README.md adding instructions on how to compile in debug mode, and how to resol… May 15, 2019
SavvyCAN.desktop More TravisCI fixes. Aug 4, 2019
SavvyCAN.pro Update travisci config to use new help files (hopefully), fix up some Aug 18, 2019
bisectwindow.cpp add setWindowFlags(Qt::Window) to improve window management Feb 13, 2019
bisectwindow.h Integrated help into the system. Most all the sub-screens that are ac… Dec 1, 2017
blfhandler.cpp Better support for loading BLF files. Now files with uncompressed por… Aug 1, 2019
blfhandler.h Better support for loading BLF files. Now files with uncompressed por… Aug 1, 2019
can_structs.cpp Another fix for a graphing crash, added some prelim. stuff for UDS Feb 8, 2016
can_structs.h More changes meant just to fix up compiler warnings. Aug 9, 2019
can_trigger_structs.h Added bitwise not and modulus division to the list of operations you Nov 23, 2015
candatagrid.cpp Add more customization support to CANDataGrid. Used that new function… Aug 2, 2019
candatagrid.h Add more customization support to CANDataGrid. Used that new function… Aug 2, 2019
canfilter.cpp Fixed up ability to send frames while not connected and to show frames Dec 1, 2015
canfilter.h Many changes to improve UDS decoding. Oct 12, 2017
canframemodel.cpp More fixes for compiler warnings - cleaning up code and making assump… Aug 13, 2019
canframemodel.h - Save DBC file configuration when changed, and restore it when resta… Aug 11, 2019
config.h Allow many places to load and save the last directory used for that f… Jun 18, 2019
filterutility.cpp - Save DBC file configuration when changed, and restore it when resta… Aug 11, 2019
filterutility.h - Save DBC file configuration when changed, and restore it when resta… Aug 11, 2019
firmwareuploaderwindow.cpp add setWindowFlags(Qt::Window) to improve window management Feb 13, 2019
firmwareuploaderwindow.h Changed the way the filter system works in the CAN connection objects… Dec 30, 2016
framefileio.cpp Fix Decoding of Canalzyer ASC files Nov 11, 2019
framefileio.h Add support for lawicel logs Oct 2, 2019
frameplaybackobject.cpp Fix for segfault when trying to use playback window without anything Feb 15, 2019
frameplaybackobject.h Moved a lot of the frame playback window functionality to a new class… Nov 9, 2017
frameplaybackwindow.cpp Switched from QtHelp to using straight HTML files for help. Aug 18, 2019
frameplaybackwindow.h Integrated help into the system. Most all the sub-screens that are ac… Dec 1, 2017
framesenderwindow.cpp Fixed up a bunch of compiler warnings. Aug 9, 2019
framesenderwindow.h Fix crash when loading grid in custom sender. Fix a few other issues … Dec 15, 2017
helpwindow.cpp Switched from QtHelp to using straight HTML files for help. Aug 18, 2019
helpwindow.h Switched from QtHelp to using straight HTML files for help. Aug 18, 2019
helpwindow.ui Integrated help into the system. Most all the sub-screens that are ac… Dec 1, 2017
icons.qrc Addition of a playback form - used to play back a log file onto one o… May 6, 2015
images.qrc More implementation of the signal editor. It is nearly 100% functiona… Jul 11, 2015
install.sh Added an "installer" for Linux that creates desktop and application Jul 19, 2015
jsedit.cpp Removed dependency on QScintilla, switched to jsedit Aug 7, 2017
jsedit.h Removed dependency on QScintilla, switched to jsedit Aug 7, 2017
main.cpp #196: fix persistent settings on Ubuntu 19.04 Jun 11, 2019
mainsettingsdialog.cpp Switched from QtHelp to using straight HTML files for help. Aug 18, 2019
mainsettingsdialog.h #196: fix persistent settings on Ubuntu 19.04 Jun 11, 2019
mainwindow.cpp Reformat status bar on main window and add text to explain F1 usage Aug 18, 2019
mainwindow.h Reformat status bar on main window and add text to explain F1 usage Aug 18, 2019
motorcontrollerconfigwindow.cpp add setWindowFlags(Qt::Window) to improve window management Feb 13, 2019
motorcontrollerconfigwindow.h Changed motor controller config window to target Rinehart Motion cont… Aug 11, 2017
qcustomplot.cpp Update the embedded QCustomPlot files to the newest release. Apr 14, 2019
qcustomplot.h Update the embedded QCustomPlot files to the newest release. Apr 14, 2019
qt-installer-windows.qs Update qt-installer-windows.qs Dec 11, 2019
scriptcontainer.cpp Switched from QtHelp to using straight HTML files for help. Aug 18, 2019
scriptcontainer.h ISOTP and Scripting bug fixes Feb 4, 2018
scriptingwindow.cpp Fixed up a bunch of compiler warnings. Aug 9, 2019
scriptingwindow.h Integrated help into the system. Most all the sub-screens that are ac… Dec 1, 2017
signalviewerwindow.cpp Implemented the signal viewer and enabled it in the menu. Apr 16, 2019
signalviewerwindow.h Implemented the signal viewer and enabled it in the menu. Apr 16, 2019
utility.cpp Some bug fixes, much more work on ISOTP/UDS decoder window. Oct 13, 2017
utility.h More fixes for compiler warnings - cleaning up code and making assump… Aug 13, 2019

README.md

SavvyCAN

Qt based cross platform canbus tool (C) 2015-2018 EVTV and Collin Kidder

A Qt5 based cross platform tool which can be used to load, save, and capture canbus frames. This tool is designed to help with visualization, reverse engineering, debugging, and capturing of canbus frames.

Really requires at a resolution of at least 1024x768. Fully multi-monitor capable. Works on 4K monitors as well.

You are highly recommended to use the CANDue board from EVTV.

The CANDue board must be running the GVRET firmware which can also be found within the collin80 repos.

It is now possible to use any QT SerialBus driver (socketcan, Vector, PeakCAN, TinyCAN). There may, however, be some loss of some functionality as some functions of SavvyCAN are designed for use directly with the EVTVDue and CANDue 2.0 boards.

It should, however, be noted that use of a capture device is not required to make use of this program. It can load and save in several formats:

  1. BusMaster log file
  2. Microchip log file
  3. CRTD format (OVMS log file format from Mark Webb-Johnson)
  4. GVRET native format
  5. Generic CSV file (ID,D0 D1 D2 D3 D4 D5 D6 D7)
  6. Vector Trace files
  7. IXXAT Minilog files
  8. CAN-DO Logs
  9. Vehicle Spy log files
  10. CANDump / Kayak (Read only)
  11. PCAN Viewer (Read Only)

Dependencies

Now this code does not depend on anything other than what is in the source tree or available from the Qt installer.

Uses QCustomPlot available at:

http://www.qcustomplot.com/

However, this source code is integrated into the source for SavvyCAN and one isn't required to download it separately.

This project requires 5.8.0 or higher because of a dependency on QSerialBus. However, you will get even more SerialBus goodness if you use QT 5.11 or 5.12

Instructions for compiling:

Download the newest stable version of Qt directly from qt.io (You need 5.8.x or newer)

cd ~

git clone https://github.com/collin80/SavvyCAN.git

cd SavvyCAN

~/Qt/5.8/gcc_64/bin/qmake

make

Now run SavvyCAN

./SavvyCAN

Compiling in debug mode for additional information

qmake CONFIG+=debug

make

What to do if your compile failed?

The 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 libqt5serialbus5-dev qtdeclarative5-dev qttools5-dev

You can’t perform that action at this time.