@ -1,11 +1,12 @@
from collections import defaultdict , namedtuple
from collections import namedtuple
from dataclasses import dataclass , field
from enum import Enum , IntFlag , StrEnum
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
@ -111,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_2010 ' , 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 (
@ -189,90 +158,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 , 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 = 1397 , wheelbase = 2.62 ) ,
)
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 = 1266 , 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.
@ -313,3 +394,6 @@ FW_QUERY_CONFIG = FwQueryConfig(
) ,
] ] ,
)
CAR_INFO = CAR . create_carinfo_map ( )
DBC = CAR . create_dbc_map ( )