@ -0,0 +1,53 @@ |
|||||||
|
name: badges |
||||||
|
on: |
||||||
|
schedule: |
||||||
|
- cron: '0 * * * *' |
||||||
|
workflow_dispatch: |
||||||
|
|
||||||
|
env: |
||||||
|
BASE_IMAGE: openpilot-base |
||||||
|
DOCKER_REGISTRY: ghcr.io/commaai |
||||||
|
|
||||||
|
BUILD: | |
||||||
|
docker pull $(grep -iohP '(?<=^from)\s+\S+' Dockerfile.openpilot_base) || true |
||||||
|
docker pull $DOCKER_REGISTRY/$BASE_IMAGE:latest || true |
||||||
|
docker build --cache-from $DOCKER_REGISTRY/$BASE_IMAGE:latest -t $DOCKER_REGISTRY/$BASE_IMAGE:latest -t $BASE_IMAGE:latest -f Dockerfile.openpilot_base . |
||||||
|
RUN: docker run --shm-size 1G -v $PWD:/tmp/openpilot -w /tmp/openpilot -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v /tmp/scons_cache:/tmp/scons_cache -v /tmp/comma_download_cache:/tmp/comma_download_cache -v /tmp/openpilot_cache:/tmp/openpilot_cache $BASE_IMAGE /bin/sh -c |
||||||
|
|
||||||
|
jobs: |
||||||
|
badges: |
||||||
|
name: create badges |
||||||
|
runs-on: ubuntu-latest |
||||||
|
steps: |
||||||
|
- uses: actions/checkout@v3 |
||||||
|
with: |
||||||
|
submodules: true |
||||||
|
|
||||||
|
- name: Cache scons |
||||||
|
id: scons-cache |
||||||
|
# TODO: Change the version to the released version when https://github.com/actions/cache/pull/489 (or 571) is merged. |
||||||
|
uses: actions/cache@03e00da99d75a2204924908e1cca7902cafce66b |
||||||
|
env: |
||||||
|
CACHE_SKIP_SAVE: true |
||||||
|
with: |
||||||
|
path: /tmp/scons_cache |
||||||
|
key: scons-${{ hashFiles('.github/workflows/selfdrive_tests.yaml') }}- |
||||||
|
restore-keys: | |
||||||
|
scons-${{ hashFiles('.github/workflows/selfdrive_tests.yaml') }}- |
||||||
|
scons- |
||||||
|
|
||||||
|
- name: Build Docker image |
||||||
|
run: eval "$BUILD" |
||||||
|
|
||||||
|
- name: Push badges |
||||||
|
run: | |
||||||
|
${{ env.RUN }} "scons -j$(nproc) && python selfdrive/ui/translations/create_badges.py" |
||||||
|
|
||||||
|
git checkout --orphan badges |
||||||
|
git rm -rf --cached . |
||||||
|
git config user.email "badge-researcher@comma.ai" |
||||||
|
git config user.name "Badge Researcher" |
||||||
|
|
||||||
|
git add translation_badge_*.svg |
||||||
|
git commit -m "Add/Update badges" |
||||||
|
git push -f origin HEAD |
@ -1 +1 @@ |
|||||||
Subproject commit c6acc0698a604e715e960250359b6bf97e4987e3 |
Subproject commit fbd45de6e6bc71b4561eaef65dd86fce952c5d55 |
@ -1 +1 @@ |
|||||||
#define COMMA_VERSION "0.8.15" |
#define COMMA_VERSION "0.8.16" |
||||||
|
@ -1,12 +1,9 @@ |
|||||||
#include "common/watchdog.h" |
#include "common/watchdog.h" |
||||||
#include "common/timing.h" |
|
||||||
#include "common/util.h" |
#include "common/util.h" |
||||||
|
|
||||||
const std::string watchdog_fn_prefix = "/dev/shm/wd_"; // + <pid>
|
const std::string watchdog_fn_prefix = "/dev/shm/wd_"; // + <pid>
|
||||||
|
|
||||||
bool watchdog_kick() { |
bool watchdog_kick(uint64_t ts) { |
||||||
static std::string fn = watchdog_fn_prefix + std::to_string(getpid()); |
static std::string fn = watchdog_fn_prefix + std::to_string(getpid()); |
||||||
|
|
||||||
uint64_t ts = nanos_since_boot(); |
|
||||||
return util::write_file(fn.c_str(), &ts, sizeof(ts), O_WRONLY | O_CREAT) > 0; |
return util::write_file(fn.c_str(), &ts, sizeof(ts), O_WRONLY | O_CREAT) > 0; |
||||||
} |
} |
||||||
|
@ -1,3 +1,5 @@ |
|||||||
#pragma once |
#pragma once |
||||||
|
|
||||||
bool watchdog_kick(); |
#include <cstdint> |
||||||
|
|
||||||
|
bool watchdog_kick(uint64_t ts); |
||||||
|
@ -1,243 +1,279 @@ |
|||||||
|
<!--- AUTOGENERATED FROM selfdrive/car/CARS_template.md, DO NOT EDIT. ---> |
||||||
|
|
||||||
# Supported Cars |
# Supported Cars |
||||||
|
|
||||||
A supported vehicle is one that just works when you install a comma device. Every car performs differently with openpilot, but all supported cars should provide a better experience than any stock system. |
A supported vehicle is one that just works when you install a comma device. Every car performs differently with openpilot, but all supported cars should provide a better experience than any stock system. |
||||||
|
|
||||||
Cars are organized into three tiers: |
## How We Rate The Cars |
||||||
|
|
||||||
- Gold - The best openpilot experience. Great highway driving and beyond. |
|
||||||
- Silver - A solid highway driving experience, but is limited by stock longitudinal. May be upgraded in the future. |
|
||||||
- Bronze - A good highway experience, but may have limited performance in traffic and on sharp turns. |
|
||||||
|
|
||||||
How We Rate The Cars |
|
||||||
--- |
|
||||||
|
|
||||||
### openpilot Adaptive Cruise Control (ACC) |
|
||||||
- <a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a> - openpilot is able to control the gas and brakes. |
|
||||||
- <a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a> - openpilot is able to control the gas and brakes with some restrictions. |
|
||||||
- <a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a> - The gas and brakes are controlled by the car's stock Adaptive Cruise Control (ACC) system. |
|
||||||
|
|
||||||
### Stop and Go |
### Stop and Go |
||||||
- <a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a> - Adaptive Cruise Control (ACC) operates down to 0 mph. |
- [](##) - openpilot operates down to 0 mph. |
||||||
- <a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a> - Adaptive Cruise Control (ACC) available only above certain speeds. See your car's manual for the minimum speed. |
- [](##) - openpilot operates only above a minimum speed. See your car's manual for the minimum speed. |
||||||
|
|
||||||
### Steer to 0 |
### Steer to 0 |
||||||
- <a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a> - openpilot can control the steering wheel down to 0 mph. |
- [](##) - openpilot can control the steering wheel down to 0 mph. |
||||||
- <a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a> - No steering control below certain speeds. |
- [](##) - No steering control below certain speeds. See your car's manual for the minimum speed. |
||||||
|
|
||||||
### Steering Torque |
### Steering Torque |
||||||
- <a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a> - Car has enough steering torque to take tighter turns. |
- [](##) - Car has enough steering torque to comfortably take most highway turns. |
||||||
- <a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a> - Car has enough steering torque for comfortable highway driving. |
- [](##) - Limited ability to make tighter turns. |
||||||
- <a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a> - Limited ability to make turns. |
|
||||||
|
|
||||||
### Actively Maintained |
|
||||||
- <a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a> - Mainline software support, harness hardware sold by comma, lots of users, primary development target. |
|
||||||
- <a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a> - Low user count, community maintained, harness hardware not sold by comma. |
|
||||||
|
|
||||||
**All supported cars can move between the tiers as support changes.** |
|
||||||
|
|
||||||
# Gold - 31 cars |
|
||||||
|
|
||||||
|Make|Model|Supported Package|openpilot ACC|Stop and Go|Steer to 0|Steering Torque|Actively Maintained| |
|
||||||
|---|---|---|:---:|:---:|:---:|:---:|:---:| |
|
||||||
|comma|body|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Genesis|G70 2020|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Palisade 2020-21|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Santa Fe 2019-20|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Sonata 2020-22|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Sonata Hybrid 2020-22|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Kia|Niro Electric 2019-20|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Kia|Niro Electric 2021|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Kia|Niro Electric 2022|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Kia|Telluride 2020|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Lexus|ES 2019-21|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Lexus|ES Hybrid 2019-22|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Lexus|NX 2020|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Lexus|NX Hybrid 2020|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Lexus|RX 2020-22|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Lexus|UX Hybrid 2019-21|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Avalon 2022|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Avalon Hybrid 2022|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Camry 2021-22|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>[<sup>5</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Camry Hybrid 2021-22|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Corolla 2020-22|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Corolla Cross 2020-21 (Non-US only)|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Corolla Hatchback 2019-22|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Corolla Hybrid 2020-22|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Highlander 2020-22|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Highlander Hybrid 2020-22|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Mirai 2021|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Prius 2021-22|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Prius Prime 2021-22|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|RAV4 2019-21|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|RAV4 Hybrid 2019-21|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|
|
||||||
# Silver - 68 cars |
|
||||||
|
|
||||||
|Make|Model|Supported Package|openpilot ACC|Stop and Go|Steer to 0|Steering Torque|Actively Maintained| |
|
||||||
|---|---|---|:---:|:---:|:---:|:---:|:---:| |
|
||||||
|Audi|A3 2014-19|ACC + Lane Assist|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Audi|A3 Sportback e-tron 2017-18|ACC + Lane Assist|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Audi|RS3 2018|ACC + Lane Assist|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Audi|S3 2015-17|ACC + Lane Assist|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Cadillac|Escalade ESV 2016[<sup>1</sup>](#footnotes)|ACC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Chevrolet|Volt 2017-18[<sup>1</sup>](#footnotes)|Adaptive Cruise|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Genesis|G70 2018|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Genesis|G80 2018|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Elantra 2021-22|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Elantra Hybrid 2021-22|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Ioniq Electric 2020|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Ioniq Hybrid 2020-22|SCC + LFA|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Ioniq Plug-in Hybrid 2020-21|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Kona 2020|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Kona Electric 2018-21|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Kona Hybrid 2020|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Santa Fe 2021-22|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Santa Fe Hybrid 2022|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Santa Fe Plug-in Hybrid 2022|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Tucson Diesel 2019|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Kia|Ceed 2019|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Kia|Forte 2018|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Kia|Forte 2019-21|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Kia|K5 2021-22|SCC|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Kia|Niro Hybrid 2021|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Kia|Niro Hybrid 2022|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Kia|Optima 2019|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Kia|Seltos 2021|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Kia|Sorento 2018|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Kia|Sorento 2019|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Kia|Stinger 2018|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Lexus|CT Hybrid 2017-18|LSS|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Lexus|ES Hybrid 2017-18|LSS|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Lexus|NX 2018-19|All|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Lexus|NX Hybrid 2018-19|All|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Lexus|RX Hybrid 2020-21|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Nissan|Altima 2019-20|ProPILOT|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Nissan|Leaf 2018-22|ProPILOT|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Nissan|Rogue 2018-20|ProPILOT|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Nissan|X-Trail 2017|ProPILOT|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|SEAT|Ateca 2018|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|SEAT|Leon 2014-20|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Subaru|Ascent 2019-20|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Subaru|Crosstrek 2020-21|EyeSight|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Subaru|Forester 2019-21|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Subaru|Impreza 2020-21|EyeSight|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Alphard 2019-20|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Alphard Hybrid 2021|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Camry 2018-20|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>[<sup>5</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Camry Hybrid 2018-20|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>[<sup>5</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Highlander 2017-19|All|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Highlander Hybrid 2017-19|All|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Prius 2016-20|TSS-P|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Prius Prime 2017-20|All|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|RAV4 2022|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|RAV4 Hybrid 2016-18|TSS-P|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|RAV4 Hybrid 2022|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|Atlas 2018-19, 2022[<sup>8</sup>](#footnotes)|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|e-Golf 2014, 2018-20|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|Golf 2015-20|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|Golf Alltrack 2017-18|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|Golf GTE 2016|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|Golf GTI 2018-21|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|Golf R 2016-19|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|Golf SportsVan 2016|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|Golf SportWagen 2015|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|Passat 2015-19[<sup>7</sup>](#footnotes)|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|Polo 2020|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|
|
||||||
# Bronze - 79 cars |
|
||||||
|
|
||||||
|Make|Model|Supported Package|openpilot ACC|Stop and Go|Steer to 0|Steering Torque|Actively Maintained| |
|
||||||
|---|---|---|:---:|:---:|:---:|:---:|:---:| |
|
||||||
|Acura|ILX 2016-19|AcuraWatch Plus|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Acura|RDX 2016-18|AcuraWatch Plus|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Acura|RDX 2019-21|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Audi|Q2 2018|ACC + Lane Assist|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Audi|Q3 2020-21|ACC + Lane Assist|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Chevrolet|Bolt EUV Premier 2022[<sup>2</sup>](#footnotes)|Chevy Safety Assist|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Chevrolet|Silverado 1500 2020[<sup>2</sup>](#footnotes)|Driver Alert Package II|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Chrysler|Pacifica 2017-18|Adaptive Cruise|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Chrysler|Pacifica 2020|Adaptive Cruise|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Chrysler|Pacifica Hybrid 2017-18|Adaptive Cruise|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Chrysler|Pacifica Hybrid 2019-22|Adaptive Cruise|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Genesis|G90 2018|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>| |
|
||||||
|GMC|Acadia 2018[<sup>1</sup>](#footnotes)|Adaptive Cruise|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|Accord 2018-21|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|Accord Hybrid 2018-21|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|Civic 2016-18|Honda Sensing|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|Civic 2019-20|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>[<sup>3</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|Civic 2022|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|Civic Hatchback 2017-21|Honda Sensing|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|Civic Hatchback 2022|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|CR-V 2015-16|Touring|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|CR-V 2017-21|Honda Sensing|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|CR-V Hybrid 2017-19|Honda Sensing|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|e 2020|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|Fit 2018-19|Honda Sensing|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|Freed 2020|Honda Sensing|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|HR-V 2019-20|Honda Sensing|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|Insight 2019-21|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|Inspire 2018|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|Odyssey 2018-20|Honda Sensing|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|Passport 2019-21|All|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|Pilot 2016-21|Honda Sensing|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Honda|Ridgeline 2017-22|Honda Sensing|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Elantra 2017-19|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Genesis 2015-16|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Ioniq Electric 2019|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Ioniq Hybrid 2017-19|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Ioniq Plug-in Hybrid 2019|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Sonata 2018-19|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Tucson 2021|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Hyundai|Veloster 2019-20|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Jeep|Grand Cherokee 2016-18|Adaptive Cruise|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Jeep|Grand Cherokee 2019-20|Adaptive Cruise|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Kia|Niro Plug-in Hybrid 2019|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Kia|Optima 2017|SCC + LKAS|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Lexus|IS 2017-19|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Lexus|RC 2020|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Lexus|RX 2016-18|All|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Lexus|RX Hybrid 2016-19|All|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Mazda|CX-5 2022|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Mazda|CX-9 2021|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Subaru|Crosstrek 2018-19|EyeSight|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Subaru|Impreza 2017-19|EyeSight|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Škoda|Kamiq 2021[<sup>6</sup>](#footnotes)|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Škoda|Karoq 2019|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Škoda|Kodiaq 2018-19|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Škoda|Octavia 2015, 2018-19|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Škoda|Octavia RS 2016|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Škoda|Scala 2020|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Škoda|Superb 2015-18|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Avalon 2016-18|TSS-P|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Avalon 2019-21|TSS-P|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Avalon Hybrid 2019-21|TSS-P|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|C-HR 2017-21|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|C-HR Hybrid 2017-19|All|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Corolla 2017-19|All|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Prius v 2017|TSS-P|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|RAV4 2016-18|TSS-P|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Toyota|Sienna 2018-20|All|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>[<sup>4</sup>](#footnotes)|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|Arteon 2018, 2021[<sup>8</sup>](#footnotes)|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|California 2021[<sup>8</sup>](#footnotes)|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|Caravelle 2020[<sup>8</sup>](#footnotes)|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|Jetta 2018-21|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|Jetta GLI 2021|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|T-Cross 2021[<sup>8</sup>](#footnotes)|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|T-Roc 2021[<sup>8</sup>](#footnotes)|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|Taos 2022[<sup>8</sup>](#footnotes)|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|Tiguan 2019-22[<sup>8</sup>](#footnotes)|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|Volkswagen|Touran 2017|Driver Assistance|<a href="##"><img valign="top" src="assets/icon-star-empty.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-half.svg" width="22" /></a>|<a href="##"><img valign="top" src="assets/icon-star-full.svg" width="22" /></a>| |
|
||||||
|
|
||||||
|
|
||||||
|
# 200 Supported Cars |
||||||
|
|
||||||
|
|Make|Model|Supported Package|openpilot ACC|Stop and Go|Steer to 0|Steering Torque| |
||||||
|
|---|---|---|:---:|:---:|:---:|:---:| |
||||||
|
|Acura|ILX 2016-19|AcuraWatch Plus|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Acura|RDX 2016-18|AcuraWatch Plus|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Acura|RDX 2019-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Audi|A3 2014-19|ACC + Lane Assist|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Audi|A3 Sportback e-tron 2017-18|ACC + Lane Assist|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Audi|Q2 2018|ACC + Lane Assist|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Audi|Q3 2020-21|ACC + Lane Assist|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Audi|RS3 2018|ACC + Lane Assist|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Audi|S3 2015-17|ACC + Lane Assist|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Cadillac|Escalade ESV 2016[<sup>1</sup>](#footnotes)|Adaptive Cruise Control (ACC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Chevrolet|Bolt EUV Premier 2022[<sup>2</sup>](#footnotes)|Chevy Safety Assist|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Chevrolet|Silverado 1500 2020[<sup>2</sup>](#footnotes)|Driver Alert Package II|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Chevrolet|Volt 2017-18[<sup>1</sup>](#footnotes)|Adaptive Cruise Control|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Chrysler|Pacifica 2017-18|Adaptive Cruise Control|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Chrysler|Pacifica 2019-20|Adaptive Cruise Control|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Chrysler|Pacifica 2021|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Chrysler|Pacifica Hybrid 2017-18|Adaptive Cruise Control|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Chrysler|Pacifica Hybrid 2019-22|Adaptive Cruise Control|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|comma|body|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Genesis|G70 2018-19|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Genesis|G70 2020|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Genesis|G80 2017-19|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Genesis|G90 2017-18|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|GMC|Acadia 2018[<sup>1</sup>](#footnotes)|Adaptive Cruise Control|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|Accord 2018-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|Accord Hybrid 2018-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|Civic 2016-18|Honda Sensing|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|Civic 2019-21|All|[](##)|[](##)|[](##)[<sup>3</sup>](#footnotes)|[](##)| |
||||||
|
|Honda|Civic 2022|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|Civic Hatchback 2017-21|Honda Sensing|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|Civic Hatchback 2022|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|CR-V 2015-16|Touring Trim|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|CR-V 2017-22|Honda Sensing|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|CR-V Hybrid 2017-19|Honda Sensing|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|e 2020|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|Fit 2018-20|Honda Sensing|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|Freed 2020|Honda Sensing|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|HR-V 2019-22|Honda Sensing|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|Insight 2019-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|Inspire 2018|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|Odyssey 2018-22|Honda Sensing|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|Passport 2019-21|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|Pilot 2016-22|Honda Sensing|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Honda|Ridgeline 2017-22|Honda Sensing|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Elantra 2017-19|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Elantra 2021-22|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Elantra Hybrid 2021-22|Smart Cruise Control (SCC)|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Genesis 2015-16|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Ioniq Electric 2019|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Ioniq Electric 2020|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Ioniq Hybrid 2017-19|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Ioniq Hybrid 2020-22|Smart Cruise Control (SCC) & LFA|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Ioniq Plug-in Hybrid 2019|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Ioniq Plug-in Hybrid 2020-21|Smart Cruise Control (SCC)|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Kona 2020|Smart Cruise Control (SCC)|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Kona Electric 2018-21|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Kona Electric 2022|Smart Cruise Control (SCC)|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Kona Hybrid 2020|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Palisade 2020-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Santa Fe 2019-20|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Santa Fe 2021-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Santa Fe Hybrid 2022|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Santa Fe Plug-in Hybrid 2022|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Sonata 2018-19|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Sonata 2020-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Sonata Hybrid 2020-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Tucson 2021|Smart Cruise Control (SCC)|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Tucson Diesel 2019|Smart Cruise Control (SCC)|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Hyundai|Veloster 2019-20|Smart Cruise Control (SCC)|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Jeep|Grand Cherokee 2016-18|Adaptive Cruise Control|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Jeep|Grand Cherokee 2019-21|Adaptive Cruise Control|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|Ceed 2019|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|EV6 2022[<sup>4</sup>](#footnotes)|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|Forte 2018|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|Forte 2019-21|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|K5 2021-22|Smart Cruise Control (SCC)|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|Niro Electric 2019-20|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|Niro Electric 2021|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|Niro Electric 2022|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|Niro Hybrid 2021|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|Niro Hybrid 2022|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|Niro Plug-in Hybrid 2018-19|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|Optima 2017|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|Optima 2019|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|Seltos 2021|Smart Cruise Control (SCC)|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|Sorento 2018|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|Sorento 2019|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|Stinger 2018-20|Smart Cruise Control (SCC) & LKAS|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Kia|Telluride 2020|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Lexus|CT Hybrid 2017-18|Lexus Safety System+|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Lexus|ES 2019-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Lexus|ES Hybrid 2017-18|Lexus Safety System+|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Lexus|ES Hybrid 2019-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Lexus|IS 2017-19|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Lexus|NX 2018-19|All|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Lexus|NX 2020-21|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Lexus|NX Hybrid 2018-19|All|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Lexus|NX Hybrid 2020-21|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Lexus|RC 2017-20|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Lexus|RX 2016-18|All|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Lexus|RX 2020-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Lexus|RX Hybrid 2016-19|All|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Lexus|RX Hybrid 2020-21|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Lexus|UX Hybrid 2019-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Mazda|CX-5 2022|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Mazda|CX-9 2021-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Nissan|Altima 2019-20|ProPILOT Assist|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Nissan|Leaf 2018-22|ProPILOT Assist|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Nissan|Rogue 2018-20|ProPILOT Assist|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Nissan|X-Trail 2017|ProPILOT Assist|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Ram|1500 2019-22|Adaptive Cruise Control|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|SEAT|Ateca 2018|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|SEAT|Leon 2014-20|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Subaru|Ascent 2019-21|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Subaru|Crosstrek 2018-19|EyeSight Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Subaru|Crosstrek 2020-21|EyeSight Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Subaru|Forester 2019-21|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Subaru|Impreza 2017-19|EyeSight Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Subaru|Impreza 2020-22|EyeSight Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Subaru|Outback 2020-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Subaru|XV 2018-19|EyeSight Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Subaru|XV 2020-21|EyeSight Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Škoda|Kamiq 2021[<sup>7</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Škoda|Karoq 2019-21|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Škoda|Kodiaq 2018-19|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Škoda|Octavia 2015, 2018-19|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Škoda|Octavia RS 2016|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Škoda|Scala 2020|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Škoda|Superb 2015-18|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Alphard 2019-20|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Alphard Hybrid 2021|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Avalon 2016|Toyota Safety Sense P|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Avalon 2017-18|All|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Avalon 2019-21|All|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Avalon 2022|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Avalon Hybrid 2019-21|All|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Avalon Hybrid 2022|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|C-HR 2017-21|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|C-HR Hybrid 2017-19|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Camry 2018-20|All|[](##)|[](##)[<sup>6</sup>](#footnotes)|[](##)|[](##)| |
||||||
|
|Toyota|Camry 2021-22|All|[](##)|[](##)[<sup>6</sup>](#footnotes)|[](##)|[](##)| |
||||||
|
|Toyota|Camry Hybrid 2018-20|All|[](##)|[](##)[<sup>6</sup>](#footnotes)|[](##)|[](##)| |
||||||
|
|Toyota|Camry Hybrid 2021-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Corolla 2017-19|All|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Corolla 2020-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Corolla Cross (Non-US only) 2020-21|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Corolla Cross Hybrid (Non-US only) 2020-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Corolla Hatchback 2019-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Corolla Hybrid 2020-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Highlander 2017-19|All|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Highlander 2020-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Highlander Hybrid 2017-19|All|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Highlander Hybrid 2020-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Mirai 2021|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Prius 2016|Toyota Safety Sense P|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Prius 2017-20|All|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Prius 2021-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Prius Prime 2017-20|All|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Prius Prime 2021-22|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Prius v 2017|Toyota Safety Sense P|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|RAV4 2016|Toyota Safety Sense P|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|RAV4 2017-18|All|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|RAV4 2019-21|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|RAV4 2022|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|RAV4 Hybrid 2016|Toyota Safety Sense P|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|RAV4 Hybrid 2017-18|All|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|RAV4 Hybrid 2019-21|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|RAV4 Hybrid 2022|All|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Toyota|Sienna 2018-20|All|[](##)[<sup>5</sup>](#footnotes)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Arteon 2018-22[<sup>9,10</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Arteon eHybrid 2020-22[<sup>9,10</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Arteon R 2020-22[<sup>9,10</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Atlas 2018-22[<sup>9</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Atlas Cross Sport 2021-22[<sup>9</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|California 2021[<sup>9</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Caravelle 2020[<sup>9</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|CC 2018-22[<sup>9,10</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|e-Golf 2014-20|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Golf 2015-20[<sup>10</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Golf Alltrack 2015-19|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Golf GTD 2015-20|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Golf GTE 2015-20|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Golf GTI 2015-21|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Golf R 2015-19[<sup>10</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Golf SportsVan 2015-20|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Jetta 2018-22[<sup>9</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Jetta GLI 2021-22[<sup>9</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Passat 2015-22[<sup>8,9,10</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Passat Alltrack 2015-22[<sup>9</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Passat GTE 2015-22[<sup>9,10</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Polo 2020-22[<sup>9</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Polo GTI 2020-22[<sup>9</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|T-Cross 2021[<sup>9</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|T-Roc 2021[<sup>9</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Taos 2022[<sup>9</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Teramont 2018-22[<sup>9</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Teramont Cross Sport 2021-22[<sup>9</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Teramont X 2021-22[<sup>9</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Tiguan 2019-22[<sup>9</sup>](#footnotes)|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|Volkswagen|Touran 2017|Driver Assistance|[](##)|[](##)|[](##)|[](##)| |
||||||
|
|
||||||
<a id="footnotes"></a> |
<a id="footnotes"></a> |
||||||
<sup>1</sup>Requires an <a href="https://comma.ai/shop/products/comma-car-harness">OBD-II car harness</a> and <a href="https://github.com/commaai/openpilot/wiki/GM#hardware">community built ASCM harness</a>. <b><i>NOTE: disconnecting the ASCM disables Automatic Emergency Braking (AEB).</i></b> <br /> |
<sup>1</sup>Requires an <a href="https://comma.ai/shop/products/comma-car-harness">OBD-II car harness</a> and <a href="https://github.com/commaai/openpilot/wiki/GM#hardware">community built ASCM harness</a>. <b><i>NOTE: disconnecting the ASCM disables Automatic Emergency Braking (AEB).</i></b> <br /> |
||||||
<sup>2</sup>Currently Requires a [harness box](https://comma.ai/shop/products/harness-box) and [community built GM camera harness](https://github.com/commaai/openpilot/wiki/GMCamHarness) <br /> |
<sup>2</sup>Currently Requires a [harness box](https://comma.ai/shop/products/harness-box) and [community built GM camera harness](https://github.com/commaai/openpilot/wiki/GMCamHarness) <br /> |
||||||
<sup>3</sup>2019 Honda Civic 1.6L Diesel Sedan does not have ALC below 12mph. <br /> |
<sup>3</sup>2019 Honda Civic 1.6L Diesel Sedan does not have ALC below 12mph. <br /> |
||||||
<sup>4</sup>When disconnecting the Driver Support Unit (DSU), openpilot Adaptive Cruise Control (ACC) will replace stock Adaptive Cruise Control (ACC). <b><i> NOTE: disconnecting the DSU disables Automatic Emergency Braking (AEB).</i></b> <br /> |
<sup>4</sup>Requires a <a href='https://comma.ai/shop/products/panda'>red panda</a> and additional <a href='https://comma.ai/shop/products/harness-box'>harness box.</a> <br /> |
||||||
<sup>5</sup>28mph for Camry 4CYL L, 4CYL LE and 4CYL SE which don't have Full-Speed Range Dynamic Radar Cruise Control. <br /> |
<sup>5</sup>When the Driver Support Unit (DSU) is disconnected, openpilot Adaptive Cruise Control (ACC) will replace stock Adaptive Cruise Control (ACC). <b><i>NOTE: disconnecting the DSU disables Automatic Emergency Braking (AEB).</i></b> <br /> |
||||||
<sup>6</sup>Not including the China market Kamiq, which is based on the (currently) unsupported PQ34 platform. <br /> |
<sup>6</sup>openpilot operates above 28mph for Camry 4CYL L, 4CYL LE and 4CYL SE which don't have Full-Speed Range Dynamic Radar Cruise Control. <br /> |
||||||
<sup>7</sup>Not including the USA/China market Passat, which is based on the (currently) unsupported PQ35/NMS platform. <br /> |
<sup>7</sup>Not including the China market Kamiq, which is based on the (currently) unsupported PQ34 platform. <br /> |
||||||
<sup>8</sup>Model-years 2021 and beyond may have a new camera harness design, which isn't yet available from the comma store. Before ordering, remove the Lane Assist camera cover and check to see if the connector is black (older design) or light brown (newer design). For the newer design, in the interim, choose "VW J533 Development" from the vehicle drop-down for a harness that integrates at the CAN gateway inside the dashboard. <br /> |
<sup>8</sup>Not including the USA/China market Passat, which is based on the (currently) unsupported PQ35/NMS platform. <br /> |
||||||
|
<sup>9</sup>Model-years 2021 and beyond may have a new camera harness design, which isn't yet available from the comma store. Before ordering, remove the Lane Assist camera cover and check to see if the connector is black (older design) or light brown (newer design). For the newer design, in the interim, choose "VW J533 Development" from the vehicle drop-down for a harness that integrates at the CAN gateway inside the dashboard. <br /> |
||||||
|
<sup>10</sup>Includes versions with extra rear cargo space (may be called Variant, Estate, SportWagen, Shooting Brake, etc.) <br /> |
||||||
|
|
||||||
## Community Maintained Cars |
## Community Maintained Cars |
||||||
Although they're not upstream, the community has openpilot running on other makes and models. See the 'Community Supported Models' section of each make [on our wiki](https://wiki.comma.ai/). |
Although they're not upstream, the community has openpilot running on other makes and models. See the 'Community Supported Models' section of each make [on our wiki](https://wiki.comma.ai/). |
||||||
|
|
||||||
|
# Don't see your car here? |
||||||
|
|
||||||
|
**openpilot can support many more cars than it currently does.** There are a few reasons your car may not be supported. |
||||||
|
If your car doesn't fit into any of the incompatibility criteria here, then there's a good chance it can be supported! We're adding support for new cars all the time. We don't have a roadmap for car support, and in fact, most car support comes from users like you! |
||||||
|
|
||||||
|
### Which cars are able to be supported? |
||||||
|
|
||||||
|
openpilot uses the existing steering, gas, and brake interfaces in your car. If your car lacks any one of these interfaces, openpilot will not be able to control the car. If your car has any form of [LKAS](https://en.wikipedia.org/wiki/Automated_Lane_Keeping_Systems)/[LCA](https://en.wikipedia.org/wiki/Lane_centering) and [ACC](https://en.wikipedia.org/wiki/Adaptive_cruise_control), then it almost certainly has these interfaces. These interfaces generally started shipping on cars around 2016. |
||||||
|
|
||||||
|
If your car has the following packages or features, then it's a good candidate for support. If it does not, then it's unlikely able to be supported. |
||||||
|
|
||||||
|
| Make | Required Package/Features | |
||||||
|
| ---- | ------------------------- | |
||||||
|
| Acura | Any car with AcuraWatch Plus will work. AcuraWatch Plus comes standard on many newer models. | |
||||||
|
| Honda | Any car with Honda Sensing will work. Honda Sensing comes standard on many newer models. | |
||||||
|
| Subaru | Any car with EyeSight will work. EyeSight comes standard on many newer models. | |
||||||
|
| Nissan | Any car with ProPILOT will likely work. | |
||||||
|
| Toyota & Lexus | Any car that has Toyota/Lexus Safety Sense with "Lane Departure Alert with Steering Assist (LDA w/SA)" and/or "Lane Tracing Assist (LTA)" will work. Note that LDA without Steering Assist will not work. These features come standard on most newer models. | |
||||||
|
| Hyundai, Kia, & Genesis | Any car with Smart Cruise Control (SCC) and Lane Following Assist (LFA) or Lane Keeping Assist (LKAS) will work. LKAS/LFA comes standard on most newer models. Any form of SCC will work, such as NSCC. | |
||||||
|
| Chrysler, Jeep, & Ram | Any car with LaneSense and Adaptive Cruise Control will likely work. These come standard on many newer models. | |
||||||
|
|
||||||
|
### FlexRay |
||||||
|
|
||||||
|
All the cars that openpilot supports use a [CAN bus](https://en.wikipedia.org/wiki/CAN_bus) for communication between all the car's computers, however a CAN bus isn't the only way that the cars in your computer can communicate. Most, if not all, vehicles from the following manufacturers use [FlexRay](https://en.wikipedia.org/wiki/FlexRay) instead of a CAN bus: **BMW, Mercedes, Audi, Land Rover, and some Volvo**. These cars may one day be supported, but we have no immediate plans to support FlexRay. |
||||||
|
|
||||||
|
### Toyota Security |
||||||
|
|
||||||
|
Specific new Toyota models are shipping with a new message authentication method that openpilot does not yet support. |
||||||
|
So far, this list includes: |
||||||
|
* Toyota RAV4 Prime 2021+ |
||||||
|
* Toyota Sienna 2021+ |
||||||
|
* Toyota Venza 2021+ |
||||||
|
* Toyota Sequoia 2023+ |
||||||
|
* Toyota Tundra 2022+ |
||||||
|
* Toyota Corolla Cross 2022+ (only US model) |
||||||
|
* Lexus NX 2022+ |
||||||
|
* Toyota bZ4x 2023+ |
||||||
|
* Subaru Solterra 2023+ |
Before Width: | Height: | Size: 457 B After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 472 B After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 727 B After Width: | Height: | Size: 2.4 KiB |
@ -1 +1 @@ |
|||||||
Subproject commit 27a0d8a776fc8c1eaf8608d17ce81a00136f8bd0 |
Subproject commit c8bc1fa01be9f22592efb991ee52d3d965d21968 |
@ -1 +1 @@ |
|||||||
Subproject commit 82be71072c52fc78cf0e1eabc396af26c18ddc11 |
Subproject commit 24acbb7c2b35de01ed89679e78f7c470f5f777ba |
@ -1 +1 @@ |
|||||||
Subproject commit ff0938958f2a16cc15b3648c00aed1a19146f425 |
Subproject commit a1c2bd78a50be3499568a6813e47d68160a50b42 |
@ -1 +1 @@ |
|||||||
Subproject commit 7663289f1e68860f53dc34337ef080dde69a2586 |
Subproject commit 3b6bd703b7a7667e4f82d0b81ef9a454819b94bd |
@ -0,0 +1,11 @@ |
|||||||
|
#!/usr/bin/bash |
||||||
|
set -e |
||||||
|
|
||||||
|
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)" |
||||||
|
cd $DIR |
||||||
|
|
||||||
|
if [ ! -z "$(git status --porcelain)" ]; then |
||||||
|
echo "Dirty working tree after build:" |
||||||
|
git status --porcelain |
||||||
|
exit 1 |
||||||
|
fi |
After Width: | Height: | Size: 7.1 KiB |
After Width: | Height: | Size: 7.1 KiB |
After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 18 KiB |
@ -1,9 +1,7 @@ |
|||||||
def create_control(packer, torque_l, torque_r, idx): |
def create_control(packer, torque_l, torque_r): |
||||||
can_bus = 0 |
|
||||||
|
|
||||||
values = { |
values = { |
||||||
"TORQUE_L": torque_l, |
"TORQUE_L": torque_l, |
||||||
"TORQUE_R": torque_r, |
"TORQUE_R": torque_r, |
||||||
} |
} |
||||||
|
|
||||||
return packer.make_can_msg("TORQUE_CMD", can_bus, values, idx) |
return packer.make_can_msg("TORQUE_CMD", 0, values) |
||||||
|
@ -1,57 +1,71 @@ |
|||||||
from cereal import car |
from cereal import car |
||||||
from selfdrive.car import make_can_msg |
from selfdrive.car.chrysler.values import RAM_CARS |
||||||
|
|
||||||
|
|
||||||
GearShifter = car.CarState.GearShifter |
GearShifter = car.CarState.GearShifter |
||||||
VisualAlert = car.CarControl.HUDControl.VisualAlert |
VisualAlert = car.CarControl.HUDControl.VisualAlert |
||||||
|
|
||||||
def create_lkas_hud(packer, gear, lkas_active, hud_alert, hud_count, lkas_car_model): |
def create_lkas_hud(packer, CP, lkas_active, hud_alert, hud_count, car_model, auto_high_beam): |
||||||
# LKAS_HUD 0x2a6 (678) Controls what lane-keeping icon is displayed. |
# LKAS_HUD - Controls what lane-keeping icon is displayed |
||||||
|
|
||||||
|
# == Color == |
||||||
|
# 0 hidden? |
||||||
|
# 1 white |
||||||
|
# 2 green |
||||||
|
# 3 ldw |
||||||
|
|
||||||
if hud_alert in (VisualAlert.steerRequired, VisualAlert.ldw): |
# == Lines == |
||||||
msg = b'\x00\x00\x00\x03\x00\x00\x00\x00' |
# 03 white Lines |
||||||
return make_can_msg(0x2a6, msg, 0) |
# 04 grey lines |
||||||
|
# 09 left lane close |
||||||
|
# 0A right lane close |
||||||
|
# 0B left Lane very close |
||||||
|
# 0C right Lane very close |
||||||
|
# 0D left cross cross |
||||||
|
# 0E right lane cross |
||||||
|
|
||||||
color = 1 # default values are for park or neutral in 2017 are 0 0, but trying 1 1 for 2019 |
# == Alerts == |
||||||
lines = 1 |
# 7 Normal |
||||||
alerts = 0 |
# 6 lane departure place hands on wheel |
||||||
|
|
||||||
|
color = 2 if lkas_active else 1 |
||||||
|
lines = 3 if lkas_active else 0 |
||||||
|
alerts = 7 if lkas_active else 0 |
||||||
|
|
||||||
if hud_count < (1 * 4): # first 3 seconds, 4Hz |
if hud_count < (1 * 4): # first 3 seconds, 4Hz |
||||||
alerts = 1 |
alerts = 1 |
||||||
# CAR.PACIFICA_2018_HYBRID and CAR.PACIFICA_2019_HYBRID |
|
||||||
# had color = 1 and lines = 1 but trying 2017 hybrid style for now. |
if hud_alert in (VisualAlert.ldw, VisualAlert.steerRequired): |
||||||
if gear in (GearShifter.drive, GearShifter.reverse, GearShifter.low): |
color = 4 |
||||||
if lkas_active: |
lines = 0 |
||||||
color = 2 # control active, display green. |
alerts = 6 |
||||||
lines = 6 |
|
||||||
else: |
|
||||||
color = 1 # control off, display white. |
|
||||||
lines = 1 |
|
||||||
|
|
||||||
values = { |
values = { |
||||||
"LKAS_ICON_COLOR": color, # byte 0, last 2 bits |
"LKAS_ICON_COLOR": color, |
||||||
"CAR_MODEL": lkas_car_model, # byte 1 |
"CAR_MODEL": car_model, |
||||||
"LKAS_LANE_LINES": lines, # byte 2, last 4 bits |
"LKAS_LANE_LINES": lines, |
||||||
"LKAS_ALERTS": alerts, # byte 3, last 4 bits |
"LKAS_ALERTS": alerts, |
||||||
} |
} |
||||||
|
|
||||||
return packer.make_can_msg("LKAS_HUD", 0, values) # 0x2a6 |
if CP.carFingerprint in RAM_CARS: |
||||||
|
values['AUTO_HIGH_BEAM_ON'] = auto_high_beam |
||||||
|
|
||||||
|
return packer.make_can_msg("DAS_6", 0, values) |
||||||
|
|
||||||
def create_lkas_command(packer, apply_steer, moving_fast, frame): |
|
||||||
# LKAS_COMMAND 0x292 (658) Lane-keeping signal to turn the wheel. |
def create_lkas_command(packer, CP, apply_steer, lkas_control_bit): |
||||||
|
# LKAS_COMMAND Lane-keeping signal to turn the wheel |
||||||
|
enabled_val = 2 if CP.carFingerprint in RAM_CARS else 1 |
||||||
values = { |
values = { |
||||||
"LKAS_STEERING_TORQUE": apply_steer, |
"STEERING_TORQUE": apply_steer, |
||||||
"LKAS_HIGH_TORQUE": int(moving_fast), |
"LKAS_CONTROL_BIT": enabled_val if lkas_control_bit else 0, |
||||||
"COUNTER": frame % 0x10, |
|
||||||
} |
} |
||||||
return packer.make_can_msg("LKAS_COMMAND", 0, values) |
return packer.make_can_msg("LKAS_COMMAND", 0, values) |
||||||
|
|
||||||
|
|
||||||
def create_wheel_buttons(packer, frame, cancel=False): |
def create_cruise_buttons(packer, frame, bus, cancel=False, resume=False): |
||||||
# WHEEL_BUTTONS (571) Message sent to cancel ACC. |
|
||||||
values = { |
values = { |
||||||
"ACC_CANCEL": cancel, |
"ACC_Cancel": cancel, |
||||||
"COUNTER": frame % 0x10 |
"ACC_Resume": resume, |
||||||
|
"COUNTER": frame % 0x10, |
||||||
} |
} |
||||||
return packer.make_can_msg("WHEEL_BUTTONS", 0, values) |
return packer.make_can_msg("CRUISE_BUTTONS", bus, values) |
||||||
|
@ -1,67 +1,64 @@ |
|||||||
from cereal import car |
from cereal import car |
||||||
from opendbc.can.packer import CANPacker |
from opendbc.can.packer import CANPacker |
||||||
|
from selfdrive.car import apply_std_steer_torque_limits |
||||||
from selfdrive.car.mazda import mazdacan |
from selfdrive.car.mazda import mazdacan |
||||||
from selfdrive.car.mazda.values import CarControllerParams, Buttons |
from selfdrive.car.mazda.values import CarControllerParams, Buttons |
||||||
from selfdrive.car import apply_std_steer_torque_limits |
|
||||||
|
|
||||||
VisualAlert = car.CarControl.HUDControl.VisualAlert |
VisualAlert = car.CarControl.HUDControl.VisualAlert |
||||||
|
|
||||||
class CarController(): |
|
||||||
|
class CarController: |
||||||
def __init__(self, dbc_name, CP, VM): |
def __init__(self, dbc_name, CP, VM): |
||||||
self.CP = CP |
self.CP = CP |
||||||
self.apply_steer_last = 0 |
self.apply_steer_last = 0 |
||||||
self.packer = CANPacker(dbc_name) |
self.packer = CANPacker(dbc_name) |
||||||
self.steer_rate_limited = False |
|
||||||
self.brake_counter = 0 |
self.brake_counter = 0 |
||||||
|
self.frame = 0 |
||||||
|
|
||||||
def update(self, c, CS, frame): |
def update(self, CC, CS): |
||||||
can_sends = [] |
can_sends = [] |
||||||
|
|
||||||
apply_steer = 0 |
apply_steer = 0 |
||||||
self.steer_rate_limited = False |
|
||||||
|
|
||||||
if c.latActive: |
if CC.latActive: |
||||||
# calculate steer and also set limits due to driver torque |
# calculate steer and also set limits due to driver torque |
||||||
new_steer = int(round(c.actuators.steer * CarControllerParams.STEER_MAX)) |
new_steer = int(round(CC.actuators.steer * CarControllerParams.STEER_MAX)) |
||||||
apply_steer = apply_std_steer_torque_limits(new_steer, self.apply_steer_last, |
apply_steer = apply_std_steer_torque_limits(new_steer, self.apply_steer_last, |
||||||
CS.out.steeringTorque, CarControllerParams) |
CS.out.steeringTorque, CarControllerParams) |
||||||
self.steer_rate_limited = new_steer != apply_steer |
|
||||||
|
|
||||||
if c.enabled: |
|
||||||
if CS.out.standstill and frame % 5 == 0: |
|
||||||
# Mazda Stop and Go requires a RES button (or gas) press if the car stops more than 3 seconds |
|
||||||
# Send Resume button at 20hz if we're engaged at standstill to support full stop and go! |
|
||||||
# TODO: improve the resume trigger logic by looking at actual radar data |
|
||||||
can_sends.append(mazdacan.create_button_cmd(self.packer, self.CP.carFingerprint, CS.crz_btns_counter, Buttons.RESUME)) |
|
||||||
|
|
||||||
if c.cruiseControl.cancel: |
if CC.cruiseControl.cancel: |
||||||
# If brake is pressed, let us wait >70ms before trying to disable crz to avoid |
# If brake is pressed, let us wait >70ms before trying to disable crz to avoid |
||||||
# a race condition with the stock system, where the second cancel from openpilot |
# a race condition with the stock system, where the second cancel from openpilot |
||||||
# will disable the crz 'main on'. crz ctrl msg runs at 50hz. 70ms allows us to |
# will disable the crz 'main on'. crz ctrl msg runs at 50hz. 70ms allows us to |
||||||
# read 3 messages and most likely sync state before we attempt cancel. |
# read 3 messages and most likely sync state before we attempt cancel. |
||||||
self.brake_counter = self.brake_counter + 1 |
self.brake_counter = self.brake_counter + 1 |
||||||
if frame % 10 == 0 and not (CS.out.brakePressed and self.brake_counter < 7): |
if self.frame % 10 == 0 and not (CS.out.brakePressed and self.brake_counter < 7): |
||||||
# Cancel Stock ACC if it's enabled while OP is disengaged |
# Cancel Stock ACC if it's enabled while OP is disengaged |
||||||
# Send at a rate of 10hz until we sync with stock ACC state |
# Send at a rate of 10hz until we sync with stock ACC state |
||||||
can_sends.append(mazdacan.create_button_cmd(self.packer, self.CP.carFingerprint, CS.crz_btns_counter, Buttons.CANCEL)) |
can_sends.append(mazdacan.create_button_cmd(self.packer, self.CP.carFingerprint, CS.crz_btns_counter, Buttons.CANCEL)) |
||||||
else: |
else: |
||||||
self.brake_counter = 0 |
self.brake_counter = 0 |
||||||
|
if CC.cruiseControl.resume and self.frame % 5 == 0: |
||||||
|
# Mazda Stop and Go requires a RES button (or gas) press if the car stops more than 3 seconds |
||||||
|
# Send Resume button when planner wants car to move |
||||||
|
can_sends.append(mazdacan.create_button_cmd(self.packer, self.CP.carFingerprint, CS.crz_btns_counter, Buttons.RESUME)) |
||||||
|
|
||||||
self.apply_steer_last = apply_steer |
self.apply_steer_last = apply_steer |
||||||
|
|
||||||
# send HUD alerts |
# send HUD alerts |
||||||
if frame % 50 == 0: |
if self.frame % 50 == 0: |
||||||
ldw = c.hudControl.visualAlert == VisualAlert.ldw |
ldw = CC.hudControl.visualAlert == VisualAlert.ldw |
||||||
steer_required = c.hudControl.visualAlert == VisualAlert.steerRequired |
steer_required = CC.hudControl.visualAlert == VisualAlert.steerRequired |
||||||
# TODO: find a way to silence audible warnings so we can add more hud alerts |
# TODO: find a way to silence audible warnings so we can add more hud alerts |
||||||
steer_required = steer_required and CS.lkas_allowed_speed |
steer_required = steer_required and CS.lkas_allowed_speed |
||||||
can_sends.append(mazdacan.create_alert_command(self.packer, CS.cam_laneinfo, ldw, steer_required)) |
can_sends.append(mazdacan.create_alert_command(self.packer, CS.cam_laneinfo, ldw, steer_required)) |
||||||
|
|
||||||
# send steering command |
# send steering command |
||||||
can_sends.append(mazdacan.create_steering_control(self.packer, self.CP.carFingerprint, |
can_sends.append(mazdacan.create_steering_control(self.packer, self.CP.carFingerprint, |
||||||
frame, apply_steer, CS.cam_lkas)) |
self.frame, apply_steer, CS.cam_lkas)) |
||||||
|
|
||||||
new_actuators = c.actuators.copy() |
new_actuators = CC.actuators.copy() |
||||||
new_actuators.steer = apply_steer / CarControllerParams.STEER_MAX |
new_actuators.steer = apply_steer / CarControllerParams.STEER_MAX |
||||||
|
|
||||||
|
self.frame += 1 |
||||||
return new_actuators, can_sends |
return new_actuators, can_sends |
||||||
|