SavvyCAN


SavvyCAN is ideal for analyzing raw and/or DBC decoded CAN bus data.

You can stream CAN data via USB from the CANmod.


Installation

Windows: Download below build (which includes the relevant plugin).

Windows

Connect your interface

  1. Setup your device to stream data (see the Stream section)
  2. Click ‘Connection/Open Connection Window/Add New Device Connection’
  3. Select ‘QT SerialBus Devices/csscan’ and the relevant COM port[1]
  4. Click ‘Create New Connection’ - the raw data stream should now appear in the main window

Note

For the CANmod.router you can connect up to 4 of the ‘virtual channels’ one-by-one to stream demuxed data - as if directly connected to the secondary CAN interfaces

Note

The bit-rate is controlled via the device configuration - it cannot be controlled via SavvyCAN


Main window

Below we outline a number of key functionalities of the main window:

  • Auto Scroll Window: Toggle if the window should scroll with the data (streaming only)
  • Overwrite Mode: Show only a single line for each unique ID (with the latest frame information)
  • Interpret Frames: Use the loaded DBC to decode matched frames (see the Data column)
  • Frame Filtering: Show/hide specific CAN IDs

Load DBC file(s)

To load a DBC file, click File/DBC File Manager/Load and set the ID match criteria (Exact). You can toggle DBC decoding via the ‘Interpret Frames’ button.


Export DBC decoded data to CSV

You can export the decoded frames to CSV via ‘File/Save Decoded Frames CSV’.

Note

Youu can optionally filter the exported data via the Frame Filtering section.


Useful analysis tools

Below we outline some of the ‘RE Tools’ that can be useful for analysis. For a more detailed documentation, see the above links for the official docs.

Graph Data

This lets you plot specific CAN signals in real-time. Simply right click the plot and select ‘Add new graph’. You can select a signal based on your DBC file. You can also right-click the graph to reset the view and/or follow the end of the graph (for streaming).


Transmit custom CAN frames

You can transmit custom CAN frames in real-time via SavvyCAN in multiple ways.

Danger

Transmitting data via CAN bus can be dangerous. Do not transmit data into your CAN bus unless your setup is safe and you are 100% sure that you know what you are doing

Custom frame sender

This tool is embedded in the main window and lets you specify one or more custom CAN frames to be transmitted. You can specify the ID, bus, payload, frequency - and even apply ‘modifications’ to customize the payload.

Example settings for sending a static CAN frame every 1000 ms:

En: Click the checkbox to enable
Bus: 0
ID: 0x123
Data: 0x00 0x11 0x22 0x33 0x44 0x55 0x66 0x77
Interval: 1000

Playback

The Playback window lets you load a CAN bus log file (e.g. from a CLX000/CANedge by converting it to Vector ASC) - and replay it onto a CAN bus. This can be useful in e.g. reverse engineering use cases or simulation. You can use the ‘original frame timing’ when playing it back and optionally filter the data to only replay a subset of the CAN frames.


[1]If you have multiple interfaces connected in parallel, you can find their COM ports by opening your Device Manager/COM ports overview