Skip to content
Cameron Clough edited this page Apr 18, 2023 · 17 revisions

cabana is a tool developed to view raw CAN data. One use for this is creating and editing CAN Dictionaries (DBC files), and the tool provides direct integration with commaai/opendbc (a collection of DBC files), allowing you to load the DBC files direct from source, and save to your fork.

Usage instructions

Follow tools/README.md to setup your development environment.

You can find the route name in comma connect.

$ ./cabana -h
Usage: ./cabana [options] route

Options:
  -h, --help                     Displays help on commandline options.
  --help-all                     Displays help including Qt specific options.
  --demo                         use a demo route instead of providing your own
  --qcam                         load qcamera
  --ecam                         load wide road camera
  --stream                       read can messages from live streaming
  --panda                        read can messages from panda
  --panda-serial <panda-serial>  read can messages from panda with given serial
  --zmq <zmq>                    the ip address on which to receive zmq
                                 messages
  --data_dir <data_dir>          local directory with routes
  --no-vipc                      do not output video
  --dbc <dbc>                    dbc file to open

Arguments:
  route                          the drive to replay. find your drives at
                                 connect.comma.ai

See also tools/cabana/README.md

Reverse Engineering Your Car

One big purpose of cabana is to discover new CAN messages and signals.

A good way to go about this is to use the can_bit_transition.py script in the panda repo. The idea with this script is that, provided logs downloaded from cabana, you can quickly locate a specific bit flip.

Clone this wiki locally