From 1ac94560002f4f5ff8dc607b46a8899b0e27671a Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Tue, 22 Mar 2022 14:11:52 -0700 Subject: [PATCH] no more generator --- docs/CARS.md | 171 ++++++++++++++++++++++++++++++++++++++++++ selfdrive/car/docs.py | 14 ++-- 2 files changed, 178 insertions(+), 7 deletions(-) diff --git a/docs/CARS.md b/docs/CARS.md index ea1efc969b..b9dbf88242 100644 --- a/docs/CARS.md +++ b/docs/CARS.md @@ -34,6 +34,177 @@ How We Rate The Cars **All supported cars can move between the tiers as support changes.** +## Gold Cars + +|Make|Model|Supported Package|openpilot ACC|Stop and Go|Steer to 0|Steering Torque|Actively Maintained| +|---|---|---|:---:|:---:|:---:|:---:|:---:| +|Genesis|G70 2020|All|||||| +|Hyundai|Palisade 2020-21|All|||||| +|Hyundai|Santa Fe 2019-20|All|||||| +|Hyundai|Sonata 2020-22|All|||||| +|Hyundai|Sonata Hybrid 2021-22|All|||||| +|Kia|Niro Electric 2019-22|All|||||| +|Kia|Telluride 2020|SCC + LKAS|||||| +|Lexus|ES 2019-21|All|||||| +|Lexus|ES Hybrid 2019-21|All|||||| +|Lexus|NX 2020|All|||||| +|Lexus|RX 2020-21|All|||||| +|Lexus|RX Hybrid 2020-21|All|||||| +|Lexus|UX Hybrid 2019-21|All|||||| +|Toyota|Alphard 2019-20|All|||||| +|Toyota|Avalon 2022|All|||||| +|Toyota|Camry 2021-22|All||[7](#Footnotes)|||| +|Toyota|Camry Hybrid 2021-22|All|||||| +|Toyota|Corolla 2020-22|All|||||| +|Toyota|Corolla Hatchback 2019-22|All|||||| +|Toyota|Corolla Hybrid 2020-22|All|||||| +|Toyota|Highlander 2020-22|All|||||| +|Toyota|Highlander Hybrid 2020-22|All|||||| +|Toyota|Mirai 2021|All|||||| +|Toyota|Prius 2021-22|All|||||| +|Toyota|Prius Prime 2021-22|All|||||| +|Toyota|RAV4 2019-21|All|||||| +|Toyota|RAV4 Hybrid 2019-21|All|||||| + +## Silver Cars + +|Make|Model|Supported Package|openpilot ACC|Stop and Go|Steer to 0|Steering Torque|Actively Maintained| +|---|---|---|:---:|:---:|:---:|:---:|:---:| +|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|S3 2015-17|ACC + Lane Assist|||||| +|Genesis|G70 2018|All|||||| +|Genesis|G80 2018|All|||||| +|Hyundai|Elantra 2021-22|SCC + LKAS|||||| +|Hyundai|Elantra Hybrid 2021|SCC + LKAS|||||| +|Hyundai|Ioniq Electric 2020|SCC + LKAS|||||| +|Hyundai|Ioniq Hybrid 2020-22|SCC + LFA|||||| +|Hyundai|Ioniq Plug-In Hybrid 2020-21|SCC + LKAS|||||| +|Hyundai|Kona 2020|SCC + LKAS|||||| +|Hyundai|Kona Electric 2018-19|SCC + LKAS|||||| +|Hyundai|Kona Hybrid 2020|SCC + LKAS|||||| +|Hyundai|Santa Fe 2021-22|All|||||| +|Hyundai|Santa Fe Hybrid 2022|All|||||| +|Hyundai|Santa Fe Plug-In Hybrid 2022|All|||||| +|Hyundai|Sonata 2018-19|SCC + LKAS|||||| +|Kia|Ceed 2019|SCC + LKAS|||||| +|Kia|Forte 2018-21|SCC + LKAS|||||| +|Kia|K5 2021-22|SCC + LFA|||||| +|Kia|Niro Hybrid 2021-22|SCC + LKAS|||||| +|Kia|Optima 2019|SCC + LKAS|||||| +|Kia|Seltos 2021|SCC + LKAS|||||| +|Kia|Sorento 2018-19|SCC + LKAS|||||| +|Kia|Stinger 2018|SCC + LKAS|||||| +|Lexus|CT Hybrid 2017-18|LSS|[6](#Footnotes)||||| +|Lexus|ES Hybrid 2017-18|LSS|[6](#Footnotes)||||| +|Lexus|NX 2018-19|All|[6](#Footnotes)||||| +|Lexus|NX Hybrid 2018-19|All|[6](#Footnotes)||||| +|Lexus|RX 2016-18|All|[6](#Footnotes)||||| +|Lexus|RX Hybrid 2016-19|All|[6](#Footnotes)||||| +|SEAT|Ateca 2018|Driver Assistance|||||| +|SEAT|Leon 2014-20|Driver Assistance|||||| +|Toyota|Avalon 2019-21|TSS-P|[6](#Footnotes)||||| +|Toyota|Avalon Hybrid 2019-21|TSS-P|[6](#Footnotes)||||| +|Toyota|C-HR 2017-21|All|||||| +|Toyota|C-HR Hybrid 2017-19|All|||||| +|Toyota|Camry 2018-20|All||[7](#Footnotes)|||| +|Toyota|Camry Hybrid 2018-20|All||[7](#Footnotes)|||| +|Toyota|Highlander 2017-19|All|[6](#Footnotes)||||| +|Toyota|Highlander Hybrid 2017-19|All|[6](#Footnotes)||||| +|Toyota|RAV4 Hybrid 2016-18|TSS-P|[6](#Footnotes)||||| +|Toyota|Sienna 2018-20|All|[6](#Footnotes)||||| +|Volkswagen|Arteon 2018, 2021[5](#Footnotes)|Driver Assistance|||||| +|Volkswagen|Atlas 2018-19, 2022[5](#Footnotes)|Driver Assistance|||||| +|Volkswagen|Golf 2015-20|Driver Assistance|||||| +|Volkswagen|Golf Alltrack 2017-18|Driver Assistance|||||| +|Volkswagen|Golf GTE 2016|Driver Assistance|||||| +|Volkswagen|Golf GTI 2018-20|Driver Assistance|||||| +|Volkswagen|Golf R 2016-19|Driver Assistance|||||| +|Volkswagen|Golf SportWagen 2015|Driver Assistance|||||| +|Volkswagen|Golf SportsVan 2016|Driver Assistance|||||| +|Volkswagen|Jetta 2018-21|Driver Assistance|||||| +|Volkswagen|Jetta GLI 2021|Driver Assistance|||||| +|Volkswagen|Passat 2016-18[4](#Footnotes)|Driver Assistance|||||| +|Volkswagen|Polo 2020|Driver Assistance|||||| +|Volkswagen|T-Cross 2021[5](#Footnotes)|Driver Assistance|||||| +|Volkswagen|T-Roc 2021[5](#Footnotes)|Driver Assistance|||||| +|Volkswagen|Taos 2022[5](#Footnotes)|Driver Assistance|||||| +|Volkswagen|Tiguan 2020-22[5](#Footnotes)|Driver Assistance|||||| +|Volkswagen|Touran 2017|Driver Assistance|||||| +|Volkswagen|e-Golf 2014, 2019-20|Driver Assistance|||||| +|Škoda|Kamiq 2021[3](#Footnotes)|Driver Assistance|||||| +|Škoda|Karoq 2019|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|||||| + +## Bronze Cars + +|Make|Model|Supported Package|openpilot ACC|Stop and Go|Steer to 0|Steering Torque|Actively Maintained| +|---|---|---|:---:|:---:|:---:|:---:|:---:| +|Acura|ILX 2016-19|AcuraWatch Plus|||||| +|Acura|RDX 2016-18|AcuraWatch Plus|||||| +|Acura|RDX 2019-21|All|||||| +|Cadillac|Escalade ESV 2016[2](#Footnotes)|ACC + LKAS|||||| +|Chevrolet|Volt 2017-18[2](#Footnotes)|Adaptive Cruise|||||| +|Chrysler|Pacifica 2017-18|Adaptive Cruise|||||| +|Chrysler|Pacifica 2020|Adaptive Cruise|||||| +|Chrysler|Pacifica Hybrid 2017-18|Adaptive Cruise|||||| +|Chrysler|Pacifica Hybrid 2019-21|Adaptive Cruise|||||| +|GMC|Acadia 2018[2](#Footnotes)|Adaptive Cruise|||||| +|Genesis|G90 2018|All|||||| +|Honda|Accord 2018-21|All|||||| +|Honda|Accord Hybrid 2018-21|All|||||| +|Honda|CR-V 2015-16|Touring|||||| +|Honda|CR-V 2017-21|Honda Sensing|||||| +|Honda|CR-V Hybrid 2017-19|Honda Sensing|||||| +|Honda|Civic 2016-18|Honda Sensing|||||| +|Honda|Civic 2019-20|All|||[1](#Footnotes)||| +|Honda|Civic Hatchback 2017-21|Honda Sensing|||||| +|Honda|Fit 2018-19|Honda Sensing|||||| +|Honda|Freed 2020|Honda Sensing|||||| +|Honda|HR-V 2019-20|Honda Sensing|||||| +|Honda|Insight 2019-21|All|||||| +|Honda|Inspire 2018|All|||||| +|Honda|Odyssey 2018-20|Honda Sensing|||||| +|Honda|Passport 2019-21|All|||||| +|Honda|Pilot 2016-21|Honda Sensing|||||| +|Honda|Ridgeline 2017-21|Honda Sensing|||||| +|Honda|e 2020|All|||||| +|Hyundai|Elantra 2017-19|SCC + LKAS|||||| +|Hyundai|Genesis 2015-16|SCC + LKAS|||||| +|Hyundai|Ioniq Electric 2019|SCC + LKAS|||||| +|Hyundai|Ioniq Hybrid 2017-19|SCC + LKAS|||||| +|Hyundai|Veloster 2019-20|SCC + LKAS|||||| +|Jeep|Grand Cherokee 2016-18|Adaptive Cruise|||||| +|Jeep|Grand Cherokee 2019-20|Adaptive Cruise|||||| +|Kia|Niro Plug-In Hybrid 2019|SCC + LKAS|||||| +|Kia|Optima 2017|SCC + LKAS|||||| +|Lexus|IS 2017-19|All|||||| +|Lexus|RC 2020|All|||||| +|Mazda|CX-5 2022|All|||||| +|Mazda|CX-9 2021|All|||||| +|Nissan|Altima 2019-20|ProPILOT|||||| +|Nissan|Leaf 2018-22|ProPILOT|||||| +|Nissan|Rogue 2018-20|ProPILOT|||||| +|Nissan|X-Trail 2017|ProPILOT|||||| +|Subaru|Ascent 2019|EyeSight|||||| +|Subaru|Crosstrek 2018-20|EyeSight|||||| +|Subaru|Forester 2019-21|EyeSight|||||| +|Subaru|Impreza 2017-19|EyeSight|||||| +|Toyota|Avalon 2016-18|TSS-P|[6](#Footnotes)||||| +|Toyota|Corolla 2017-19|All|[6](#Footnotes)||||| +|Toyota|Prius 2016-20|TSS-P|[6](#Footnotes)|||[8](#Footnotes)|| +|Toyota|Prius Prime 2017-20|All|[6](#Footnotes)|||[8](#Footnotes)|| +|Toyota|Prius v 2017|TSS-P|[6](#Footnotes)|||[8](#Footnotes)|| +|Toyota|RAV4 2016-18|TSS-P|[6](#Footnotes)||||| +|Volkswagen|California 2021[5](#Footnotes)|Driver Assistance|||||| +|Volkswagen|Caravelle 2020[5](#Footnotes)|Driver Assistance|||||| + 12019 Honda Civic 1.6L Diesel Sedan does not have ALC below 12mph.
2Requires an [OBD-II](https://comma.ai/shop/products/comma-car-harness) car harness and [community built ASCM harness](https://github.com/commaai/openpilot/wiki/GM#hardware). NOTE: disconnecting the ASCM disables Automatic Emergency Braking (AEB).
diff --git a/selfdrive/car/docs.py b/selfdrive/car/docs.py index c9516b0660..445197e9e1 100755 --- a/selfdrive/car/docs.py +++ b/selfdrive/car/docs.py @@ -6,7 +6,7 @@ from enum import Enum from typing import Dict, Iterator, List, Tuple from common.basedir import BASEDIR -from selfdrive.car.docs_definitions import Column, Star, Tier +from selfdrive.car.docs_definitions import Column, RowItem, Star, Tier from selfdrive.car.car_helpers import interfaces, get_interface_attr from selfdrive.car.hyundai.radar_interface import RADAR_START_ADDR as HKG_RADAR_START_ADDR from selfdrive.car.tests.routes import non_tested_cars @@ -23,11 +23,9 @@ def get_all_footnotes(): ALL_FOOTNOTES: Dict[Enum, int] = get_all_footnotes() CARS_MD_OUT = os.path.join(BASEDIR, "docs", "CARS.md") CARS_MD_TEMPLATE = os.path.join(BASEDIR, "selfdrive", "car", "CARS_template.md") -# CARS_MD_OUT = os.path.join(BASEDIR, "docs", "vehicles.vue") -# CARS_MD_TEMPLATE = os.path.join(BASEDIR, "docs", "vehicles_template.vue") -def get_tier_car_rows() -> Iterator[Tuple[str, List[str]]]: # TODO: update typing +def get_tier_car_rows() -> List[Tuple[Tier, List[RowItem]]]: tier_car_rows: Dict[Tier, list] = {tier: [] for tier in Tier} for models in get_interface_attr("CAR_INFO").values(): @@ -48,12 +46,14 @@ def get_tier_car_rows() -> Iterator[Tuple[str, List[str]]]: # TODO: update typi tier = {5: Tier.GOLD, 4: Tier.SILVER}.get(stars.count(Star.FULL), Tier.BRONZE) tier_car_rows[tier].append(_car_info.get_row(ALL_FOOTNOTES, stars)) - # Return tier title and car rows for each tier + # Return tier enum and car rows for each tier + tiers = [] for tier, car_rows in tier_car_rows.items(): - yield tier, sorted(car_rows, key=lambda x: x[0].text + x[1].text) + tiers.append((tier, sorted(car_rows, key=lambda x: x[0].text + x[1].text))) + return tiers -def generate_cars_md(tier_car_rows: Iterator[Tuple[str, List[str]]], template_fn: str) -> str: +def generate_cars_md(tier_car_rows: List[Tuple[Tier, List[RowItem]]], template_fn: str) -> str: with open(template_fn, "r") as f: template = jinja2.Template(f.read(), trim_blocks=True, lstrip_blocks=True)