|
|
|
@ -1,12 +1,12 @@ |
|
|
|
|
from collections import defaultdict, namedtuple |
|
|
|
|
from collections import namedtuple |
|
|
|
|
from dataclasses import dataclass, field |
|
|
|
|
from enum import Enum, IntFlag, StrEnum |
|
|
|
|
from typing import Dict, List, Union |
|
|
|
|
from enum import Enum, IntFlag |
|
|
|
|
|
|
|
|
|
from cereal import car |
|
|
|
|
from panda.python import uds |
|
|
|
|
from opendbc.can.can_define import CANDefine |
|
|
|
|
from openpilot.selfdrive.car import dbc_dict |
|
|
|
|
from openpilot.common.conversions import Conversions as CV |
|
|
|
|
from openpilot.selfdrive.car import dbc_dict, CarSpecs, DbcDict, PlatformConfig, Platforms |
|
|
|
|
from openpilot.selfdrive.car.docs_definitions import CarFootnote, CarHarness, CarInfo, CarParts, Column, \ |
|
|
|
|
Device |
|
|
|
|
from openpilot.selfdrive.car.fw_query_definitions import FwQueryConfig, Request, p16 |
|
|
|
@ -112,49 +112,17 @@ class CANBUS: |
|
|
|
|
class VolkswagenFlags(IntFlag): |
|
|
|
|
STOCK_HCA_PRESENT = 1 |
|
|
|
|
|
|
|
|
|
@dataclass |
|
|
|
|
class VolkswagenMQBPlatformConfig(PlatformConfig): |
|
|
|
|
dbc_dict: DbcDict = field(default_factory=lambda: dbc_dict('vw_mqb', None)) |
|
|
|
|
|
|
|
|
|
# Check the 7th and 8th characters of the VIN before adding a new CAR. If the |
|
|
|
|
# chassis code is already listed below, don't add a new CAR, just add to the |
|
|
|
|
# FW_VERSIONS for that existing CAR. |
|
|
|
|
# Exception: SEAT Leon and SEAT Ateca share a chassis code |
|
|
|
|
|
|
|
|
|
class CAR(StrEnum): |
|
|
|
|
ARTEON_MK1 = "VOLKSWAGEN ARTEON 1ST GEN" # Chassis AN, Mk1 VW Arteon and variants |
|
|
|
|
ATLAS_MK1 = "VOLKSWAGEN ATLAS 1ST GEN" # Chassis CA, Mk1 VW Atlas and Atlas Cross Sport |
|
|
|
|
CRAFTER_MK2 = "VOLKSWAGEN CRAFTER 2ND GEN" # Chassis SY/SZ, Mk2 VW Crafter, VW Grand California, MAN TGE |
|
|
|
|
GOLF_MK7 = "VOLKSWAGEN GOLF 7TH GEN" # Chassis 5G/AU/BA/BE, Mk7 VW Golf and variants |
|
|
|
|
JETTA_MK7 = "VOLKSWAGEN JETTA 7TH GEN" # Chassis BU, Mk7 VW Jetta |
|
|
|
|
PASSAT_MK8 = "VOLKSWAGEN PASSAT 8TH GEN" # Chassis 3G, Mk8 VW Passat and variants |
|
|
|
|
PASSAT_NMS = "VOLKSWAGEN PASSAT NMS" # Chassis A3, North America/China/Mideast NMS Passat, incl. facelift |
|
|
|
|
POLO_MK6 = "VOLKSWAGEN POLO 6TH GEN" # Chassis AW, Mk6 VW Polo |
|
|
|
|
SHARAN_MK2 = "VOLKSWAGEN SHARAN 2ND GEN" # Chassis 7N, Mk2 Volkswagen Sharan and SEAT Alhambra |
|
|
|
|
TAOS_MK1 = "VOLKSWAGEN TAOS 1ST GEN" # Chassis B2, Mk1 VW Taos and Tharu |
|
|
|
|
TCROSS_MK1 = "VOLKSWAGEN T-CROSS 1ST GEN" # Chassis C1, Mk1 VW T-Cross SWB and LWB variants |
|
|
|
|
TIGUAN_MK2 = "VOLKSWAGEN TIGUAN 2ND GEN" # Chassis AD/BW, Mk2 VW Tiguan and variants |
|
|
|
|
TOURAN_MK2 = "VOLKSWAGEN TOURAN 2ND GEN" # Chassis 1T, Mk2 VW Touran and variants |
|
|
|
|
TRANSPORTER_T61 = "VOLKSWAGEN TRANSPORTER T6.1" # Chassis 7H/7L, T6-facelift Transporter/Multivan/Caravelle/California |
|
|
|
|
TROC_MK1 = "VOLKSWAGEN T-ROC 1ST GEN" # Chassis A1, Mk1 VW T-Roc and variants |
|
|
|
|
AUDI_A3_MK3 = "AUDI A3 3RD GEN" # Chassis 8V/FF, Mk3 Audi A3 and variants |
|
|
|
|
AUDI_Q2_MK1 = "AUDI Q2 1ST GEN" # Chassis GA, Mk1 Audi Q2 (RoW) and Q2L (China only) |
|
|
|
|
AUDI_Q3_MK2 = "AUDI Q3 2ND GEN" # Chassis 8U/F3/FS, Mk2 Audi Q3 and variants |
|
|
|
|
SEAT_ATECA_MK1 = "SEAT ATECA 1ST GEN" # Chassis 5F, Mk1 SEAT Ateca and CUPRA Ateca |
|
|
|
|
SEAT_LEON_MK3 = "SEAT LEON 3RD GEN" # Chassis 5F, Mk3 SEAT Leon and variants |
|
|
|
|
SKODA_FABIA_MK4 = "SKODA FABIA 4TH GEN" # Chassis PJ, Mk4 Skoda Fabia |
|
|
|
|
SKODA_KAMIQ_MK1 = "SKODA KAMIQ 1ST GEN" # Chassis NW, Mk1 Skoda Kamiq |
|
|
|
|
SKODA_KAROQ_MK1 = "SKODA KAROQ 1ST GEN" # Chassis NU, Mk1 Skoda Karoq |
|
|
|
|
SKODA_KODIAQ_MK1 = "SKODA KODIAQ 1ST GEN" # Chassis NS, Mk1 Skoda Kodiaq |
|
|
|
|
SKODA_SCALA_MK1 = "SKODA SCALA 1ST GEN" # Chassis NW, Mk1 Skoda Scala and Skoda Kamiq |
|
|
|
|
SKODA_SUPERB_MK3 = "SKODA SUPERB 3RD GEN" # Chassis 3V/NP, Mk3 Skoda Superb and variants |
|
|
|
|
SKODA_OCTAVIA_MK3 = "SKODA OCTAVIA 3RD GEN" # Chassis NE, Mk3 Skoda Octavia and variants |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PQ_CARS = {CAR.PASSAT_NMS, CAR.SHARAN_MK2} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DBC: Dict[str, Dict[str, str]] = defaultdict(lambda: dbc_dict("vw_mqb_2010", None)) |
|
|
|
|
for car_type in PQ_CARS: |
|
|
|
|
DBC[car_type] = dbc_dict("vw_golf_mk4", None) |
|
|
|
|
@dataclass |
|
|
|
|
class VolkswagenPQPlatformConfig(PlatformConfig): |
|
|
|
|
dbc_dict: DbcDict = field(default_factory=lambda: dbc_dict('vw_golf_mk4', None)) |
|
|
|
|
|
|
|
|
|
@dataclass(kw_only=True) |
|
|
|
|
class VolkswagenCarSpecs(CarSpecs): |
|
|
|
|
steerRatio: float = field(default=15.6) |
|
|
|
|
|
|
|
|
|
class Footnote(Enum): |
|
|
|
|
KAMIQ = CarFootnote( |
|
|
|
@ -176,7 +144,6 @@ class Footnote(Enum): |
|
|
|
|
"in software, but doesn't yet have a harness available from the comma store.", |
|
|
|
|
Column.HARDWARE) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@dataclass |
|
|
|
|
class VWCarInfo(CarInfo): |
|
|
|
|
package: str = "Adaptive Cruise Control (ACC) & Lane Assist" |
|
|
|
@ -190,90 +157,202 @@ class VWCarInfo(CarInfo): |
|
|
|
|
if CP.carFingerprint in (CAR.CRAFTER_MK2, CAR.TRANSPORTER_T61): |
|
|
|
|
self.car_parts = CarParts([Device.threex_angled_mount, CarHarness.j533]) |
|
|
|
|
|
|
|
|
|
# Check the 7th and 8th characters of the VIN before adding a new CAR. If the |
|
|
|
|
# chassis code is already listed below, don't add a new CAR, just add to the |
|
|
|
|
# FW_VERSIONS for that existing CAR. |
|
|
|
|
# Exception: SEAT Leon and SEAT Ateca share a chassis code |
|
|
|
|
|
|
|
|
|
CAR_INFO: Dict[str, Union[VWCarInfo, List[VWCarInfo]]] = { |
|
|
|
|
CAR.ARTEON_MK1: [ |
|
|
|
|
VWCarInfo("Volkswagen Arteon 2018-23", video_link="https://youtu.be/FAomFKPFlDA"), |
|
|
|
|
VWCarInfo("Volkswagen Arteon R 2020-23", video_link="https://youtu.be/FAomFKPFlDA"), |
|
|
|
|
VWCarInfo("Volkswagen Arteon eHybrid 2020-23", video_link="https://youtu.be/FAomFKPFlDA"), |
|
|
|
|
VWCarInfo("Volkswagen CC 2018-22", video_link="https://youtu.be/FAomFKPFlDA"), |
|
|
|
|
], |
|
|
|
|
CAR.ATLAS_MK1: [ |
|
|
|
|
VWCarInfo("Volkswagen Atlas 2018-23"), |
|
|
|
|
VWCarInfo("Volkswagen Atlas Cross Sport 2020-22"), |
|
|
|
|
VWCarInfo("Volkswagen Teramont 2018-22"), |
|
|
|
|
VWCarInfo("Volkswagen Teramont Cross Sport 2021-22"), |
|
|
|
|
VWCarInfo("Volkswagen Teramont X 2021-22"), |
|
|
|
|
], |
|
|
|
|
CAR.CRAFTER_MK2: [ |
|
|
|
|
VWCarInfo("Volkswagen Crafter 2017-23", video_link="https://youtu.be/4100gLeabmo"), |
|
|
|
|
VWCarInfo("Volkswagen e-Crafter 2018-23", video_link="https://youtu.be/4100gLeabmo"), |
|
|
|
|
VWCarInfo("Volkswagen Grand California 2019-23", video_link="https://youtu.be/4100gLeabmo"), |
|
|
|
|
VWCarInfo("MAN TGE 2017-23", video_link="https://youtu.be/4100gLeabmo"), |
|
|
|
|
VWCarInfo("MAN eTGE 2020-23", video_link="https://youtu.be/4100gLeabmo"), |
|
|
|
|
], |
|
|
|
|
CAR.GOLF_MK7: [ |
|
|
|
|
VWCarInfo("Volkswagen e-Golf 2014-20"), |
|
|
|
|
VWCarInfo("Volkswagen Golf 2015-20", auto_resume=False), |
|
|
|
|
VWCarInfo("Volkswagen Golf Alltrack 2015-19", auto_resume=False), |
|
|
|
|
VWCarInfo("Volkswagen Golf GTD 2015-20"), |
|
|
|
|
VWCarInfo("Volkswagen Golf GTE 2015-20"), |
|
|
|
|
VWCarInfo("Volkswagen Golf GTI 2015-21", auto_resume=False), |
|
|
|
|
VWCarInfo("Volkswagen Golf R 2015-19"), |
|
|
|
|
VWCarInfo("Volkswagen Golf SportsVan 2015-20"), |
|
|
|
|
], |
|
|
|
|
CAR.JETTA_MK7: [ |
|
|
|
|
VWCarInfo("Volkswagen Jetta 2018-24"), |
|
|
|
|
VWCarInfo("Volkswagen Jetta GLI 2021-24"), |
|
|
|
|
], |
|
|
|
|
CAR.PASSAT_MK8: [ |
|
|
|
|
VWCarInfo("Volkswagen Passat 2015-22", footnotes=[Footnote.PASSAT]), |
|
|
|
|
VWCarInfo("Volkswagen Passat Alltrack 2015-22"), |
|
|
|
|
VWCarInfo("Volkswagen Passat GTE 2015-22"), |
|
|
|
|
], |
|
|
|
|
CAR.PASSAT_NMS: VWCarInfo("Volkswagen Passat NMS 2017-22"), |
|
|
|
|
CAR.POLO_MK6: [ |
|
|
|
|
VWCarInfo("Volkswagen Polo 2018-23", footnotes=[Footnote.VW_MQB_A0]), |
|
|
|
|
VWCarInfo("Volkswagen Polo GTI 2018-23", footnotes=[Footnote.VW_MQB_A0]), |
|
|
|
|
], |
|
|
|
|
CAR.SHARAN_MK2: [ |
|
|
|
|
VWCarInfo("Volkswagen Sharan 2018-22"), |
|
|
|
|
VWCarInfo("SEAT Alhambra 2018-20"), |
|
|
|
|
], |
|
|
|
|
CAR.TAOS_MK1: VWCarInfo("Volkswagen Taos 2022-23"), |
|
|
|
|
CAR.TCROSS_MK1: VWCarInfo("Volkswagen T-Cross 2021", footnotes=[Footnote.VW_MQB_A0]), |
|
|
|
|
CAR.TIGUAN_MK2: [ |
|
|
|
|
VWCarInfo("Volkswagen Tiguan 2018-24"), |
|
|
|
|
VWCarInfo("Volkswagen Tiguan eHybrid 2021-23"), |
|
|
|
|
], |
|
|
|
|
CAR.TOURAN_MK2: VWCarInfo("Volkswagen Touran 2016-23"), |
|
|
|
|
CAR.TRANSPORTER_T61: [ |
|
|
|
|
VWCarInfo("Volkswagen Caravelle 2020"), |
|
|
|
|
VWCarInfo("Volkswagen California 2021-23"), |
|
|
|
|
], |
|
|
|
|
CAR.TROC_MK1: VWCarInfo("Volkswagen T-Roc 2018-22", footnotes=[Footnote.VW_MQB_A0]), |
|
|
|
|
CAR.AUDI_A3_MK3: [ |
|
|
|
|
VWCarInfo("Audi A3 2014-19"), |
|
|
|
|
VWCarInfo("Audi A3 Sportback e-tron 2017-18"), |
|
|
|
|
VWCarInfo("Audi RS3 2018"), |
|
|
|
|
VWCarInfo("Audi S3 2015-17"), |
|
|
|
|
], |
|
|
|
|
CAR.AUDI_Q2_MK1: VWCarInfo("Audi Q2 2018"), |
|
|
|
|
CAR.AUDI_Q3_MK2: VWCarInfo("Audi Q3 2019-23"), |
|
|
|
|
CAR.SEAT_ATECA_MK1: VWCarInfo("SEAT Ateca 2018"), |
|
|
|
|
CAR.SEAT_LEON_MK3: VWCarInfo("SEAT Leon 2014-20"), |
|
|
|
|
CAR.SKODA_FABIA_MK4: VWCarInfo("Škoda Fabia 2022-23", footnotes=[Footnote.VW_MQB_A0]), |
|
|
|
|
CAR.SKODA_KAMIQ_MK1: VWCarInfo("Škoda Kamiq 2021-23", footnotes=[Footnote.VW_MQB_A0, Footnote.KAMIQ]), |
|
|
|
|
CAR.SKODA_KAROQ_MK1: VWCarInfo("Škoda Karoq 2019-23"), |
|
|
|
|
CAR.SKODA_KODIAQ_MK1: VWCarInfo("Škoda Kodiaq 2017-23"), |
|
|
|
|
CAR.SKODA_SCALA_MK1: VWCarInfo("Škoda Scala 2020-23", footnotes=[Footnote.VW_MQB_A0]), |
|
|
|
|
CAR.SKODA_SUPERB_MK3: VWCarInfo("Škoda Superb 2015-22"), |
|
|
|
|
CAR.SKODA_OCTAVIA_MK3: [ |
|
|
|
|
VWCarInfo("Škoda Octavia 2015-19"), |
|
|
|
|
VWCarInfo("Škoda Octavia RS 2016"), |
|
|
|
|
], |
|
|
|
|
} |
|
|
|
|
class CAR(Platforms): |
|
|
|
|
ARTEON_MK1 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"VOLKSWAGEN ARTEON 1ST GEN", # Chassis AN |
|
|
|
|
[ |
|
|
|
|
VWCarInfo("Volkswagen Arteon 2018-23", video_link="https://youtu.be/FAomFKPFlDA"), |
|
|
|
|
VWCarInfo("Volkswagen Arteon R 2020-23", video_link="https://youtu.be/FAomFKPFlDA"), |
|
|
|
|
VWCarInfo("Volkswagen Arteon eHybrid 2020-23", video_link="https://youtu.be/FAomFKPFlDA"), |
|
|
|
|
VWCarInfo("Volkswagen CC 2018-22", video_link="https://youtu.be/FAomFKPFlDA"), |
|
|
|
|
], |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1733, wheelbase=2.84), |
|
|
|
|
) |
|
|
|
|
ATLAS_MK1 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"VOLKSWAGEN ATLAS 1ST GEN", # Chassis CA |
|
|
|
|
[ |
|
|
|
|
VWCarInfo("Volkswagen Atlas 2018-23"), |
|
|
|
|
VWCarInfo("Volkswagen Atlas Cross Sport 2020-22"), |
|
|
|
|
VWCarInfo("Volkswagen Teramont 2018-22"), |
|
|
|
|
VWCarInfo("Volkswagen Teramont Cross Sport 2021-22"), |
|
|
|
|
VWCarInfo("Volkswagen Teramont X 2021-22"), |
|
|
|
|
], |
|
|
|
|
specs=VolkswagenCarSpecs(mass=2011, wheelbase=2.98), |
|
|
|
|
) |
|
|
|
|
CRAFTER_MK2 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"VOLKSWAGEN CRAFTER 2ND GEN", # Chassis SY/SZ |
|
|
|
|
[ |
|
|
|
|
VWCarInfo("Volkswagen Crafter 2017-23", video_link="https://youtu.be/4100gLeabmo"), |
|
|
|
|
VWCarInfo("Volkswagen e-Crafter 2018-23", video_link="https://youtu.be/4100gLeabmo"), |
|
|
|
|
VWCarInfo("Volkswagen Grand California 2019-23", video_link="https://youtu.be/4100gLeabmo"), |
|
|
|
|
VWCarInfo("MAN TGE 2017-23", video_link="https://youtu.be/4100gLeabmo"), |
|
|
|
|
VWCarInfo("MAN eTGE 2020-23", video_link="https://youtu.be/4100gLeabmo"), |
|
|
|
|
], |
|
|
|
|
specs=VolkswagenCarSpecs(mass=2100, wheelbase=3.64, minSteerSpeed=50 * CV.KPH_TO_MS), |
|
|
|
|
) |
|
|
|
|
GOLF_MK7 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"VOLKSWAGEN GOLF 7TH GEN", # Chassis 5G/AU/BA/BE |
|
|
|
|
[ |
|
|
|
|
VWCarInfo("Volkswagen e-Golf 2014-20"), |
|
|
|
|
VWCarInfo("Volkswagen Golf 2015-20", auto_resume=False), |
|
|
|
|
VWCarInfo("Volkswagen Golf Alltrack 2015-19", auto_resume=False), |
|
|
|
|
VWCarInfo("Volkswagen Golf GTD 2015-20"), |
|
|
|
|
VWCarInfo("Volkswagen Golf GTE 2015-20"), |
|
|
|
|
VWCarInfo("Volkswagen Golf GTI 2015-21", auto_resume=False), |
|
|
|
|
VWCarInfo("Volkswagen Golf R 2015-19"), |
|
|
|
|
VWCarInfo("Volkswagen Golf SportsVan 2015-20"), |
|
|
|
|
], |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1733, wheelbase=2.84), |
|
|
|
|
) |
|
|
|
|
JETTA_MK7 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"VOLKSWAGEN JETTA 7TH GEN", # Chassis BU |
|
|
|
|
[ |
|
|
|
|
VWCarInfo("Volkswagen Jetta 2018-24"), |
|
|
|
|
VWCarInfo("Volkswagen Jetta GLI 2021-24"), |
|
|
|
|
], |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1328, wheelbase=2.71), |
|
|
|
|
) |
|
|
|
|
PASSAT_MK8 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"VOLKSWAGEN PASSAT 8TH GEN", # Chassis 3G |
|
|
|
|
[ |
|
|
|
|
VWCarInfo("Volkswagen Passat 2015-22", footnotes=[Footnote.PASSAT]), |
|
|
|
|
VWCarInfo("Volkswagen Passat Alltrack 2015-22"), |
|
|
|
|
VWCarInfo("Volkswagen Passat GTE 2015-22"), |
|
|
|
|
], |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1551, wheelbase=2.79), |
|
|
|
|
) |
|
|
|
|
PASSAT_NMS = VolkswagenPQPlatformConfig( |
|
|
|
|
"VOLKSWAGEN PASSAT NMS", # Chassis A3 |
|
|
|
|
VWCarInfo("Volkswagen Passat NMS 2017-22"), |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1503, wheelbase=2.80, minSteerSpeed=50*CV.KPH_TO_MS, minEnableSpeed=20*CV.KPH_TO_MS), |
|
|
|
|
) |
|
|
|
|
POLO_MK6 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"VOLKSWAGEN POLO 6TH GEN", # Chassis AW |
|
|
|
|
[ |
|
|
|
|
VWCarInfo("Volkswagen Polo 2018-23", footnotes=[Footnote.VW_MQB_A0]), |
|
|
|
|
VWCarInfo("Volkswagen Polo GTI 2018-23", footnotes=[Footnote.VW_MQB_A0]), |
|
|
|
|
], |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1230, wheelbase=2.55), |
|
|
|
|
) |
|
|
|
|
SHARAN_MK2 = VolkswagenPQPlatformConfig( |
|
|
|
|
"VOLKSWAGEN SHARAN 2ND GEN", # Chassis 7N |
|
|
|
|
[ |
|
|
|
|
VWCarInfo("Volkswagen Sharan 2018-22"), |
|
|
|
|
VWCarInfo("SEAT Alhambra 2018-20"), |
|
|
|
|
], |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1639, wheelbase=2.92, minSteerSpeed=50*CV.KPH_TO_MS), |
|
|
|
|
) |
|
|
|
|
TAOS_MK1 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"VOLKSWAGEN TAOS 1ST GEN", # Chassis B2 |
|
|
|
|
VWCarInfo("Volkswagen Taos 2022-23"), |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1498, wheelbase=2.69), |
|
|
|
|
) |
|
|
|
|
TCROSS_MK1 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"VOLKSWAGEN T-CROSS 1ST GEN", # Chassis C1 |
|
|
|
|
car_info=VWCarInfo("Volkswagen T-Cross 2021", footnotes=[Footnote.VW_MQB_A0]), |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1150, wheelbase=2.60), |
|
|
|
|
) |
|
|
|
|
TIGUAN_MK2 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"VOLKSWAGEN TIGUAN 2ND GEN", # Chassis AD/BW |
|
|
|
|
[ |
|
|
|
|
VWCarInfo("Volkswagen Tiguan 2018-24"), |
|
|
|
|
VWCarInfo("Volkswagen Tiguan eHybrid 2021-23"), |
|
|
|
|
], |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1715, wheelbase=2.74), |
|
|
|
|
) |
|
|
|
|
TOURAN_MK2 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"VOLKSWAGEN TOURAN 2ND GEN", # Chassis 1T |
|
|
|
|
VWCarInfo("Volkswagen Touran 2016-23"), |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1516, wheelbase=2.79), |
|
|
|
|
) |
|
|
|
|
TRANSPORTER_T61 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"VOLKSWAGEN TRANSPORTER T6.1", # Chassis 7H/7L |
|
|
|
|
[ |
|
|
|
|
VWCarInfo("Volkswagen Caravelle 2020"), |
|
|
|
|
VWCarInfo("Volkswagen California 2021-23"), |
|
|
|
|
], |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1926, wheelbase=3.00, minSteerSpeed=14.0), |
|
|
|
|
) |
|
|
|
|
TROC_MK1 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"VOLKSWAGEN T-ROC 1ST GEN", # Chassis A1 |
|
|
|
|
VWCarInfo("Volkswagen T-Roc 2018-22", footnotes=[Footnote.VW_MQB_A0]), |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1413, wheelbase=2.63), |
|
|
|
|
) |
|
|
|
|
AUDI_A3_MK3 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"AUDI A3 3RD GEN", # Chassis 8V/FF |
|
|
|
|
[ |
|
|
|
|
VWCarInfo("Audi A3 2014-19"), |
|
|
|
|
VWCarInfo("Audi A3 Sportback e-tron 2017-18"), |
|
|
|
|
VWCarInfo("Audi RS3 2018"), |
|
|
|
|
VWCarInfo("Audi S3 2015-17"), |
|
|
|
|
], |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1335, wheelbase=2.61), |
|
|
|
|
) |
|
|
|
|
AUDI_Q2_MK1 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"AUDI Q2 1ST GEN", # Chassis GA |
|
|
|
|
VWCarInfo("Audi Q2 2018"), |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1205, wheelbase=2.61), |
|
|
|
|
) |
|
|
|
|
AUDI_Q3_MK2 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"AUDI Q3 2ND GEN", # Chassis 8U/F3/FS |
|
|
|
|
VWCarInfo("Audi Q3 2019-23"), |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1623, wheelbase=2.68), |
|
|
|
|
) |
|
|
|
|
SEAT_ATECA_MK1 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"SEAT ATECA 1ST GEN", # Chassis 5F |
|
|
|
|
VWCarInfo("SEAT Ateca 2018"), |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1900, wheelbase=2.64), |
|
|
|
|
) |
|
|
|
|
SEAT_LEON_MK3 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"SEAT LEON 3RD GEN", # Chassis 5F |
|
|
|
|
VWCarInfo("SEAT Leon 2014-20"), |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1227, wheelbase=2.64), |
|
|
|
|
) |
|
|
|
|
SKODA_FABIA_MK4 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"SKODA FABIA 4TH GEN", # Chassis PJ |
|
|
|
|
VWCarInfo("Škoda Fabia 2022-23", footnotes=[Footnote.VW_MQB_A0]), |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1226, wheelbase=2.56), |
|
|
|
|
) |
|
|
|
|
SKODA_KAMIQ_MK1 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"SKODA KAMIQ 1ST GEN", # Chassis NW |
|
|
|
|
VWCarInfo("Škoda Kamiq 2021-23", footnotes=[Footnote.VW_MQB_A0, Footnote.KAMIQ]), |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1265, wheelbase=2.66), |
|
|
|
|
) |
|
|
|
|
SKODA_KAROQ_MK1 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"SKODA KAROQ 1ST GEN", # Chassis NU |
|
|
|
|
VWCarInfo("Škoda Karoq 2019-23"), |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1278, wheelbase=2.66), |
|
|
|
|
) |
|
|
|
|
SKODA_KODIAQ_MK1 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"SKODA KODIAQ 1ST GEN", # Chassis NS |
|
|
|
|
VWCarInfo("Škoda Kodiaq 2017-23"), |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1569, wheelbase=2.79), |
|
|
|
|
) |
|
|
|
|
SKODA_OCTAVIA_MK3 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"SKODA OCTAVIA 3RD GEN", # Chassis NE |
|
|
|
|
[ |
|
|
|
|
VWCarInfo("Škoda Octavia 2015-19"), |
|
|
|
|
VWCarInfo("Škoda Octavia RS 2016"), |
|
|
|
|
], |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1388, wheelbase=2.68), |
|
|
|
|
) |
|
|
|
|
SKODA_SCALA_MK1 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"SKODA SCALA 1ST GEN", # Chassis NW |
|
|
|
|
VWCarInfo("Škoda Scala 2020-23", footnotes=[Footnote.VW_MQB_A0]), |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1192, wheelbase=2.65), |
|
|
|
|
) |
|
|
|
|
SKODA_SUPERB_MK3 = VolkswagenMQBPlatformConfig( |
|
|
|
|
"SKODA SUPERB 3RD GEN", # Chassis 3V/NP |
|
|
|
|
VWCarInfo("Škoda Superb 2015-22"), |
|
|
|
|
specs=VolkswagenCarSpecs(mass=1505, wheelbase=2.84), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
PQ_CARS = {CAR.PASSAT_NMS, CAR.SHARAN_MK2} |
|
|
|
|
|
|
|
|
|
# All supported cars should return FW from the engine, srs, eps, and fwdRadar. Cars |
|
|
|
|
# with a manual trans won't return transmission firmware, but all other cars will. |
|
|
|
@ -307,3 +386,6 @@ FW_QUERY_CONFIG = FwQueryConfig( |
|
|
|
|
), |
|
|
|
|
], |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
CAR_INFO = CAR.create_carinfo_map() |
|
|
|
|
DBC = CAR.create_dbc_map() |
|
|
|
|