democratize access to car decoder rings
Go to file
Shane Smiskol 3e239def4b
structs: add lkasEnabled and lkasDisabled (#1317)
* add lkasEnabled and lkasDisabled

* not sure
2024-10-01 17:12:04 -07:00
.github
examples
opendbc structs: add lkasEnabled and lkasDisabled (#1317) 2024-10-01 17:12:04 -07:00
site_scons/site_tools
.gitignore
.pre-commit-config.yaml
LICENSE
README.md add test.sh 2024-10-01 15:44:54 -07:00
SConstruct
pyproject.toml
test.sh fix double in 2024-10-01 16:12:06 -07:00
vw_mqbevo.dbc VW MQBevo: Initial DBC (#906) 2024-10-01 19:34:33 -04:00

README.md

opendbc

opendbc is a Python API for your car. Read the speed, steering angle, and more. Send gas, braking, and steering commands.

Structure

  • opendbc/dbc/ is a repository of DBC files
  • opendbc/can/ is a library for parsing and building CAN messages from DBC files
  • opendbc/car/ is a high-level library for interfacing with cars using Python

Quick start

git clone https://github.com/commaai/opendbc.git

cd opendbc

# Install the dependencies
pip3 install -e .[testing,docs]

# Build
scons -j8

# Run the tests
pytest .

# Run the linter
pre-commit run --all-files

# ./test.sh is the all-in-one that will install deps, build, lint, and test
./test.sh

examples/ contains small example programs that can read state from the car and control the steering, gas, and brakes. examples/joystick.py allows you to control a car with a joystick.

Roadmap

This project was pulled out from openpilot. We're still figuring out the exact API between openpilot and opendbc, so some of these may end up going in openpilot.

  • Extend support to every car with LKAS + ACC interfaces
  • Automatic lateral and longitudinal control/tuning evaluation
  • Auto-tuning for lateral and longitudinal control
  • Automatic Emergency Braking
  • pip install opendbc
  • 100% type coverage
  • 100% line coverage
  • Make car ports easier: refactors, tools, tests, and docs
  • Expose the state of all supported cars better: https://github.com/commaai/opendbc/issues/1144

Contributions towards anything here is welcome. Join the Discord!