CANtrip v1.0.0 - Yukari
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 keywordFILTERin all-caps, but
real DBC files from at least one major OEM toolchain emitFilterin
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
.dbcfile 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:
- 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'stshark
under the hood instead of talking to hardware directly. - Download CANtrip. Grab the latest zip from the
Releases page and
extract it anywhere (e.g. your Desktop orC:\CANtrip). - Tell Wireshark about CANtrip's capture helper. Inside the extracted
folder there's a file calledpcan2pcap.exe- copy it into Wireshark's
personal extcap folder:This is a one-time step. Without it, CANtrip's hardware/test-source listcopy pcan2pcap.exe "$env:APPDATA\Wireshark\extcap\"
will simply be empty. - Launch
cantrip.exefrom the extracted folder. - 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.
- No CAN adapter yet, just want to try it out? Pick
- (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). - (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.dbcfile - the bundledsample.dbc
matches the synthetic source out of the box. - 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.