Skip to content

CANtrip v0.1 - Mugi

Pre-release
Pre-release

Choose a tag to compare

@avmolaei avmolaei released this 05 Jul 12:49

CANtrip v0.1 — "it captures CAN frames now, mostly on purpose"

A free alternative to Vector CANalyzer, for people who work with CAN and have a
grudge against paying 60k€ for tooling. This is the first release: it can watch
a bus, decode it against a DBC, and yell at you in red text when something's
wrong. Graphing and transmit/gateway mode are still "later."

What it does

  • Vendor agnostic. CAN backends are pluggable behind a
    vendor-neutral interface (colloquially "the AVlabs backend" — one bus to
    sniff them all). PEAK-System's PCAN-Basic is the only one implemented so
    far; Vector/Kvaser/ETAS slot in later without touching the app or extcap.
  • Doesn't reinvent CAN dissection. CANtrip launches tshark -T ek
    against a custom Wireshark extcap (pcan2pcap), so you get Wireshark's
    own battle-tested SocketCAN dissector for free — CANtrip's own DBC layer
    just adds signal decoding on top.
  • No hardware? No problem. A synthetic test source is always available
    in the channel picker, faking traffic (and, delightfully, fake bus errors)
    so you can try everything below without owning a single wire.
  • DBC import and live per-signal decode via dbcppp — expand any frame
    to see its signals unfold into physical values with units.
  • Two ways to watch traffic: Waterfall (a scrolling log, newest on top)
    or Periodic (one row per CAN ID, updates in place, grays out when a
    message goes quiet) — because watching the same 4 IDs scroll past forever
    was never anyone's idea of a good time.
  • Sortable columns. Click a header, click it again, flip
    ascending/descending. ID/DLC/Data sort by actual value, not string, so DLC
    "10" doesn't awkwardly sort before "2".
  • Bus errors in red, decoded from the real SocketCAN error-frame ABI
    (stuff/form/bit/overload/etc, not vibes) and aggregated per error type in
    Periodic mode so a chattering bus fault doesn't flood the screen.

Getting started

  1. Extract the zip anywhere.
  2. Install Wireshark if you don't have it
    (provides tshark), and copy pcan2pcap.exe into
    %APPDATA%\Wireshark\extcap\.
  3. Run cantrip.exe, pick "CANtrip synthetic test source" from the
    channel dropdown, hit Import DBC... and load the bundled
    test\sample.dbc, then Start Capture.
  4. Expand a row. Watch numbers happen.

Full instructions in the bundled README.

Known gaps

  • Only PEAK-System PCAN-Basic hardware is supported right now (see above —
    architecture's ready for more, nobody's written the Vector/Kvaser/ETAS
    backends yet).
  • No graphing, no transmit/gateway mode yet.
  • No automated test suite — this has been exercised by hand, thoroughly,
    but there's no CI holding it accountable yet.

What's in the zip

cantrip.exe, pcan2pcap.exe, every Qt/dbcppp DLL both need, and
test\sample.dbc to try DBC decoding immediately