Skip to content

CANtrip v1.0.0 - Yukari

Choose a tag to compare

@avmolaei avmolaei released this 06 Jul 14:11

CANtrip v1.0.0 - Yukari

The first release. CANtrip is a free, open-source alternative to Vector
CANalyzer for viewing CAN / CAN FD bus traffic on Windows, decoding it
against DBC files, and plotting signals over time - built on top of
Wireshark's own capture pipeline rather than reimplementing CAN dissection
from scratch.

What's new since v0.5_Sawako

  • Fixed: DBC import failing on real-world DBC files. The bundled DBC
    parser (dbcppp) only recognized the keyword FILTER in all-caps, but
    real DBC files from at least one major OEM toolchain emit Filter in
    mixed case - which silently broke parsing of an otherwise perfectly valid
    file. Confirmed and fixed against real production DBC files.
  • DBC import errors are no longer a black box. If a .dbc file still
    fails to import, CANtrip now shows the parser's actual error (which line/
    token it choked on) instead of a generic "failed to parse" message.
  • Fixed: CAN FD frames with a data length over 8 bytes were silently
    truncated.
    Any FD frame using a DLC code of 9-15 (payloads of
    12/16/20/24/32/48/64 bytes) had its real trailing data dropped instead of
    decoded. Confirmed against live traffic on a real CAN FD bus, where the
    majority of frames use exactly this range - this was a significant,
    widespread data-loss bug for real-world FD traffic, not an edge case.

Everything CANtrip does today

  • Multi-vendor hardware support, with no code changes needed to add a
    new one: PEAK-System PCAN-Basic and Vector XL Driver Library (VN-series),
    both with classic CAN and CAN FD. CANtrip runs fine with only one vendor's
    driver installed, or none (falls back to a built-in synthetic test
    source).
  • Real bit-timing control. A CAN Controller dialog computes actual
    BRP/TSEG1/TSEG2/SJW register values live from a target bitrate and sample
    point (classic, ISO CAN FD, or raw Expert mode), rather than relying on
    fixed guesses.
  • DBC-based signal decoding of live traffic via dbcppp, with per-frame
    expandable rows showing decoded name/value/unit.
  • Trace view with two display modes: Waterfall (newest-first log) and
    Periodic (one row per CAN ID, auto-graying stale rows).
  • Bus error detection and display, decoded from real SocketCAN-style
    error frames (bit/form/stuff/overload/bus-off/etc.), aggregated per error
    type in Periodic mode.
  • Graph view: multi-axis time-series signal plotting. Drag any signal
    from a searchable list onto any number of Y axes, each with its own
    color/line-style/bounds, plus zoom/pan.
  • Live capture status LED and an Office-style ribbon UI (Home, Hardware,
    Analysis & Measurement, Stimulation, Logging, About tabs).

Getting started (step by step)

CANtrip doesn't capture CAN traffic itself - it hands that job to
Wireshark's own capture engine, then decodes and displays what comes back.
So there are two things to install, not one. Here's the whole path from
zero to seeing live CAN data, no hardware required:

  1. Install Wireshark. Download and install it from
    wireshark.org using the
    defaults. You don't need to know how to use Wireshark itself - CANtrip
    just needs it present on the machine, since it runs Wireshark's tshark
    under the hood instead of talking to hardware directly.
  2. Download CANtrip. Grab the latest zip from the
    Releases page and
    extract it anywhere (e.g. your Desktop or C:\CANtrip).
  3. Tell Wireshark about CANtrip's capture helper. Inside the extracted
    folder there's a file called pcan2pcap.exe - copy it into Wireshark's
    personal extcap folder:
    copy pcan2pcap.exe "$env:APPDATA\Wireshark\extcap\"
    This is a one-time step. Without it, CANtrip's hardware/test-source list
    will simply be empty.
  4. Launch cantrip.exe from the extracted folder.
  5. Pick a source. On the Hardware tab, open the "Network Hardware"
    dropdown:
    • No CAN adapter yet, just want to try it out? Pick
      "CANtrip synthetic test source (no hardware needed)" - it fakes
      realistic traffic so you can explore everything below with zero wires.
    • Have a real PEAK or Vector CAN adapter plugged in (with its driver
      installed)? Pick that channel instead - everything else works exactly
      the same way.
  6. (Optional) Set the bus speed. Still on Hardware, click
    CAN Controller... if you need to change the bitrate (defaults are
    fine for the synthetic source).
  7. (Optional) Load a DBC file so raw frames decode into named signals
    with real units. On the Analysis & Measurement tab, click
    Import DBC... and pick a .dbc file - the bundled sample.dbc
    matches the synthetic source out of the box.
  8. Hit Start on the Home tab. Live frames start streaming into the
    table immediately; click the arrow next to a row to expand it into
    decoded signal values (if a DBC was loaded). Try the Graphics button
    to switch to the Graph view and plot a signal over time.

That's the whole loop - swapping the synthetic source for real hardware
later needs no extra setup beyond having that vendor's driver installed.

Known limitations

  • No Kvaser, Samtec or ETAS, or other additional vendor backends yet (PEAK and Vector
    are both fully supported, classic and FD).
  • Send Message, Gateway (bridging), and Logging (save-to-disk) views are not
    implemented yet - next up on the roadmap.
  • Single bus/channel per running instance - multiple physical channels can
    already be monitored today by running multiple CANtrip instances
    side-by-side (confirmed working), but there's no unified multi-bus view
    in a single window yet.
  • No automated test suite - verification has been manual (build, run, and
    direct hardware/protocol-level checks against real PEAK and Vector
    interfaces).

Then launch cantrip.exe. See the README
for full setup and usage instructions.