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. In addition, you can load routes from comma connect.

Usage instructions

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

$ ./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 the 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