mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-15 22:32:11 +08:00
PlatformConfig: automatically get platform_str from the enum name (#31868)
* get platform_str from the enum name * fix tests * add migration table * remove impossible todo * Add link to PR in MIGRATION table Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> * Remove useless brand name comments and rename RAM_1500 to RAM_1500_5TH_GEN * rename RAM_HD to RAM_HD_5TH_GEN * rename references to RAM_HD and RAM_1500 * change "mock" to "MOCK" and rename torque data of Nissan Leaf 2018 IC * remove MOCK from fingerprints.py * change hard-coded car model in test_can_fingerprint.py/test_timing * migration * update ref * space * prius --------- Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> Co-authored-by: justin newberry <justin@comma.ai> Co-authored-by: Justin Newberry <jnewberry0502@gmail.com> old-commit-hash: 489528dcae3888311f92075ba9e0f68626725121
This commit is contained in:
@@ -2,6 +2,6 @@
|
||||
|
||||
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
|
||||
|
||||
export FINGERPRINT="TOYOTA COROLLA TSS2 2019"
|
||||
export FINGERPRINT="COROLLA_TSS2"
|
||||
export SKIP_FW_QUERY="1"
|
||||
$DIR/../launch_openpilot.sh
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# functions common among cars
|
||||
from collections import defaultdict, namedtuple
|
||||
from dataclasses import dataclass
|
||||
from enum import IntFlag, ReprEnum
|
||||
from enum import IntFlag, ReprEnum, EnumType
|
||||
from dataclasses import replace
|
||||
|
||||
import capnp
|
||||
@@ -240,7 +240,6 @@ class CarSpecs:
|
||||
|
||||
@dataclass(order=True)
|
||||
class PlatformConfig(Freezable):
|
||||
platform_str: str
|
||||
car_docs: list[CarDocs]
|
||||
specs: CarSpecs
|
||||
|
||||
@@ -248,6 +247,8 @@ class PlatformConfig(Freezable):
|
||||
|
||||
flags: int = 0
|
||||
|
||||
platform_str: str | None = None
|
||||
|
||||
def __hash__(self) -> int:
|
||||
return hash(self.platform_str)
|
||||
|
||||
@@ -259,10 +260,18 @@ class PlatformConfig(Freezable):
|
||||
|
||||
def __post_init__(self):
|
||||
self.init()
|
||||
self.freeze()
|
||||
|
||||
|
||||
class Platforms(str, ReprEnum):
|
||||
class PlatformsType(EnumType):
|
||||
def __new__(metacls, cls, bases, classdict, *, boundary=None, _simple=False, **kwds):
|
||||
for key in classdict._member_names.keys():
|
||||
cfg: PlatformConfig = classdict[key]
|
||||
cfg.platform_str = key
|
||||
cfg.freeze()
|
||||
return super().__new__(metacls, cls, bases, classdict, boundary=boundary, _simple=_simple, **kwds)
|
||||
|
||||
|
||||
class Platforms(str, ReprEnum, metaclass=PlatformsType):
|
||||
config: PlatformConfig
|
||||
|
||||
def __new__(cls, platform_config: PlatformConfig):
|
||||
|
||||
@@ -21,7 +21,6 @@ class CarControllerParams:
|
||||
|
||||
class CAR(Platforms):
|
||||
BODY = PlatformConfig(
|
||||
"COMMA BODY",
|
||||
[CarDocs("comma body", package="All")],
|
||||
CarSpecs(mass=9, wheelbase=0.406, steerRatio=0.5, centerToFrontRatio=0.44),
|
||||
dbc_dict('comma_body', None),
|
||||
|
||||
@@ -204,7 +204,7 @@ def get_car(logcan, sendcan, experimental_long_allowed, num_pandas=1):
|
||||
|
||||
if candidate is None:
|
||||
cloudlog.event("car doesn't match any fingerprints", fingerprints=repr(fingerprints), error=True)
|
||||
candidate = "mock"
|
||||
candidate = "MOCK"
|
||||
|
||||
CarInterface, _, _ = interfaces[candidate]
|
||||
CP = CarInterface.get_params(candidate, fingerprints, car_fw, experimental_long_allowed, docs=False)
|
||||
|
||||
@@ -363,7 +363,7 @@ FW_VERSIONS = {
|
||||
b'68503664AC',
|
||||
],
|
||||
},
|
||||
CAR.RAM_1500: {
|
||||
CAR.RAM_1500_5TH_GEN: {
|
||||
(Ecu.combinationMeter, 0x742, None): [
|
||||
b'68294051AG',
|
||||
b'68294051AI',
|
||||
@@ -567,7 +567,7 @@ FW_VERSIONS = {
|
||||
b'68629936AC',
|
||||
],
|
||||
},
|
||||
CAR.RAM_HD: {
|
||||
CAR.RAM_HD_5TH_GEN: {
|
||||
(Ecu.combinationMeter, 0x742, None): [
|
||||
b'68361606AH',
|
||||
b'68437735AC',
|
||||
|
||||
@@ -51,14 +51,14 @@ class CarInterface(CarInterfaceBase):
|
||||
ret.lateralTuning.pid.kf = 0.00006
|
||||
|
||||
# Ram
|
||||
elif candidate == CAR.RAM_1500:
|
||||
elif candidate == CAR.RAM_1500_5TH_GEN:
|
||||
ret.steerActuatorDelay = 0.2
|
||||
ret.wheelbase = 3.88
|
||||
# Older EPS FW allow steer to zero
|
||||
if any(fw.ecu == 'eps' and b"68" < fw.fwVersion[:4] <= b"6831" for fw in car_fw):
|
||||
ret.minSteerSpeed = 0.
|
||||
|
||||
elif candidate == CAR.RAM_HD:
|
||||
elif candidate == CAR.RAM_HD_5TH_GEN:
|
||||
ret.steerActuatorDelay = 0.2
|
||||
CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning, 1.0, False)
|
||||
|
||||
|
||||
@@ -33,27 +33,22 @@ class ChryslerCarSpecs(CarSpecs):
|
||||
class CAR(Platforms):
|
||||
# Chrysler
|
||||
PACIFICA_2017_HYBRID = ChryslerPlatformConfig(
|
||||
"CHRYSLER PACIFICA HYBRID 2017",
|
||||
[ChryslerCarDocs("Chrysler Pacifica Hybrid 2017")],
|
||||
ChryslerCarSpecs(mass=2242., wheelbase=3.089, steerRatio=16.2),
|
||||
)
|
||||
PACIFICA_2018_HYBRID = ChryslerPlatformConfig(
|
||||
"CHRYSLER PACIFICA HYBRID 2018",
|
||||
[ChryslerCarDocs("Chrysler Pacifica Hybrid 2018")],
|
||||
PACIFICA_2017_HYBRID.specs,
|
||||
)
|
||||
PACIFICA_2019_HYBRID = ChryslerPlatformConfig(
|
||||
"CHRYSLER PACIFICA HYBRID 2019",
|
||||
[ChryslerCarDocs("Chrysler Pacifica Hybrid 2019-23")],
|
||||
PACIFICA_2017_HYBRID.specs,
|
||||
)
|
||||
PACIFICA_2018 = ChryslerPlatformConfig(
|
||||
"CHRYSLER PACIFICA 2018",
|
||||
[ChryslerCarDocs("Chrysler Pacifica 2017-18")],
|
||||
PACIFICA_2017_HYBRID.specs,
|
||||
)
|
||||
PACIFICA_2020 = ChryslerPlatformConfig(
|
||||
"CHRYSLER PACIFICA 2020",
|
||||
[
|
||||
ChryslerCarDocs("Chrysler Pacifica 2019-20"),
|
||||
ChryslerCarDocs("Chrysler Pacifica 2021-23", package="All"),
|
||||
@@ -63,33 +58,28 @@ class CAR(Platforms):
|
||||
|
||||
# Dodge
|
||||
DODGE_DURANGO = ChryslerPlatformConfig(
|
||||
"DODGE DURANGO 2021",
|
||||
[ChryslerCarDocs("Dodge Durango 2020-21")],
|
||||
PACIFICA_2017_HYBRID.specs,
|
||||
)
|
||||
|
||||
# Jeep
|
||||
JEEP_GRAND_CHEROKEE = ChryslerPlatformConfig( # includes 2017 Trailhawk
|
||||
"JEEP GRAND CHEROKEE V6 2018",
|
||||
[ChryslerCarDocs("Jeep Grand Cherokee 2016-18", video_link="https://www.youtube.com/watch?v=eLR9o2JkuRk")],
|
||||
ChryslerCarSpecs(mass=1778., wheelbase=2.71, steerRatio=16.7),
|
||||
)
|
||||
|
||||
JEEP_GRAND_CHEROKEE_2019 = ChryslerPlatformConfig( # includes 2020 Trailhawk
|
||||
"JEEP GRAND CHEROKEE 2019",
|
||||
[ChryslerCarDocs("Jeep Grand Cherokee 2019-21", video_link="https://www.youtube.com/watch?v=jBe4lWnRSu4")],
|
||||
JEEP_GRAND_CHEROKEE.specs,
|
||||
)
|
||||
|
||||
# Ram
|
||||
RAM_1500 = ChryslerPlatformConfig(
|
||||
"RAM 1500 5TH GEN",
|
||||
RAM_1500_5TH_GEN = ChryslerPlatformConfig(
|
||||
[ChryslerCarDocs("Ram 1500 2019-24", car_parts=CarParts.common([CarHarness.ram]))],
|
||||
ChryslerCarSpecs(mass=2493., wheelbase=3.88, steerRatio=16.3, minSteerSpeed=14.5),
|
||||
dbc_dict('chrysler_ram_dt_generated', None),
|
||||
)
|
||||
RAM_HD = ChryslerPlatformConfig(
|
||||
"RAM HD 5TH GEN",
|
||||
RAM_HD_5TH_GEN = ChryslerPlatformConfig(
|
||||
[
|
||||
ChryslerCarDocs("Ram 2500 2020-24", car_parts=CarParts.common([CarHarness.ram])),
|
||||
ChryslerCarDocs("Ram 3500 2019-22", car_parts=CarParts.common([CarHarness.ram])),
|
||||
@@ -119,8 +109,8 @@ class CarControllerParams:
|
||||
|
||||
STEER_THRESHOLD = 120
|
||||
|
||||
RAM_DT = {CAR.RAM_1500, }
|
||||
RAM_HD = {CAR.RAM_HD, }
|
||||
RAM_DT = {CAR.RAM_1500_5TH_GEN, }
|
||||
RAM_HD = {CAR.RAM_HD_5TH_GEN, }
|
||||
RAM_CARS = RAM_DT | RAM_HD
|
||||
|
||||
|
||||
|
||||
@@ -346,7 +346,7 @@ class CarDocs:
|
||||
return sentence_builder.format(car_model=f"{self.make} {self.model}", alc=alc, acc=acc)
|
||||
|
||||
else:
|
||||
if CP.carFingerprint == "COMMA BODY":
|
||||
if CP.carFingerprint == "BODY":
|
||||
return "The body is a robotics dev kit that can run openpilot. <a href='https://www.commabody.com'>Learn more.</a>"
|
||||
else:
|
||||
raise Exception(f"This notCar does not have a detail sentence: {CP.carFingerprint}")
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
from openpilot.selfdrive.car.interfaces import get_interface_attr
|
||||
from openpilot.selfdrive.car.body.values import CAR as BODY
|
||||
from openpilot.selfdrive.car.chrysler.values import CAR as CHRYSLER
|
||||
from openpilot.selfdrive.car.ford.values import CAR as FORD
|
||||
from openpilot.selfdrive.car.gm.values import CAR as GM
|
||||
from openpilot.selfdrive.car.honda.values import CAR as HONDA
|
||||
from openpilot.selfdrive.car.hyundai.values import CAR as HYUNDAI
|
||||
from openpilot.selfdrive.car.mazda.values import CAR as MAZDA
|
||||
from openpilot.selfdrive.car.nissan.values import CAR as NISSAN
|
||||
from openpilot.selfdrive.car.subaru.values import CAR as SUBARU
|
||||
from openpilot.selfdrive.car.tesla.values import CAR as TESLA
|
||||
from openpilot.selfdrive.car.toyota.values import CAR as TOYOTA
|
||||
from openpilot.selfdrive.car.volkswagen.values import CAR as VW
|
||||
|
||||
@@ -117,4 +125,214 @@ MIGRATION = {
|
||||
"HYUNDAI TUCSON HYBRID 4TH GEN": HYUNDAI.TUCSON_4TH_GEN,
|
||||
"KIA SPORTAGE HYBRID 5TH GEN": HYUNDAI.KIA_SPORTAGE_5TH_GEN,
|
||||
"KIA SORENTO PLUG-IN HYBRID 4TH GEN": HYUNDAI.KIA_SORENTO_HEV_4TH_GEN,
|
||||
|
||||
# Removal of platform_str, see https://github.com/commaai/openpilot/pull/31868/
|
||||
"COMMA BODY": BODY.BODY,
|
||||
"CHRYSLER PACIFICA HYBRID 2017": CHRYSLER.PACIFICA_2017_HYBRID,
|
||||
"CHRYSLER PACIFICA HYBRID 2018": CHRYSLER.PACIFICA_2018_HYBRID,
|
||||
"CHRYSLER PACIFICA HYBRID 2019": CHRYSLER.PACIFICA_2019_HYBRID,
|
||||
"CHRYSLER PACIFICA 2018": CHRYSLER.PACIFICA_2018,
|
||||
"CHRYSLER PACIFICA 2020": CHRYSLER.PACIFICA_2020,
|
||||
"DODGE DURANGO 2021": CHRYSLER.DODGE_DURANGO,
|
||||
"RAM 1500 5TH GEN": CHRYSLER.RAM_1500_5TH_GEN,
|
||||
"RAM HD 5TH GEN": CHRYSLER.RAM_HD_5TH_GEN,
|
||||
"FORD BRONCO SPORT 1ST GEN": FORD.BRONCO_SPORT_MK1,
|
||||
"FORD ESCAPE 4TH GEN": FORD.ESCAPE_MK4,
|
||||
"FORD EXPLORER 6TH GEN": FORD.EXPLORER_MK6,
|
||||
"FORD F-150 14TH GEN": FORD.F_150_MK14,
|
||||
"FORD F-150 LIGHTNING 1ST GEN": FORD.F_150_LIGHTNING_MK1,
|
||||
"FORD FOCUS 4TH GEN": FORD.FOCUS_MK4,
|
||||
"FORD MAVERICK 1ST GEN": FORD.MAVERICK_MK1,
|
||||
"FORD MUSTANG MACH-E 1ST GEN": FORD.MUSTANG_MACH_E_MK1,
|
||||
"HOLDEN ASTRA RS-V BK 2017": GM.HOLDEN_ASTRA,
|
||||
"CHEVROLET VOLT PREMIER 2017": GM.VOLT,
|
||||
"CADILLAC ATS Premium Performance 2018": GM.CADILLAC_ATS,
|
||||
"CHEVROLET MALIBU PREMIER 2017": GM.MALIBU,
|
||||
"GMC ACADIA DENALI 2018": GM.ACADIA,
|
||||
"BUICK LACROSSE 2017": GM.BUICK_LACROSSE,
|
||||
"BUICK REGAL ESSENCE 2018": GM.BUICK_REGAL,
|
||||
"CADILLAC ESCALADE 2017": GM.ESCALADE,
|
||||
"CADILLAC ESCALADE ESV 2016": GM.ESCALADE_ESV,
|
||||
"CADILLAC ESCALADE ESV 2019": GM.ESCALADE_ESV_2019,
|
||||
"CHEVROLET BOLT EUV 2022": GM.BOLT_EUV,
|
||||
"CHEVROLET SILVERADO 1500 2020": GM.SILVERADO,
|
||||
"CHEVROLET EQUINOX 2019": GM.EQUINOX,
|
||||
"CHEVROLET TRAILBLAZER 2021": GM.TRAILBLAZER,
|
||||
"HONDA ACCORD 2018": HONDA.ACCORD,
|
||||
"HONDA CIVIC (BOSCH) 2019": HONDA.CIVIC_BOSCH,
|
||||
"HONDA CIVIC SEDAN 1.6 DIESEL 2019": HONDA.CIVIC_BOSCH_DIESEL,
|
||||
"HONDA CIVIC 2022": HONDA.CIVIC_2022,
|
||||
"HONDA CR-V 2017": HONDA.CRV_5G,
|
||||
"HONDA CR-V HYBRID 2019": HONDA.CRV_HYBRID,
|
||||
"HONDA HR-V 2023": HONDA.HRV_3G,
|
||||
"ACURA RDX 2020": HONDA.ACURA_RDX_3G,
|
||||
"HONDA INSIGHT 2019": HONDA.INSIGHT,
|
||||
"HONDA E 2020": HONDA.HONDA_E,
|
||||
"ACURA ILX 2016": HONDA.ACURA_ILX,
|
||||
"HONDA CR-V 2016": HONDA.CRV,
|
||||
"HONDA CR-V EU 2016": HONDA.CRV_EU,
|
||||
"HONDA FIT 2018": HONDA.FIT,
|
||||
"HONDA FREED 2020": HONDA.FREED,
|
||||
"HONDA HRV 2019": HONDA.HRV,
|
||||
"HONDA ODYSSEY 2018": HONDA.ODYSSEY,
|
||||
"HONDA ODYSSEY CHN 2019": HONDA.ODYSSEY_CHN,
|
||||
"ACURA RDX 2018": HONDA.ACURA_RDX,
|
||||
"HONDA PILOT 2017": HONDA.PILOT,
|
||||
"HONDA RIDGELINE 2017": HONDA.RIDGELINE,
|
||||
"HONDA CIVIC 2016": HONDA.CIVIC,
|
||||
"HYUNDAI AZERA 6TH GEN": HYUNDAI.AZERA_6TH_GEN,
|
||||
"HYUNDAI AZERA HYBRID 6TH GEN": HYUNDAI.AZERA_HEV_6TH_GEN,
|
||||
"HYUNDAI ELANTRA 2017": HYUNDAI.ELANTRA,
|
||||
"HYUNDAI I30 N LINE 2019 & GT 2018 DCT": HYUNDAI.ELANTRA_GT_I30,
|
||||
"HYUNDAI ELANTRA 2021": HYUNDAI.ELANTRA_2021,
|
||||
"HYUNDAI ELANTRA HYBRID 2021": HYUNDAI.ELANTRA_HEV_2021,
|
||||
"HYUNDAI GENESIS 2015-2016": HYUNDAI.HYUNDAI_GENESIS,
|
||||
"HYUNDAI IONIQ HYBRID 2017-2019": HYUNDAI.IONIQ,
|
||||
"HYUNDAI IONIQ HYBRID 2020-2022": HYUNDAI.IONIQ_HEV_2022,
|
||||
"HYUNDAI IONIQ ELECTRIC LIMITED 2019": HYUNDAI.IONIQ_EV_LTD,
|
||||
"HYUNDAI IONIQ ELECTRIC 2020": HYUNDAI.IONIQ_EV_2020,
|
||||
"HYUNDAI IONIQ PLUG-IN HYBRID 2019": HYUNDAI.IONIQ_PHEV_2019,
|
||||
"HYUNDAI IONIQ PHEV 2020": HYUNDAI.IONIQ_PHEV,
|
||||
"HYUNDAI KONA 2020": HYUNDAI.KONA,
|
||||
"HYUNDAI KONA ELECTRIC 2019": HYUNDAI.KONA_EV,
|
||||
"HYUNDAI KONA ELECTRIC 2022": HYUNDAI.KONA_EV_2022,
|
||||
"HYUNDAI KONA ELECTRIC 2ND GEN": HYUNDAI.KONA_EV_2ND_GEN,
|
||||
"HYUNDAI KONA HYBRID 2020": HYUNDAI.KONA_HEV,
|
||||
"HYUNDAI SANTA FE 2019": HYUNDAI.SANTA_FE,
|
||||
"HYUNDAI SANTA FE 2022": HYUNDAI.SANTA_FE_2022,
|
||||
"HYUNDAI SANTA FE HYBRID 2022": HYUNDAI.SANTA_FE_HEV_2022,
|
||||
"HYUNDAI SANTA FE PlUG-IN HYBRID 2022": HYUNDAI.SANTA_FE_PHEV_2022,
|
||||
"HYUNDAI SONATA 2020": HYUNDAI.SONATA,
|
||||
"HYUNDAI SONATA 2019": HYUNDAI.SONATA_LF,
|
||||
"HYUNDAI STARIA 4TH GEN": HYUNDAI.STARIA_4TH_GEN,
|
||||
"HYUNDAI TUCSON 2019": HYUNDAI.TUCSON,
|
||||
"HYUNDAI PALISADE 2020": HYUNDAI.PALISADE,
|
||||
"HYUNDAI VELOSTER 2019": HYUNDAI.VELOSTER,
|
||||
"HYUNDAI SONATA HYBRID 2021": HYUNDAI.SONATA_HYBRID,
|
||||
"HYUNDAI IONIQ 5 2022": HYUNDAI.IONIQ_5,
|
||||
"HYUNDAI IONIQ 6 2023": HYUNDAI.IONIQ_6,
|
||||
"HYUNDAI TUCSON 4TH GEN": HYUNDAI.TUCSON_4TH_GEN,
|
||||
"HYUNDAI SANTA CRUZ 1ST GEN": HYUNDAI.SANTA_CRUZ_1ST_GEN,
|
||||
"HYUNDAI CUSTIN 1ST GEN": HYUNDAI.CUSTIN_1ST_GEN,
|
||||
"KIA FORTE E 2018 & GT 2021": HYUNDAI.KIA_FORTE,
|
||||
"KIA K5 2021": HYUNDAI.KIA_K5_2021,
|
||||
"KIA K5 HYBRID 2020": HYUNDAI.KIA_K5_HEV_2020,
|
||||
"KIA K8 HYBRID 1ST GEN": HYUNDAI.KIA_K8_HEV_1ST_GEN,
|
||||
"KIA NIRO EV 2020": HYUNDAI.KIA_NIRO_EV,
|
||||
"KIA NIRO EV 2ND GEN": HYUNDAI.KIA_NIRO_EV_2ND_GEN,
|
||||
"KIA NIRO HYBRID 2019": HYUNDAI.KIA_NIRO_PHEV,
|
||||
"KIA NIRO PLUG-IN HYBRID 2022": HYUNDAI.KIA_NIRO_PHEV_2022,
|
||||
"KIA NIRO HYBRID 2021": HYUNDAI.KIA_NIRO_HEV_2021,
|
||||
"KIA NIRO HYBRID 2ND GEN": HYUNDAI.KIA_NIRO_HEV_2ND_GEN,
|
||||
"KIA OPTIMA 4TH GEN": HYUNDAI.KIA_OPTIMA_G4,
|
||||
"KIA OPTIMA 4TH GEN FACELIFT": HYUNDAI.KIA_OPTIMA_G4_FL,
|
||||
"KIA OPTIMA HYBRID 2017 & SPORTS 2019": HYUNDAI.KIA_OPTIMA_H,
|
||||
"KIA OPTIMA HYBRID 4TH GEN FACELIFT": HYUNDAI.KIA_OPTIMA_H_G4_FL,
|
||||
"KIA SELTOS 2021": HYUNDAI.KIA_SELTOS,
|
||||
"KIA SPORTAGE 5TH GEN": HYUNDAI.KIA_SPORTAGE_5TH_GEN,
|
||||
"KIA SORENTO GT LINE 2018": HYUNDAI.KIA_SORENTO,
|
||||
"KIA SORENTO 4TH GEN": HYUNDAI.KIA_SORENTO_4TH_GEN,
|
||||
"KIA SORENTO HYBRID 4TH GEN": HYUNDAI.KIA_SORENTO_HEV_4TH_GEN,
|
||||
"KIA STINGER GT2 2018": HYUNDAI.KIA_STINGER,
|
||||
"KIA STINGER 2022": HYUNDAI.KIA_STINGER_2022,
|
||||
"KIA CEED INTRO ED 2019": HYUNDAI.KIA_CEED,
|
||||
"KIA EV6 2022": HYUNDAI.KIA_EV6,
|
||||
"KIA CARNIVAL 4TH GEN": HYUNDAI.KIA_CARNIVAL_4TH_GEN,
|
||||
"GENESIS GV60 ELECTRIC 1ST GEN": HYUNDAI.GENESIS_GV60_EV_1ST_GEN,
|
||||
"GENESIS G70 2018": HYUNDAI.GENESIS_G70,
|
||||
"GENESIS G70 2020": HYUNDAI.GENESIS_G70_2020,
|
||||
"GENESIS GV70 1ST GEN": HYUNDAI.GENESIS_GV70_1ST_GEN,
|
||||
"GENESIS G80 2017": HYUNDAI.GENESIS_G80,
|
||||
"GENESIS G90 2017": HYUNDAI.GENESIS_G90,
|
||||
"GENESIS GV80 2023": HYUNDAI.GENESIS_GV80,
|
||||
"MAZDA CX-5": MAZDA.CX5,
|
||||
"MAZDA CX-9": MAZDA.CX9,
|
||||
"MAZDA 3": MAZDA.MAZDA3,
|
||||
"MAZDA 6": MAZDA.MAZDA6,
|
||||
"MAZDA CX-9 2021": MAZDA.CX9_2021,
|
||||
"MAZDA CX-5 2022": MAZDA.CX5_2022,
|
||||
"NISSAN X-TRAIL 2017": NISSAN.XTRAIL,
|
||||
"NISSAN LEAF 2018": NISSAN.LEAF,
|
||||
"NISSAN ROGUE 2019": NISSAN.ROGUE,
|
||||
"NISSAN ALTIMA 2020": NISSAN.ALTIMA,
|
||||
"SUBARU ASCENT LIMITED 2019": SUBARU.ASCENT,
|
||||
"SUBARU OUTBACK 6TH GEN": SUBARU.OUTBACK,
|
||||
"SUBARU LEGACY 7TH GEN": SUBARU.LEGACY,
|
||||
"SUBARU IMPREZA LIMITED 2019": SUBARU.IMPREZA,
|
||||
"SUBARU IMPREZA SPORT 2020": SUBARU.IMPREZA_2020,
|
||||
"SUBARU CROSSTREK HYBRID 2020": SUBARU.CROSSTREK_HYBRID,
|
||||
"SUBARU FORESTER 2019": SUBARU.FORESTER,
|
||||
"SUBARU FORESTER HYBRID 2020": SUBARU.FORESTER_HYBRID,
|
||||
"SUBARU FORESTER 2017 - 2018": SUBARU.FORESTER_PREGLOBAL,
|
||||
"SUBARU LEGACY 2015 - 2018": SUBARU.LEGACY_PREGLOBAL,
|
||||
"SUBARU OUTBACK 2015 - 2017": SUBARU.OUTBACK_PREGLOBAL,
|
||||
"SUBARU OUTBACK 2018 - 2019": SUBARU.OUTBACK_PREGLOBAL_2018,
|
||||
"SUBARU FORESTER 2022": SUBARU.FORESTER_2022,
|
||||
"SUBARU OUTBACK 7TH GEN": SUBARU.OUTBACK_2023,
|
||||
"SUBARU ASCENT 2023": SUBARU.ASCENT_2023,
|
||||
'TESLA AP1 MODEL S': TESLA.AP1_MODELS,
|
||||
'TESLA AP2 MODEL S': TESLA.AP2_MODELS,
|
||||
'TESLA MODEL S RAVEN': TESLA.MODELS_RAVEN,
|
||||
"TOYOTA ALPHARD 2020": TOYOTA.ALPHARD_TSS2,
|
||||
"TOYOTA AVALON 2016": TOYOTA.AVALON,
|
||||
"TOYOTA AVALON 2019": TOYOTA.AVALON_2019,
|
||||
"TOYOTA AVALON 2022": TOYOTA.AVALON_TSS2,
|
||||
"TOYOTA CAMRY 2018": TOYOTA.CAMRY,
|
||||
"TOYOTA CAMRY 2021": TOYOTA.CAMRY_TSS2,
|
||||
"TOYOTA C-HR 2018": TOYOTA.CHR,
|
||||
"TOYOTA C-HR 2021": TOYOTA.CHR_TSS2,
|
||||
"TOYOTA COROLLA 2017": TOYOTA.COROLLA,
|
||||
"TOYOTA COROLLA TSS2 2019": TOYOTA.COROLLA_TSS2,
|
||||
"TOYOTA HIGHLANDER 2017": TOYOTA.HIGHLANDER,
|
||||
"TOYOTA HIGHLANDER 2020": TOYOTA.HIGHLANDER_TSS2,
|
||||
"TOYOTA PRIUS 2017": TOYOTA.PRIUS,
|
||||
"TOYOTA PRIUS v 2017": TOYOTA.PRIUS_V,
|
||||
"TOYOTA PRIUS TSS2 2021": TOYOTA.PRIUS_TSS2,
|
||||
"TOYOTA RAV4 2017": TOYOTA.RAV4,
|
||||
"TOYOTA RAV4 HYBRID 2017": TOYOTA.RAV4H,
|
||||
"TOYOTA RAV4 2019": TOYOTA.RAV4_TSS2,
|
||||
"TOYOTA RAV4 2022": TOYOTA.RAV4_TSS2_2022,
|
||||
"TOYOTA RAV4 2023": TOYOTA.RAV4_TSS2_2023,
|
||||
"TOYOTA MIRAI 2021": TOYOTA.MIRAI,
|
||||
"TOYOTA SIENNA 2018": TOYOTA.SIENNA,
|
||||
"LEXUS CT HYBRID 2018": TOYOTA.LEXUS_CTH,
|
||||
"LEXUS ES 2018": TOYOTA.LEXUS_ES,
|
||||
"LEXUS ES 2019": TOYOTA.LEXUS_ES_TSS2,
|
||||
"LEXUS IS 2018": TOYOTA.LEXUS_IS,
|
||||
"LEXUS IS 2023": TOYOTA.LEXUS_IS_TSS2,
|
||||
"LEXUS NX 2018": TOYOTA.LEXUS_NX,
|
||||
"LEXUS NX 2020": TOYOTA.LEXUS_NX_TSS2,
|
||||
"LEXUS LC 2024": TOYOTA.LEXUS_LC_TSS2,
|
||||
"LEXUS RC 2020": TOYOTA.LEXUS_RC,
|
||||
"LEXUS RX 2016": TOYOTA.LEXUS_RX,
|
||||
"LEXUS RX 2020": TOYOTA.LEXUS_RX_TSS2,
|
||||
"LEXUS GS F 2016": TOYOTA.LEXUS_GS_F,
|
||||
"VOLKSWAGEN ARTEON 1ST GEN": VW.ARTEON_MK1,
|
||||
"VOLKSWAGEN ATLAS 1ST GEN": VW.ATLAS_MK1,
|
||||
"VOLKSWAGEN CADDY 3RD GEN": VW.CADDY_MK3,
|
||||
"VOLKSWAGEN CRAFTER 2ND GEN": VW.CRAFTER_MK2,
|
||||
"VOLKSWAGEN GOLF 7TH GEN": VW.GOLF_MK7,
|
||||
"VOLKSWAGEN JETTA 7TH GEN": VW.JETTA_MK7,
|
||||
"VOLKSWAGEN PASSAT 8TH GEN": VW.PASSAT_MK8,
|
||||
"VOLKSWAGEN PASSAT NMS": VW.PASSAT_NMS,
|
||||
"VOLKSWAGEN POLO 6TH GEN": VW.POLO_MK6,
|
||||
"VOLKSWAGEN SHARAN 2ND GEN": VW.SHARAN_MK2,
|
||||
"VOLKSWAGEN TAOS 1ST GEN": VW.TAOS_MK1,
|
||||
"VOLKSWAGEN T-CROSS 1ST GEN": VW.TCROSS_MK1,
|
||||
"VOLKSWAGEN TIGUAN 2ND GEN": VW.TIGUAN_MK2,
|
||||
"VOLKSWAGEN TOURAN 2ND GEN": VW.TOURAN_MK2,
|
||||
"VOLKSWAGEN TRANSPORTER T6.1": VW.TRANSPORTER_T61,
|
||||
"VOLKSWAGEN T-ROC 1ST GEN": VW.TROC_MK1,
|
||||
"AUDI A3 3RD GEN": VW.AUDI_A3_MK3,
|
||||
"AUDI Q2 1ST GEN": VW.AUDI_Q2_MK1,
|
||||
"AUDI Q3 2ND GEN": VW.AUDI_Q3_MK2,
|
||||
"SEAT ATECA 1ST GEN": VW.SEAT_ATECA_MK1,
|
||||
"SEAT LEON 3RD GEN": VW.SEAT_LEON_MK3,
|
||||
"SKODA FABIA 4TH GEN": VW.SKODA_FABIA_MK4,
|
||||
"SKODA KAMIQ 1ST GEN": VW.SKODA_KAMIQ_MK1,
|
||||
"SKODA KAROQ 1ST GEN": VW.SKODA_KAROQ_MK1,
|
||||
"SKODA KODIAQ 1ST GEN": VW.SKODA_KODIAQ_MK1,
|
||||
"SKODA OCTAVIA 3RD GEN": VW.SKODA_OCTAVIA_MK3,
|
||||
"SKODA SCALA 1ST GEN": VW.SKODA_SCALA_MK1,
|
||||
"SKODA SUPERB 3RD GEN": VW.SKODA_SUPERB_MK3,
|
||||
}
|
||||
|
||||
@@ -97,12 +97,10 @@ class FordCANFDPlatformConfig(FordPlatformConfig):
|
||||
|
||||
class CAR(Platforms):
|
||||
BRONCO_SPORT_MK1 = FordPlatformConfig(
|
||||
"FORD BRONCO SPORT 1ST GEN",
|
||||
[FordCarDocs("Ford Bronco Sport 2021-23")],
|
||||
CarSpecs(mass=1625, wheelbase=2.67, steerRatio=17.7),
|
||||
)
|
||||
ESCAPE_MK4 = FordPlatformConfig(
|
||||
"FORD ESCAPE 4TH GEN",
|
||||
[
|
||||
FordCarDocs("Ford Escape 2020-22", hybrid=True, plug_in_hybrid=True),
|
||||
FordCarDocs("Ford Kuga 2020-22", "Adaptive Cruise Control with Lane Centering", hybrid=True, plug_in_hybrid=True),
|
||||
@@ -110,7 +108,6 @@ class CAR(Platforms):
|
||||
CarSpecs(mass=1750, wheelbase=2.71, steerRatio=16.7),
|
||||
)
|
||||
EXPLORER_MK6 = FordPlatformConfig(
|
||||
"FORD EXPLORER 6TH GEN",
|
||||
[
|
||||
FordCarDocs("Ford Explorer 2020-23", hybrid=True), # Hybrid: Limited and Platinum only
|
||||
FordCarDocs("Lincoln Aviator 2020-23", "Co-Pilot360 Plus", plug_in_hybrid=True), # Hybrid: Grand Touring only
|
||||
@@ -118,22 +115,18 @@ class CAR(Platforms):
|
||||
CarSpecs(mass=2050, wheelbase=3.025, steerRatio=16.8),
|
||||
)
|
||||
F_150_MK14 = FordCANFDPlatformConfig(
|
||||
"FORD F-150 14TH GEN",
|
||||
[FordCarDocs("Ford F-150 2022-23", "Co-Pilot360 Active 2.0", hybrid=True)],
|
||||
CarSpecs(mass=2000, wheelbase=3.69, steerRatio=17.0),
|
||||
)
|
||||
F_150_LIGHTNING_MK1 = FordCANFDPlatformConfig(
|
||||
"FORD F-150 LIGHTNING 1ST GEN",
|
||||
[FordCarDocs("Ford F-150 Lightning 2021-23", "Co-Pilot360 Active 2.0")],
|
||||
CarSpecs(mass=2948, wheelbase=3.70, steerRatio=16.9),
|
||||
)
|
||||
FOCUS_MK4 = FordPlatformConfig(
|
||||
"FORD FOCUS 4TH GEN",
|
||||
[FordCarDocs("Ford Focus 2018", "Adaptive Cruise Control with Lane Centering", footnotes=[Footnote.FOCUS], hybrid=True)], # mHEV only
|
||||
CarSpecs(mass=1350, wheelbase=2.7, steerRatio=15.0),
|
||||
)
|
||||
MAVERICK_MK1 = FordPlatformConfig(
|
||||
"FORD MAVERICK 1ST GEN",
|
||||
[
|
||||
FordCarDocs("Ford Maverick 2022", "LARIAT Luxury", hybrid=True),
|
||||
FordCarDocs("Ford Maverick 2023-24", "Co-Pilot360 Assist", hybrid=True),
|
||||
@@ -141,7 +134,6 @@ class CAR(Platforms):
|
||||
CarSpecs(mass=1650, wheelbase=3.076, steerRatio=17.0),
|
||||
)
|
||||
MUSTANG_MACH_E_MK1 = FordCANFDPlatformConfig(
|
||||
"FORD MUSTANG MACH-E 1ST GEN",
|
||||
[FordCarDocs("Ford Mustang Mach-E 2021-23", "Co-Pilot360 Active 2.0")],
|
||||
CarSpecs(mass=2200, wheelbase=2.984, steerRatio=17.0), # TODO: check steer ratio
|
||||
)
|
||||
|
||||
@@ -91,57 +91,46 @@ class GMPlatformConfig(PlatformConfig):
|
||||
|
||||
class CAR(Platforms):
|
||||
HOLDEN_ASTRA = GMPlatformConfig(
|
||||
"HOLDEN ASTRA RS-V BK 2017",
|
||||
[GMCarDocs("Holden Astra 2017")],
|
||||
GMCarSpecs(mass=1363, wheelbase=2.662, steerRatio=15.7, centerToFrontRatio=0.4),
|
||||
)
|
||||
VOLT = GMPlatformConfig(
|
||||
"CHEVROLET VOLT PREMIER 2017",
|
||||
[GMCarDocs("Chevrolet Volt 2017-18", min_enable_speed=0, video_link="https://youtu.be/QeMCN_4TFfQ")],
|
||||
GMCarSpecs(mass=1607, wheelbase=2.69, steerRatio=17.7, centerToFrontRatio=0.45, tireStiffnessFactor=0.469),
|
||||
)
|
||||
CADILLAC_ATS = GMPlatformConfig(
|
||||
"CADILLAC ATS Premium Performance 2018",
|
||||
[GMCarDocs("Cadillac ATS Premium Performance 2018")],
|
||||
GMCarSpecs(mass=1601, wheelbase=2.78, steerRatio=15.3),
|
||||
)
|
||||
MALIBU = GMPlatformConfig(
|
||||
"CHEVROLET MALIBU PREMIER 2017",
|
||||
[GMCarDocs("Chevrolet Malibu Premier 2017")],
|
||||
GMCarSpecs(mass=1496, wheelbase=2.83, steerRatio=15.8, centerToFrontRatio=0.4),
|
||||
)
|
||||
ACADIA = GMPlatformConfig(
|
||||
"GMC ACADIA DENALI 2018",
|
||||
[GMCarDocs("GMC Acadia 2018", video_link="https://www.youtube.com/watch?v=0ZN6DdsBUZo")],
|
||||
GMCarSpecs(mass=1975, wheelbase=2.86, steerRatio=14.4, centerToFrontRatio=0.4),
|
||||
)
|
||||
BUICK_LACROSSE = GMPlatformConfig(
|
||||
"BUICK LACROSSE 2017",
|
||||
[GMCarDocs("Buick LaCrosse 2017-19", "Driver Confidence Package 2")],
|
||||
GMCarSpecs(mass=1712, wheelbase=2.91, steerRatio=15.8, centerToFrontRatio=0.4),
|
||||
)
|
||||
BUICK_REGAL = GMPlatformConfig(
|
||||
"BUICK REGAL ESSENCE 2018",
|
||||
[GMCarDocs("Buick Regal Essence 2018")],
|
||||
GMCarSpecs(mass=1714, wheelbase=2.83, steerRatio=14.4, centerToFrontRatio=0.4),
|
||||
)
|
||||
ESCALADE = GMPlatformConfig(
|
||||
"CADILLAC ESCALADE 2017",
|
||||
[GMCarDocs("Cadillac Escalade 2017", "Driver Assist Package")],
|
||||
GMCarSpecs(mass=2564, wheelbase=2.95, steerRatio=17.3),
|
||||
)
|
||||
ESCALADE_ESV = GMPlatformConfig(
|
||||
"CADILLAC ESCALADE ESV 2016",
|
||||
[GMCarDocs("Cadillac Escalade ESV 2016", "Adaptive Cruise Control (ACC) & LKAS")],
|
||||
GMCarSpecs(mass=2739, wheelbase=3.302, steerRatio=17.3, tireStiffnessFactor=1.0),
|
||||
)
|
||||
ESCALADE_ESV_2019 = GMPlatformConfig(
|
||||
"CADILLAC ESCALADE ESV 2019",
|
||||
[GMCarDocs("Cadillac Escalade ESV 2019", "Adaptive Cruise Control (ACC) & LKAS")],
|
||||
ESCALADE_ESV.specs,
|
||||
)
|
||||
BOLT_EUV = GMPlatformConfig(
|
||||
"CHEVROLET BOLT EUV 2022",
|
||||
[
|
||||
GMCarDocs("Chevrolet Bolt EUV 2022-23", "Premier or Premier Redline Trim without Super Cruise Package", video_link="https://youtu.be/xvwzGMUA210"),
|
||||
GMCarDocs("Chevrolet Bolt EV 2022-23", "2LT Trim with Adaptive Cruise Control Package"),
|
||||
@@ -149,7 +138,6 @@ class CAR(Platforms):
|
||||
GMCarSpecs(mass=1669, wheelbase=2.63779, steerRatio=16.8, centerToFrontRatio=0.4, tireStiffnessFactor=1.0),
|
||||
)
|
||||
SILVERADO = GMPlatformConfig(
|
||||
"CHEVROLET SILVERADO 1500 2020",
|
||||
[
|
||||
GMCarDocs("Chevrolet Silverado 1500 2020-21", "Safety Package II"),
|
||||
GMCarDocs("GMC Sierra 1500 2020-21", "Driver Alert Package II", video_link="https://youtu.be/5HbNoBLzRwE"),
|
||||
@@ -157,12 +145,10 @@ class CAR(Platforms):
|
||||
GMCarSpecs(mass=2450, wheelbase=3.75, steerRatio=16.3, tireStiffnessFactor=1.0),
|
||||
)
|
||||
EQUINOX = GMPlatformConfig(
|
||||
"CHEVROLET EQUINOX 2019",
|
||||
[GMCarDocs("Chevrolet Equinox 2019-22")],
|
||||
GMCarSpecs(mass=1588, wheelbase=2.72, steerRatio=14.4, centerToFrontRatio=0.4),
|
||||
)
|
||||
TRAILBLAZER = GMPlatformConfig(
|
||||
"CHEVROLET TRAILBLAZER 2021",
|
||||
[GMCarDocs("Chevrolet Trailblazer 2021-22")],
|
||||
GMCarSpecs(mass=1345, wheelbase=2.64, steerRatio=16.8, centerToFrontRatio=0.4, tireStiffnessFactor=1.0),
|
||||
)
|
||||
|
||||
@@ -116,7 +116,6 @@ class HondaNidecPlatformConfig(PlatformConfig):
|
||||
class CAR(Platforms):
|
||||
# Bosch Cars
|
||||
ACCORD = HondaBoschPlatformConfig(
|
||||
"HONDA ACCORD 2018",
|
||||
[
|
||||
HondaCarDocs("Honda Accord 2018-22", "All", video_link="https://www.youtube.com/watch?v=mrUwlj3Mi58", min_steer_speed=3. * CV.MPH_TO_MS),
|
||||
HondaCarDocs("Honda Inspire 2018", "All", min_steer_speed=3. * CV.MPH_TO_MS),
|
||||
@@ -127,7 +126,6 @@ class CAR(Platforms):
|
||||
dbc_dict('honda_accord_2018_can_generated', None),
|
||||
)
|
||||
CIVIC_BOSCH = HondaBoschPlatformConfig(
|
||||
"HONDA CIVIC (BOSCH) 2019",
|
||||
[
|
||||
HondaCarDocs("Honda Civic 2019-21", "All", video_link="https://www.youtube.com/watch?v=4Iz1Mz5LGF8",
|
||||
footnotes=[Footnote.CIVIC_DIESEL], min_steer_speed=2. * CV.MPH_TO_MS),
|
||||
@@ -137,13 +135,11 @@ class CAR(Platforms):
|
||||
dbc_dict('honda_civic_hatchback_ex_2017_can_generated', None),
|
||||
)
|
||||
CIVIC_BOSCH_DIESEL = HondaBoschPlatformConfig(
|
||||
"HONDA CIVIC SEDAN 1.6 DIESEL 2019",
|
||||
[], # don't show in docs
|
||||
CIVIC_BOSCH.specs,
|
||||
dbc_dict('honda_accord_2018_can_generated', None),
|
||||
)
|
||||
CIVIC_2022 = HondaBoschPlatformConfig(
|
||||
"HONDA CIVIC 2022",
|
||||
[
|
||||
HondaCarDocs("Honda Civic 2022-23", "All", video_link="https://youtu.be/ytiOT5lcp6Q"),
|
||||
HondaCarDocs("Honda Civic Hatchback 2022-23", "All", video_link="https://youtu.be/ytiOT5lcp6Q"),
|
||||
@@ -153,7 +149,6 @@ class CAR(Platforms):
|
||||
flags=HondaFlags.BOSCH_RADARLESS,
|
||||
)
|
||||
CRV_5G = HondaBoschPlatformConfig(
|
||||
"HONDA CR-V 2017",
|
||||
[HondaCarDocs("Honda CR-V 2017-22", min_steer_speed=12. * CV.MPH_TO_MS)],
|
||||
# steerRatio: 12.3 is spec end-to-end
|
||||
CarSpecs(mass=3410 * CV.LB_TO_KG, wheelbase=2.66, steerRatio=16.0, centerToFrontRatio=0.41, tireStiffnessFactor=0.677),
|
||||
@@ -161,34 +156,29 @@ class CAR(Platforms):
|
||||
flags=HondaFlags.BOSCH_ALT_BRAKE,
|
||||
)
|
||||
CRV_HYBRID = HondaBoschPlatformConfig(
|
||||
"HONDA CR-V HYBRID 2019",
|
||||
[HondaCarDocs("Honda CR-V Hybrid 2017-20", min_steer_speed=12. * CV.MPH_TO_MS)],
|
||||
# mass: mean of 4 models in kg, steerRatio: 12.3 is spec end-to-end
|
||||
CarSpecs(mass=1667, wheelbase=2.66, steerRatio=16, centerToFrontRatio=0.41, tireStiffnessFactor=0.677),
|
||||
dbc_dict('honda_accord_2018_can_generated', None),
|
||||
)
|
||||
HRV_3G = HondaBoschPlatformConfig(
|
||||
"HONDA HR-V 2023",
|
||||
[HondaCarDocs("Honda HR-V 2023", "All")],
|
||||
CarSpecs(mass=3125 * CV.LB_TO_KG, wheelbase=2.61, steerRatio=15.2, centerToFrontRatio=0.41, tireStiffnessFactor=0.5),
|
||||
dbc_dict('honda_civic_ex_2022_can_generated', None),
|
||||
flags=HondaFlags.BOSCH_RADARLESS | HondaFlags.BOSCH_ALT_BRAKE,
|
||||
)
|
||||
ACURA_RDX_3G = HondaBoschPlatformConfig(
|
||||
"ACURA RDX 2020",
|
||||
[HondaCarDocs("Acura RDX 2019-22", "All", min_steer_speed=3. * CV.MPH_TO_MS)],
|
||||
CarSpecs(mass=4068 * CV.LB_TO_KG, wheelbase=2.75, steerRatio=11.95, centerToFrontRatio=0.41, tireStiffnessFactor=0.677), # as spec
|
||||
dbc_dict('acura_rdx_2020_can_generated', None),
|
||||
flags=HondaFlags.BOSCH_ALT_BRAKE,
|
||||
)
|
||||
INSIGHT = HondaBoschPlatformConfig(
|
||||
"HONDA INSIGHT 2019",
|
||||
[HondaCarDocs("Honda Insight 2019-22", "All", min_steer_speed=3. * CV.MPH_TO_MS)],
|
||||
CarSpecs(mass=2987 * CV.LB_TO_KG, wheelbase=2.7, steerRatio=15.0, centerToFrontRatio=0.39, tireStiffnessFactor=0.82), # as spec
|
||||
dbc_dict('honda_insight_ex_2019_can_generated', None),
|
||||
)
|
||||
HONDA_E = HondaBoschPlatformConfig(
|
||||
"HONDA E 2020",
|
||||
[HondaCarDocs("Honda e 2020", "All", min_steer_speed=3. * CV.MPH_TO_MS)],
|
||||
CarSpecs(mass=3338.8 * CV.LB_TO_KG, wheelbase=2.5, centerToFrontRatio=0.5, steerRatio=16.71, tireStiffnessFactor=0.82),
|
||||
dbc_dict('acura_rdx_2020_can_generated', None),
|
||||
@@ -196,70 +186,60 @@ class CAR(Platforms):
|
||||
|
||||
# Nidec Cars
|
||||
ACURA_ILX = HondaNidecPlatformConfig(
|
||||
"ACURA ILX 2016",
|
||||
[HondaCarDocs("Acura ILX 2016-19", "AcuraWatch Plus", min_steer_speed=25. * CV.MPH_TO_MS)],
|
||||
CarSpecs(mass=3095 * CV.LB_TO_KG, wheelbase=2.67, steerRatio=18.61, centerToFrontRatio=0.37, tireStiffnessFactor=0.72), # 15.3 is spec end-to-end
|
||||
dbc_dict('acura_ilx_2016_can_generated', 'acura_ilx_2016_nidec'),
|
||||
flags=HondaFlags.NIDEC_ALT_SCM_MESSAGES,
|
||||
)
|
||||
CRV = HondaNidecPlatformConfig(
|
||||
"HONDA CR-V 2016",
|
||||
[HondaCarDocs("Honda CR-V 2015-16", "Touring Trim", min_steer_speed=12. * CV.MPH_TO_MS)],
|
||||
CarSpecs(mass=3572 * CV.LB_TO_KG, wheelbase=2.62, steerRatio=16.89, centerToFrontRatio=0.41, tireStiffnessFactor=0.444), # as spec
|
||||
dbc_dict('honda_crv_touring_2016_can_generated', 'acura_ilx_2016_nidec'),
|
||||
flags=HondaFlags.NIDEC_ALT_SCM_MESSAGES,
|
||||
)
|
||||
CRV_EU = HondaNidecPlatformConfig(
|
||||
"HONDA CR-V EU 2016",
|
||||
[], # Euro version of CRV Touring, don't show in docs
|
||||
CRV.specs,
|
||||
dbc_dict('honda_crv_executive_2016_can_generated', 'acura_ilx_2016_nidec'),
|
||||
flags=HondaFlags.NIDEC_ALT_SCM_MESSAGES,
|
||||
)
|
||||
FIT = HondaNidecPlatformConfig(
|
||||
"HONDA FIT 2018",
|
||||
[HondaCarDocs("Honda Fit 2018-20", min_steer_speed=12. * CV.MPH_TO_MS)],
|
||||
CarSpecs(mass=2644 * CV.LB_TO_KG, wheelbase=2.53, steerRatio=13.06, centerToFrontRatio=0.39, tireStiffnessFactor=0.75),
|
||||
dbc_dict('honda_fit_ex_2018_can_generated', 'acura_ilx_2016_nidec'),
|
||||
flags=HondaFlags.NIDEC_ALT_SCM_MESSAGES,
|
||||
)
|
||||
FREED = HondaNidecPlatformConfig(
|
||||
"HONDA FREED 2020",
|
||||
[HondaCarDocs("Honda Freed 2020", min_steer_speed=12. * CV.MPH_TO_MS)],
|
||||
CarSpecs(mass=3086. * CV.LB_TO_KG, wheelbase=2.74, steerRatio=13.06, centerToFrontRatio=0.39, tireStiffnessFactor=0.75), # mostly copied from FIT
|
||||
dbc_dict('honda_fit_ex_2018_can_generated', 'acura_ilx_2016_nidec'),
|
||||
flags=HondaFlags.NIDEC_ALT_SCM_MESSAGES,
|
||||
)
|
||||
HRV = HondaNidecPlatformConfig(
|
||||
"HONDA HRV 2019",
|
||||
[HondaCarDocs("Honda HR-V 2019-22", min_steer_speed=12. * CV.MPH_TO_MS)],
|
||||
HRV_3G.specs,
|
||||
dbc_dict('honda_fit_ex_2018_can_generated', 'acura_ilx_2016_nidec'),
|
||||
flags=HondaFlags.NIDEC_ALT_SCM_MESSAGES,
|
||||
)
|
||||
ODYSSEY = HondaNidecPlatformConfig(
|
||||
"HONDA ODYSSEY 2018",
|
||||
[HondaCarDocs("Honda Odyssey 2018-20")],
|
||||
CarSpecs(mass=1900, wheelbase=3.0, steerRatio=14.35, centerToFrontRatio=0.41, tireStiffnessFactor=0.82),
|
||||
dbc_dict('honda_odyssey_exl_2018_generated', 'acura_ilx_2016_nidec'),
|
||||
flags=HondaFlags.NIDEC_ALT_PCM_ACCEL,
|
||||
)
|
||||
ODYSSEY_CHN = HondaNidecPlatformConfig(
|
||||
"HONDA ODYSSEY CHN 2019",
|
||||
[], # Chinese version of Odyssey, don't show in docs
|
||||
ODYSSEY.specs,
|
||||
dbc_dict('honda_odyssey_extreme_edition_2018_china_can_generated', 'acura_ilx_2016_nidec'),
|
||||
flags=HondaFlags.NIDEC_ALT_SCM_MESSAGES,
|
||||
)
|
||||
ACURA_RDX = HondaNidecPlatformConfig(
|
||||
"ACURA RDX 2018",
|
||||
[HondaCarDocs("Acura RDX 2016-18", "AcuraWatch Plus", min_steer_speed=12. * CV.MPH_TO_MS)],
|
||||
CarSpecs(mass=3925 * CV.LB_TO_KG, wheelbase=2.68, steerRatio=15.0, centerToFrontRatio=0.38, tireStiffnessFactor=0.444), # as spec
|
||||
dbc_dict('acura_rdx_2018_can_generated', 'acura_ilx_2016_nidec'),
|
||||
flags=HondaFlags.NIDEC_ALT_SCM_MESSAGES,
|
||||
)
|
||||
PILOT = HondaNidecPlatformConfig(
|
||||
"HONDA PILOT 2017",
|
||||
[
|
||||
HondaCarDocs("Honda Pilot 2016-22", min_steer_speed=12. * CV.MPH_TO_MS),
|
||||
HondaCarDocs("Honda Passport 2019-23", "All", min_steer_speed=12. * CV.MPH_TO_MS),
|
||||
@@ -269,14 +249,12 @@ class CAR(Platforms):
|
||||
flags=HondaFlags.NIDEC_ALT_SCM_MESSAGES,
|
||||
)
|
||||
RIDGELINE = HondaNidecPlatformConfig(
|
||||
"HONDA RIDGELINE 2017",
|
||||
[HondaCarDocs("Honda Ridgeline 2017-24", min_steer_speed=12. * CV.MPH_TO_MS)],
|
||||
CarSpecs(mass=4515 * CV.LB_TO_KG, wheelbase=3.18, centerToFrontRatio=0.41, steerRatio=15.59, tireStiffnessFactor=0.444), # as spec
|
||||
dbc_dict('acura_ilx_2016_can_generated', 'acura_ilx_2016_nidec'),
|
||||
flags=HondaFlags.NIDEC_ALT_SCM_MESSAGES,
|
||||
)
|
||||
CIVIC = HondaNidecPlatformConfig(
|
||||
"HONDA CIVIC 2016",
|
||||
[HondaCarDocs("Honda Civic 2016-18", min_steer_speed=12. * CV.MPH_TO_MS, video_link="https://youtu.be/-IkImTe1NYE")],
|
||||
CarSpecs(mass=1326, wheelbase=2.70, centerToFrontRatio=0.4, steerRatio=15.38), # 10.93 is end-to-end spec
|
||||
dbc_dict('honda_civic_touring_2016_can_generated', 'acura_ilx_2016_nidec'),
|
||||
|
||||
@@ -135,12 +135,10 @@ class HyundaiCanFDPlatformConfig(PlatformConfig):
|
||||
class CAR(Platforms):
|
||||
# Hyundai
|
||||
AZERA_6TH_GEN = HyundaiPlatformConfig(
|
||||
"HYUNDAI AZERA 6TH GEN",
|
||||
[HyundaiCarDocs("Hyundai Azera 2022", "All", car_parts=CarParts.common([CarHarness.hyundai_k]))],
|
||||
CarSpecs(mass=1600, wheelbase=2.885, steerRatio=14.5),
|
||||
)
|
||||
AZERA_HEV_6TH_GEN = HyundaiPlatformConfig(
|
||||
"HYUNDAI AZERA HYBRID 6TH GEN",
|
||||
[
|
||||
HyundaiCarDocs("Hyundai Azera Hybrid 2019", "All", car_parts=CarParts.common([CarHarness.hyundai_c])),
|
||||
HyundaiCarDocs("Hyundai Azera Hybrid 2020", "All", car_parts=CarParts.common([CarHarness.hyundai_k])),
|
||||
@@ -149,7 +147,6 @@ class CAR(Platforms):
|
||||
flags=HyundaiFlags.HYBRID,
|
||||
)
|
||||
ELANTRA = HyundaiPlatformConfig(
|
||||
"HYUNDAI ELANTRA 2017",
|
||||
[
|
||||
# TODO: 2017-18 could be Hyundai G
|
||||
HyundaiCarDocs("Hyundai Elantra 2017-18", min_enable_speed=19 * CV.MPH_TO_MS, car_parts=CarParts.common([CarHarness.hyundai_b])),
|
||||
@@ -160,7 +157,6 @@ class CAR(Platforms):
|
||||
flags=HyundaiFlags.LEGACY | HyundaiFlags.CLUSTER_GEARS | HyundaiFlags.MIN_STEER_32_MPH,
|
||||
)
|
||||
ELANTRA_GT_I30 = HyundaiPlatformConfig(
|
||||
"HYUNDAI I30 N LINE 2019 & GT 2018 DCT",
|
||||
[
|
||||
HyundaiCarDocs("Hyundai Elantra GT 2017-19", car_parts=CarParts.common([CarHarness.hyundai_e])),
|
||||
HyundaiCarDocs("Hyundai i30 2017-19", car_parts=CarParts.common([CarHarness.hyundai_e])),
|
||||
@@ -169,20 +165,17 @@ class CAR(Platforms):
|
||||
flags=HyundaiFlags.LEGACY | HyundaiFlags.CLUSTER_GEARS | HyundaiFlags.MIN_STEER_32_MPH,
|
||||
)
|
||||
ELANTRA_2021 = HyundaiPlatformConfig(
|
||||
"HYUNDAI ELANTRA 2021",
|
||||
[HyundaiCarDocs("Hyundai Elantra 2021-23", video_link="https://youtu.be/_EdYQtV52-c", car_parts=CarParts.common([CarHarness.hyundai_k]))],
|
||||
CarSpecs(mass=2800 * CV.LB_TO_KG, wheelbase=2.72, steerRatio=12.9, tireStiffnessFactor=0.65),
|
||||
flags=HyundaiFlags.CHECKSUM_CRC8,
|
||||
)
|
||||
ELANTRA_HEV_2021 = HyundaiPlatformConfig(
|
||||
"HYUNDAI ELANTRA HYBRID 2021",
|
||||
[HyundaiCarDocs("Hyundai Elantra Hybrid 2021-23", video_link="https://youtu.be/_EdYQtV52-c",
|
||||
car_parts=CarParts.common([CarHarness.hyundai_k]))],
|
||||
CarSpecs(mass=3017 * CV.LB_TO_KG, wheelbase=2.72, steerRatio=12.9, tireStiffnessFactor=0.65),
|
||||
flags=HyundaiFlags.CHECKSUM_CRC8 | HyundaiFlags.HYBRID,
|
||||
)
|
||||
HYUNDAI_GENESIS = HyundaiPlatformConfig(
|
||||
"HYUNDAI GENESIS 2015-2016",
|
||||
[
|
||||
# TODO: check 2015 packages
|
||||
HyundaiCarDocs("Hyundai Genesis 2015-16", min_enable_speed=19 * CV.MPH_TO_MS, car_parts=CarParts.common([CarHarness.hyundai_j])),
|
||||
@@ -192,119 +185,100 @@ class CAR(Platforms):
|
||||
flags=HyundaiFlags.CHECKSUM_6B | HyundaiFlags.LEGACY,
|
||||
)
|
||||
IONIQ = HyundaiPlatformConfig(
|
||||
"HYUNDAI IONIQ HYBRID 2017-2019",
|
||||
[HyundaiCarDocs("Hyundai Ioniq Hybrid 2017-19", car_parts=CarParts.common([CarHarness.hyundai_c]))],
|
||||
CarSpecs(mass=1490, wheelbase=2.7, steerRatio=13.73, tireStiffnessFactor=0.385),
|
||||
flags=HyundaiFlags.HYBRID | HyundaiFlags.MIN_STEER_32_MPH,
|
||||
)
|
||||
IONIQ_HEV_2022 = HyundaiPlatformConfig(
|
||||
"HYUNDAI IONIQ HYBRID 2020-2022",
|
||||
[HyundaiCarDocs("Hyundai Ioniq Hybrid 2020-22", car_parts=CarParts.common([CarHarness.hyundai_h]))], # TODO: confirm 2020-21 harness,
|
||||
CarSpecs(mass=1490, wheelbase=2.7, steerRatio=13.73, tireStiffnessFactor=0.385),
|
||||
flags=HyundaiFlags.HYBRID | HyundaiFlags.LEGACY,
|
||||
)
|
||||
IONIQ_EV_LTD = HyundaiPlatformConfig(
|
||||
"HYUNDAI IONIQ ELECTRIC LIMITED 2019",
|
||||
[HyundaiCarDocs("Hyundai Ioniq Electric 2019", car_parts=CarParts.common([CarHarness.hyundai_c]))],
|
||||
CarSpecs(mass=1490, wheelbase=2.7, steerRatio=13.73, tireStiffnessFactor=0.385),
|
||||
flags=HyundaiFlags.MANDO_RADAR | HyundaiFlags.EV | HyundaiFlags.LEGACY | HyundaiFlags.MIN_STEER_32_MPH,
|
||||
)
|
||||
IONIQ_EV_2020 = HyundaiPlatformConfig(
|
||||
"HYUNDAI IONIQ ELECTRIC 2020",
|
||||
[HyundaiCarDocs("Hyundai Ioniq Electric 2020", "All", car_parts=CarParts.common([CarHarness.hyundai_h]))],
|
||||
CarSpecs(mass=1490, wheelbase=2.7, steerRatio=13.73, tireStiffnessFactor=0.385),
|
||||
flags=HyundaiFlags.EV,
|
||||
)
|
||||
IONIQ_PHEV_2019 = HyundaiPlatformConfig(
|
||||
"HYUNDAI IONIQ PLUG-IN HYBRID 2019",
|
||||
[HyundaiCarDocs("Hyundai Ioniq Plug-in Hybrid 2019", car_parts=CarParts.common([CarHarness.hyundai_c]))],
|
||||
CarSpecs(mass=1490, wheelbase=2.7, steerRatio=13.73, tireStiffnessFactor=0.385),
|
||||
flags=HyundaiFlags.HYBRID | HyundaiFlags.MIN_STEER_32_MPH,
|
||||
)
|
||||
IONIQ_PHEV = HyundaiPlatformConfig(
|
||||
"HYUNDAI IONIQ PHEV 2020",
|
||||
[HyundaiCarDocs("Hyundai Ioniq Plug-in Hybrid 2020-22", "All", car_parts=CarParts.common([CarHarness.hyundai_h]))],
|
||||
CarSpecs(mass=1490, wheelbase=2.7, steerRatio=13.73, tireStiffnessFactor=0.385),
|
||||
flags=HyundaiFlags.HYBRID,
|
||||
)
|
||||
KONA = HyundaiPlatformConfig(
|
||||
"HYUNDAI KONA 2020",
|
||||
[HyundaiCarDocs("Hyundai Kona 2020", car_parts=CarParts.common([CarHarness.hyundai_b]))],
|
||||
CarSpecs(mass=1275, wheelbase=2.6, steerRatio=13.42, tireStiffnessFactor=0.385),
|
||||
flags=HyundaiFlags.CLUSTER_GEARS,
|
||||
)
|
||||
KONA_EV = HyundaiPlatformConfig(
|
||||
"HYUNDAI KONA ELECTRIC 2019",
|
||||
[HyundaiCarDocs("Hyundai Kona Electric 2018-21", car_parts=CarParts.common([CarHarness.hyundai_g]))],
|
||||
CarSpecs(mass=1685, wheelbase=2.6, steerRatio=13.42, tireStiffnessFactor=0.385),
|
||||
flags=HyundaiFlags.EV,
|
||||
)
|
||||
KONA_EV_2022 = HyundaiPlatformConfig(
|
||||
"HYUNDAI KONA ELECTRIC 2022",
|
||||
[HyundaiCarDocs("Hyundai Kona Electric 2022-23", car_parts=CarParts.common([CarHarness.hyundai_o]))],
|
||||
CarSpecs(mass=1743, wheelbase=2.6, steerRatio=13.42, tireStiffnessFactor=0.385),
|
||||
flags=HyundaiFlags.CAMERA_SCC | HyundaiFlags.EV,
|
||||
)
|
||||
KONA_EV_2ND_GEN = HyundaiCanFDPlatformConfig(
|
||||
"HYUNDAI KONA ELECTRIC 2ND GEN",
|
||||
[HyundaiCarDocs("Hyundai Kona Electric (with HDA II, Korea only) 2023", video_link="https://www.youtube.com/watch?v=U2fOCmcQ8hw",
|
||||
car_parts=CarParts.common([CarHarness.hyundai_r]))],
|
||||
CarSpecs(mass=1740, wheelbase=2.66, steerRatio=13.6, tireStiffnessFactor=0.385),
|
||||
flags=HyundaiFlags.EV | HyundaiFlags.CANFD_NO_RADAR_DISABLE,
|
||||
)
|
||||
KONA_HEV = HyundaiPlatformConfig(
|
||||
"HYUNDAI KONA HYBRID 2020",
|
||||
[HyundaiCarDocs("Hyundai Kona Hybrid 2020", car_parts=CarParts.common([CarHarness.hyundai_i]))], # TODO: check packages,
|
||||
CarSpecs(mass=1425, wheelbase=2.6, steerRatio=13.42, tireStiffnessFactor=0.385),
|
||||
flags=HyundaiFlags.HYBRID,
|
||||
)
|
||||
SANTA_FE = HyundaiPlatformConfig(
|
||||
"HYUNDAI SANTA FE 2019",
|
||||
[HyundaiCarDocs("Hyundai Santa Fe 2019-20", "All", video_link="https://youtu.be/bjDR0YjM__s",
|
||||
car_parts=CarParts.common([CarHarness.hyundai_d]))],
|
||||
CarSpecs(mass=3982 * CV.LB_TO_KG, wheelbase=2.766, steerRatio=16.55, tireStiffnessFactor=0.82),
|
||||
flags=HyundaiFlags.MANDO_RADAR | HyundaiFlags.CHECKSUM_CRC8,
|
||||
)
|
||||
SANTA_FE_2022 = HyundaiPlatformConfig(
|
||||
"HYUNDAI SANTA FE 2022",
|
||||
[HyundaiCarDocs("Hyundai Santa Fe 2021-23", "All", video_link="https://youtu.be/VnHzSTygTS4",
|
||||
car_parts=CarParts.common([CarHarness.hyundai_l]))],
|
||||
SANTA_FE.specs,
|
||||
flags=HyundaiFlags.CHECKSUM_CRC8,
|
||||
)
|
||||
SANTA_FE_HEV_2022 = HyundaiPlatformConfig(
|
||||
"HYUNDAI SANTA FE HYBRID 2022",
|
||||
[HyundaiCarDocs("Hyundai Santa Fe Hybrid 2022-23", "All", car_parts=CarParts.common([CarHarness.hyundai_l]))],
|
||||
SANTA_FE.specs,
|
||||
flags=HyundaiFlags.CHECKSUM_CRC8 | HyundaiFlags.HYBRID,
|
||||
)
|
||||
SANTA_FE_PHEV_2022 = HyundaiPlatformConfig(
|
||||
"HYUNDAI SANTA FE PlUG-IN HYBRID 2022",
|
||||
[HyundaiCarDocs("Hyundai Santa Fe Plug-in Hybrid 2022-23", "All", car_parts=CarParts.common([CarHarness.hyundai_l]))],
|
||||
SANTA_FE.specs,
|
||||
flags=HyundaiFlags.CHECKSUM_CRC8 | HyundaiFlags.HYBRID,
|
||||
)
|
||||
SONATA = HyundaiPlatformConfig(
|
||||
"HYUNDAI SONATA 2020",
|
||||
[HyundaiCarDocs("Hyundai Sonata 2020-23", "All", video_link="https://www.youtube.com/watch?v=ix63r9kE3Fw",
|
||||
car_parts=CarParts.common([CarHarness.hyundai_a]))],
|
||||
CarSpecs(mass=1513, wheelbase=2.84, steerRatio=13.27 * 1.15, tireStiffnessFactor=0.65), # 15% higher at the center seems reasonable
|
||||
flags=HyundaiFlags.MANDO_RADAR | HyundaiFlags.CHECKSUM_CRC8,
|
||||
)
|
||||
SONATA_LF = HyundaiPlatformConfig(
|
||||
"HYUNDAI SONATA 2019",
|
||||
[HyundaiCarDocs("Hyundai Sonata 2018-19", car_parts=CarParts.common([CarHarness.hyundai_e]))],
|
||||
CarSpecs(mass=1536, wheelbase=2.804, steerRatio=13.27 * 1.15), # 15% higher at the center seems reasonable
|
||||
|
||||
flags=HyundaiFlags.UNSUPPORTED_LONGITUDINAL | HyundaiFlags.TCU_GEARS,
|
||||
)
|
||||
STARIA_4TH_GEN = HyundaiCanFDPlatformConfig(
|
||||
"HYUNDAI STARIA 4TH GEN",
|
||||
[HyundaiCarDocs("Hyundai Staria 2023", "All", car_parts=CarParts.common([CarHarness.hyundai_k]))],
|
||||
CarSpecs(mass=2205, wheelbase=3.273, steerRatio=11.94), # https://www.hyundai.com/content/dam/hyundai/au/en/models/staria-load/premium-pip-update-2023/spec-sheet/STARIA_Load_Spec-Table_March_2023_v3.1.pdf
|
||||
)
|
||||
TUCSON = HyundaiPlatformConfig(
|
||||
"HYUNDAI TUCSON 2019",
|
||||
[
|
||||
HyundaiCarDocs("Hyundai Tucson 2021", min_enable_speed=19 * CV.MPH_TO_MS, car_parts=CarParts.common([CarHarness.hyundai_l])),
|
||||
HyundaiCarDocs("Hyundai Tucson Diesel 2019", car_parts=CarParts.common([CarHarness.hyundai_l])),
|
||||
@@ -313,7 +287,6 @@ class CAR(Platforms):
|
||||
flags=HyundaiFlags.TCU_GEARS,
|
||||
)
|
||||
PALISADE = HyundaiPlatformConfig(
|
||||
"HYUNDAI PALISADE 2020",
|
||||
[
|
||||
HyundaiCarDocs("Hyundai Palisade 2020-22", "All", video_link="https://youtu.be/TAnDqjF4fDY?t=456", car_parts=CarParts.common([CarHarness.hyundai_h])),
|
||||
HyundaiCarDocs("Kia Telluride 2020-22", "All", car_parts=CarParts.common([CarHarness.hyundai_h])),
|
||||
@@ -322,19 +295,16 @@ class CAR(Platforms):
|
||||
flags=HyundaiFlags.MANDO_RADAR | HyundaiFlags.CHECKSUM_CRC8,
|
||||
)
|
||||
VELOSTER = HyundaiPlatformConfig(
|
||||
"HYUNDAI VELOSTER 2019",
|
||||
[HyundaiCarDocs("Hyundai Veloster 2019-20", min_enable_speed=5. * CV.MPH_TO_MS, car_parts=CarParts.common([CarHarness.hyundai_e]))],
|
||||
CarSpecs(mass=2917 * CV.LB_TO_KG, wheelbase=2.8, steerRatio=13.75 * 1.15, tireStiffnessFactor=0.5),
|
||||
flags=HyundaiFlags.LEGACY | HyundaiFlags.TCU_GEARS,
|
||||
)
|
||||
SONATA_HYBRID = HyundaiPlatformConfig(
|
||||
"HYUNDAI SONATA HYBRID 2021",
|
||||
[HyundaiCarDocs("Hyundai Sonata Hybrid 2020-23", "All", car_parts=CarParts.common([CarHarness.hyundai_a]))],
|
||||
SONATA.specs,
|
||||
flags=HyundaiFlags.MANDO_RADAR | HyundaiFlags.CHECKSUM_CRC8 | HyundaiFlags.HYBRID,
|
||||
)
|
||||
IONIQ_5 = HyundaiCanFDPlatformConfig(
|
||||
"HYUNDAI IONIQ 5 2022",
|
||||
[
|
||||
HyundaiCarDocs("Hyundai Ioniq 5 (Southeast Asia only) 2022-23", "All", car_parts=CarParts.common([CarHarness.hyundai_q])),
|
||||
HyundaiCarDocs("Hyundai Ioniq 5 (without HDA II) 2022-23", "Highway Driving Assist", car_parts=CarParts.common([CarHarness.hyundai_k])),
|
||||
@@ -344,13 +314,11 @@ class CAR(Platforms):
|
||||
flags=HyundaiFlags.EV,
|
||||
)
|
||||
IONIQ_6 = HyundaiCanFDPlatformConfig(
|
||||
"HYUNDAI IONIQ 6 2023",
|
||||
[HyundaiCarDocs("Hyundai Ioniq 6 (with HDA II) 2023", "Highway Driving Assist II", car_parts=CarParts.common([CarHarness.hyundai_p]))],
|
||||
IONIQ_5.specs,
|
||||
flags=HyundaiFlags.EV | HyundaiFlags.CANFD_NO_RADAR_DISABLE,
|
||||
)
|
||||
TUCSON_4TH_GEN = HyundaiCanFDPlatformConfig(
|
||||
"HYUNDAI TUCSON 4TH GEN",
|
||||
[
|
||||
HyundaiCarDocs("Hyundai Tucson 2022", car_parts=CarParts.common([CarHarness.hyundai_n])),
|
||||
HyundaiCarDocs("Hyundai Tucson 2023", "All", car_parts=CarParts.common([CarHarness.hyundai_n])),
|
||||
@@ -359,13 +327,11 @@ class CAR(Platforms):
|
||||
CarSpecs(mass=1630, wheelbase=2.756, steerRatio=13.7, tireStiffnessFactor=0.385),
|
||||
)
|
||||
SANTA_CRUZ_1ST_GEN = HyundaiCanFDPlatformConfig(
|
||||
"HYUNDAI SANTA CRUZ 1ST GEN",
|
||||
[HyundaiCarDocs("Hyundai Santa Cruz 2022-24", car_parts=CarParts.common([CarHarness.hyundai_n]))],
|
||||
# weight from Limited trim - the only supported trim, steering ratio according to Hyundai News https://www.hyundainews.com/assets/documents/original/48035-2022SantaCruzProductGuideSpecsv2081521.pdf
|
||||
CarSpecs(mass=1870, wheelbase=3, steerRatio=14.2),
|
||||
)
|
||||
CUSTIN_1ST_GEN = HyundaiPlatformConfig(
|
||||
"HYUNDAI CUSTIN 1ST GEN",
|
||||
[HyundaiCarDocs("Hyundai Custin 2023", "All", car_parts=CarParts.common([CarHarness.hyundai_k]))],
|
||||
CarSpecs(mass=1690, wheelbase=3.055, steerRatio=17), # mass: from https://www.hyundai-motor.com.tw/clicktobuy/custin#spec_0, steerRatio: from learner
|
||||
flags=HyundaiFlags.CHECKSUM_CRC8,
|
||||
@@ -373,7 +339,6 @@ class CAR(Platforms):
|
||||
|
||||
# Kia
|
||||
KIA_FORTE = HyundaiPlatformConfig(
|
||||
"KIA FORTE E 2018 & GT 2021",
|
||||
[
|
||||
HyundaiCarDocs("Kia Forte 2019-21", car_parts=CarParts.common([CarHarness.hyundai_g])),
|
||||
HyundaiCarDocs("Kia Forte 2023", car_parts=CarParts.common([CarHarness.hyundai_e])),
|
||||
@@ -381,25 +346,21 @@ class CAR(Platforms):
|
||||
CarSpecs(mass=2878 * CV.LB_TO_KG, wheelbase=2.8, steerRatio=13.75, tireStiffnessFactor=0.5)
|
||||
)
|
||||
KIA_K5_2021 = HyundaiPlatformConfig(
|
||||
"KIA K5 2021",
|
||||
[HyundaiCarDocs("Kia K5 2021-24", car_parts=CarParts.common([CarHarness.hyundai_a]))],
|
||||
CarSpecs(mass=3381 * CV.LB_TO_KG, wheelbase=2.85, steerRatio=13.27, tireStiffnessFactor=0.5), # 2021 Kia K5 Steering Ratio (all trims)
|
||||
flags=HyundaiFlags.CHECKSUM_CRC8,
|
||||
)
|
||||
KIA_K5_HEV_2020 = HyundaiPlatformConfig(
|
||||
"KIA K5 HYBRID 2020",
|
||||
[HyundaiCarDocs("Kia K5 Hybrid 2020-22", car_parts=CarParts.common([CarHarness.hyundai_a]))],
|
||||
KIA_K5_2021.specs,
|
||||
flags=HyundaiFlags.MANDO_RADAR | HyundaiFlags.CHECKSUM_CRC8 | HyundaiFlags.HYBRID,
|
||||
)
|
||||
KIA_K8_HEV_1ST_GEN = HyundaiCanFDPlatformConfig(
|
||||
"KIA K8 HYBRID 1ST GEN",
|
||||
[HyundaiCarDocs("Kia K8 Hybrid (with HDA II) 2023", "Highway Driving Assist II", car_parts=CarParts.common([CarHarness.hyundai_q]))],
|
||||
# mass: https://carprices.ae/brands/kia/2023/k8/1.6-turbo-hybrid, steerRatio: guesstimate from K5 platform
|
||||
CarSpecs(mass=1630, wheelbase=2.895, steerRatio=13.27)
|
||||
)
|
||||
KIA_NIRO_EV = HyundaiPlatformConfig(
|
||||
"KIA NIRO EV 2020",
|
||||
[
|
||||
HyundaiCarDocs("Kia Niro EV 2019", "All", video_link="https://www.youtube.com/watch?v=lT7zcG6ZpGo", car_parts=CarParts.common([CarHarness.hyundai_h])),
|
||||
HyundaiCarDocs("Kia Niro EV 2020", "All", video_link="https://www.youtube.com/watch?v=lT7zcG6ZpGo", car_parts=CarParts.common([CarHarness.hyundai_f])),
|
||||
@@ -410,13 +371,11 @@ class CAR(Platforms):
|
||||
flags=HyundaiFlags.MANDO_RADAR | HyundaiFlags.EV,
|
||||
)
|
||||
KIA_NIRO_EV_2ND_GEN = HyundaiCanFDPlatformConfig(
|
||||
"KIA NIRO EV 2ND GEN",
|
||||
[HyundaiCarDocs("Kia Niro EV 2023", "All", car_parts=CarParts.common([CarHarness.hyundai_a]))],
|
||||
KIA_NIRO_EV.specs,
|
||||
flags=HyundaiFlags.EV,
|
||||
)
|
||||
KIA_NIRO_PHEV = HyundaiPlatformConfig(
|
||||
"KIA NIRO HYBRID 2019",
|
||||
[
|
||||
HyundaiCarDocs("Kia Niro Hybrid 2018", "All", min_enable_speed=10. * CV.MPH_TO_MS, car_parts=CarParts.common([CarHarness.hyundai_c])),
|
||||
HyundaiCarDocs("Kia Niro Plug-in Hybrid 2018-19", "All", min_enable_speed=10. * CV.MPH_TO_MS, car_parts=CarParts.common([CarHarness.hyundai_c])),
|
||||
@@ -426,7 +385,6 @@ class CAR(Platforms):
|
||||
flags=HyundaiFlags.MANDO_RADAR | HyundaiFlags.HYBRID | HyundaiFlags.UNSUPPORTED_LONGITUDINAL | HyundaiFlags.MIN_STEER_32_MPH,
|
||||
)
|
||||
KIA_NIRO_PHEV_2022 = HyundaiPlatformConfig(
|
||||
"KIA NIRO PLUG-IN HYBRID 2022",
|
||||
[
|
||||
HyundaiCarDocs("Kia Niro Plug-in Hybrid 2021", car_parts=CarParts.common([CarHarness.hyundai_d])),
|
||||
HyundaiCarDocs("Kia Niro Plug-in Hybrid 2022", car_parts=CarParts.common([CarHarness.hyundai_f])),
|
||||
@@ -435,7 +393,6 @@ class CAR(Platforms):
|
||||
flags=HyundaiFlags.HYBRID | HyundaiFlags.MANDO_RADAR,
|
||||
)
|
||||
KIA_NIRO_HEV_2021 = HyundaiPlatformConfig(
|
||||
"KIA NIRO HYBRID 2021",
|
||||
[
|
||||
HyundaiCarDocs("Kia Niro Hybrid 2021", car_parts=CarParts.common([CarHarness.hyundai_d])),
|
||||
HyundaiCarDocs("Kia Niro Hybrid 2022", car_parts=CarParts.common([CarHarness.hyundai_f])),
|
||||
@@ -444,44 +401,37 @@ class CAR(Platforms):
|
||||
flags=HyundaiFlags.HYBRID,
|
||||
)
|
||||
KIA_NIRO_HEV_2ND_GEN = HyundaiCanFDPlatformConfig(
|
||||
"KIA NIRO HYBRID 2ND GEN",
|
||||
[HyundaiCarDocs("Kia Niro Hybrid 2023", car_parts=CarParts.common([CarHarness.hyundai_a]))],
|
||||
KIA_NIRO_EV.specs,
|
||||
)
|
||||
KIA_OPTIMA_G4 = HyundaiPlatformConfig(
|
||||
"KIA OPTIMA 4TH GEN",
|
||||
[HyundaiCarDocs("Kia Optima 2017", "Advanced Smart Cruise Control",
|
||||
car_parts=CarParts.common([CarHarness.hyundai_b]))], # TODO: may support 2016, 2018
|
||||
CarSpecs(mass=3558 * CV.LB_TO_KG, wheelbase=2.8, steerRatio=13.75, tireStiffnessFactor=0.5),
|
||||
flags=HyundaiFlags.LEGACY | HyundaiFlags.TCU_GEARS | HyundaiFlags.MIN_STEER_32_MPH,
|
||||
)
|
||||
KIA_OPTIMA_G4_FL = HyundaiPlatformConfig(
|
||||
"KIA OPTIMA 4TH GEN FACELIFT",
|
||||
[HyundaiCarDocs("Kia Optima 2019-20", car_parts=CarParts.common([CarHarness.hyundai_g]))],
|
||||
CarSpecs(mass=3558 * CV.LB_TO_KG, wheelbase=2.8, steerRatio=13.75, tireStiffnessFactor=0.5),
|
||||
flags=HyundaiFlags.UNSUPPORTED_LONGITUDINAL | HyundaiFlags.TCU_GEARS,
|
||||
)
|
||||
# TODO: may support adjacent years. may have a non-zero minimum steering speed
|
||||
KIA_OPTIMA_H = HyundaiPlatformConfig(
|
||||
"KIA OPTIMA HYBRID 2017 & SPORTS 2019",
|
||||
[HyundaiCarDocs("Kia Optima Hybrid 2017", "Advanced Smart Cruise Control", car_parts=CarParts.common([CarHarness.hyundai_c]))],
|
||||
CarSpecs(mass=3558 * CV.LB_TO_KG, wheelbase=2.8, steerRatio=13.75, tireStiffnessFactor=0.5),
|
||||
flags=HyundaiFlags.HYBRID | HyundaiFlags.LEGACY,
|
||||
)
|
||||
KIA_OPTIMA_H_G4_FL = HyundaiPlatformConfig(
|
||||
"KIA OPTIMA HYBRID 4TH GEN FACELIFT",
|
||||
[HyundaiCarDocs("Kia Optima Hybrid 2019", car_parts=CarParts.common([CarHarness.hyundai_h]))],
|
||||
CarSpecs(mass=3558 * CV.LB_TO_KG, wheelbase=2.8, steerRatio=13.75, tireStiffnessFactor=0.5),
|
||||
flags=HyundaiFlags.HYBRID | HyundaiFlags.UNSUPPORTED_LONGITUDINAL,
|
||||
)
|
||||
KIA_SELTOS = HyundaiPlatformConfig(
|
||||
"KIA SELTOS 2021",
|
||||
[HyundaiCarDocs("Kia Seltos 2021", car_parts=CarParts.common([CarHarness.hyundai_a]))],
|
||||
CarSpecs(mass=1337, wheelbase=2.63, steerRatio=14.56),
|
||||
flags=HyundaiFlags.CHECKSUM_CRC8,
|
||||
)
|
||||
KIA_SPORTAGE_5TH_GEN = HyundaiCanFDPlatformConfig(
|
||||
"KIA SPORTAGE 5TH GEN",
|
||||
[
|
||||
HyundaiCarDocs("Kia Sportage 2023-24", car_parts=CarParts.common([CarHarness.hyundai_n])),
|
||||
HyundaiCarDocs("Kia Sportage Hybrid 2023", car_parts=CarParts.common([CarHarness.hyundai_n])),
|
||||
@@ -490,7 +440,6 @@ class CAR(Platforms):
|
||||
CarSpecs(mass=1725, wheelbase=2.756, steerRatio=13.6),
|
||||
)
|
||||
KIA_SORENTO = HyundaiPlatformConfig(
|
||||
"KIA SORENTO GT LINE 2018",
|
||||
[
|
||||
HyundaiCarDocs("Kia Sorento 2018", "Advanced Smart Cruise Control & LKAS", video_link="https://www.youtube.com/watch?v=Fkh3s6WHJz8",
|
||||
car_parts=CarParts.common([CarHarness.hyundai_e])),
|
||||
@@ -500,13 +449,11 @@ class CAR(Platforms):
|
||||
flags=HyundaiFlags.CHECKSUM_6B | HyundaiFlags.UNSUPPORTED_LONGITUDINAL,
|
||||
)
|
||||
KIA_SORENTO_4TH_GEN = HyundaiCanFDPlatformConfig(
|
||||
"KIA SORENTO 4TH GEN",
|
||||
[HyundaiCarDocs("Kia Sorento 2021-23", car_parts=CarParts.common([CarHarness.hyundai_k]))],
|
||||
CarSpecs(mass=3957 * CV.LB_TO_KG, wheelbase=2.81, steerRatio=13.5), # average of the platforms
|
||||
flags=HyundaiFlags.RADAR_SCC,
|
||||
)
|
||||
KIA_SORENTO_HEV_4TH_GEN = HyundaiCanFDPlatformConfig(
|
||||
"KIA SORENTO HYBRID 4TH GEN",
|
||||
[
|
||||
HyundaiCarDocs("Kia Sorento Hybrid 2021-23", "All", car_parts=CarParts.common([CarHarness.hyundai_a])),
|
||||
HyundaiCarDocs("Kia Sorento Plug-in Hybrid 2022-23", "All", car_parts=CarParts.common([CarHarness.hyundai_a])),
|
||||
@@ -515,24 +462,20 @@ class CAR(Platforms):
|
||||
flags=HyundaiFlags.RADAR_SCC,
|
||||
)
|
||||
KIA_STINGER = HyundaiPlatformConfig(
|
||||
"KIA STINGER GT2 2018",
|
||||
[HyundaiCarDocs("Kia Stinger 2018-20", video_link="https://www.youtube.com/watch?v=MJ94qoofYw0",
|
||||
car_parts=CarParts.common([CarHarness.hyundai_c]))],
|
||||
CarSpecs(mass=1825, wheelbase=2.78, steerRatio=14.4 * 1.15) # 15% higher at the center seems reasonable
|
||||
)
|
||||
KIA_STINGER_2022 = HyundaiPlatformConfig(
|
||||
"KIA STINGER 2022",
|
||||
[HyundaiCarDocs("Kia Stinger 2022-23", "All", car_parts=CarParts.common([CarHarness.hyundai_k]))],
|
||||
KIA_STINGER.specs,
|
||||
)
|
||||
KIA_CEED = HyundaiPlatformConfig(
|
||||
"KIA CEED INTRO ED 2019",
|
||||
[HyundaiCarDocs("Kia Ceed 2019", car_parts=CarParts.common([CarHarness.hyundai_e]))],
|
||||
CarSpecs(mass=1450, wheelbase=2.65, steerRatio=13.75, tireStiffnessFactor=0.5),
|
||||
flags=HyundaiFlags.LEGACY,
|
||||
)
|
||||
KIA_EV6 = HyundaiCanFDPlatformConfig(
|
||||
"KIA EV6 2022",
|
||||
[
|
||||
HyundaiCarDocs("Kia EV6 (Southeast Asia only) 2022-23", "All", car_parts=CarParts.common([CarHarness.hyundai_p])),
|
||||
HyundaiCarDocs("Kia EV6 (without HDA II) 2022-23", "Highway Driving Assist", car_parts=CarParts.common([CarHarness.hyundai_l])),
|
||||
@@ -542,7 +485,6 @@ class CAR(Platforms):
|
||||
flags=HyundaiFlags.EV,
|
||||
)
|
||||
KIA_CARNIVAL_4TH_GEN = HyundaiCanFDPlatformConfig(
|
||||
"KIA CARNIVAL 4TH GEN",
|
||||
[
|
||||
HyundaiCarDocs("Kia Carnival 2022-24", car_parts=CarParts.common([CarHarness.hyundai_a])),
|
||||
HyundaiCarDocs("Kia Carnival (China only) 2023", car_parts=CarParts.common([CarHarness.hyundai_k]))
|
||||
@@ -553,7 +495,6 @@ class CAR(Platforms):
|
||||
|
||||
# Genesis
|
||||
GENESIS_GV60_EV_1ST_GEN = HyundaiCanFDPlatformConfig(
|
||||
"GENESIS GV60 ELECTRIC 1ST GEN",
|
||||
[
|
||||
HyundaiCarDocs("Genesis GV60 (Advanced Trim) 2023", "All", car_parts=CarParts.common([CarHarness.hyundai_a])),
|
||||
HyundaiCarDocs("Genesis GV60 (Performance Trim) 2023", "All", car_parts=CarParts.common([CarHarness.hyundai_k])),
|
||||
@@ -562,19 +503,16 @@ class CAR(Platforms):
|
||||
flags=HyundaiFlags.EV,
|
||||
)
|
||||
GENESIS_G70 = HyundaiPlatformConfig(
|
||||
"GENESIS G70 2018",
|
||||
[HyundaiCarDocs("Genesis G70 2018-19", "All", car_parts=CarParts.common([CarHarness.hyundai_f]))],
|
||||
CarSpecs(mass=1640, wheelbase=2.84, steerRatio=13.56),
|
||||
flags=HyundaiFlags.LEGACY,
|
||||
)
|
||||
GENESIS_G70_2020 = HyundaiPlatformConfig(
|
||||
"GENESIS G70 2020",
|
||||
[HyundaiCarDocs("Genesis G70 2020-23", "All", car_parts=CarParts.common([CarHarness.hyundai_f]))],
|
||||
CarSpecs(mass=3673 * CV.LB_TO_KG, wheelbase=2.83, steerRatio=12.9),
|
||||
flags=HyundaiFlags.MANDO_RADAR,
|
||||
)
|
||||
GENESIS_GV70_1ST_GEN = HyundaiCanFDPlatformConfig(
|
||||
"GENESIS GV70 1ST GEN",
|
||||
[
|
||||
HyundaiCarDocs("Genesis GV70 (2.5T Trim) 2022-23", "All", car_parts=CarParts.common([CarHarness.hyundai_l])),
|
||||
HyundaiCarDocs("Genesis GV70 (3.5T Trim) 2022-23", "All", car_parts=CarParts.common([CarHarness.hyundai_m])),
|
||||
@@ -583,18 +521,15 @@ class CAR(Platforms):
|
||||
flags=HyundaiFlags.RADAR_SCC,
|
||||
)
|
||||
GENESIS_G80 = HyundaiPlatformConfig(
|
||||
"GENESIS G80 2017",
|
||||
[HyundaiCarDocs("Genesis G80 2018-19", "All", car_parts=CarParts.common([CarHarness.hyundai_h]))],
|
||||
CarSpecs(mass=2060, wheelbase=3.01, steerRatio=16.5),
|
||||
flags=HyundaiFlags.LEGACY,
|
||||
)
|
||||
GENESIS_G90 = HyundaiPlatformConfig(
|
||||
"GENESIS G90 2017",
|
||||
[HyundaiCarDocs("Genesis G90 2017-20", "All", car_parts=CarParts.common([CarHarness.hyundai_c]))],
|
||||
CarSpecs(mass=2200, wheelbase=3.15, steerRatio=12.069),
|
||||
)
|
||||
GENESIS_GV80 = HyundaiCanFDPlatformConfig(
|
||||
"GENESIS GV80 2023",
|
||||
[HyundaiCarDocs("Genesis GV80 2023", "All", car_parts=CarParts.common([CarHarness.hyundai_m]))],
|
||||
CarSpecs(mass=2258, wheelbase=2.95, steerRatio=14.14),
|
||||
flags=HyundaiFlags.RADAR_SCC,
|
||||
|
||||
@@ -51,32 +51,26 @@ class MazdaPlatformConfig(PlatformConfig):
|
||||
|
||||
class CAR(Platforms):
|
||||
CX5 = MazdaPlatformConfig(
|
||||
"MAZDA CX-5",
|
||||
[MazdaCarDocs("Mazda CX-5 2017-21")],
|
||||
MazdaCarSpecs(mass=3655 * CV.LB_TO_KG, wheelbase=2.7, steerRatio=15.5)
|
||||
)
|
||||
CX9 = MazdaPlatformConfig(
|
||||
"MAZDA CX-9",
|
||||
[MazdaCarDocs("Mazda CX-9 2016-20")],
|
||||
MazdaCarSpecs(mass=4217 * CV.LB_TO_KG, wheelbase=3.1, steerRatio=17.6)
|
||||
)
|
||||
MAZDA3 = MazdaPlatformConfig(
|
||||
"MAZDA 3",
|
||||
[MazdaCarDocs("Mazda 3 2017-18")],
|
||||
MazdaCarSpecs(mass=2875 * CV.LB_TO_KG, wheelbase=2.7, steerRatio=14.0)
|
||||
)
|
||||
MAZDA6 = MazdaPlatformConfig(
|
||||
"MAZDA 6",
|
||||
[MazdaCarDocs("Mazda 6 2017-20")],
|
||||
MazdaCarSpecs(mass=3443 * CV.LB_TO_KG, wheelbase=2.83, steerRatio=15.5)
|
||||
)
|
||||
CX9_2021 = MazdaPlatformConfig(
|
||||
"MAZDA CX-9 2021",
|
||||
[MazdaCarDocs("Mazda CX-9 2021-23", video_link="https://youtu.be/dA3duO4a0O4")],
|
||||
CX9.specs
|
||||
)
|
||||
CX5_2022 = MazdaPlatformConfig(
|
||||
"MAZDA CX-5 2022",
|
||||
[MazdaCarDocs("Mazda CX-5 2022-24")],
|
||||
CX5.specs,
|
||||
)
|
||||
|
||||
@@ -3,7 +3,6 @@ from openpilot.selfdrive.car import CarSpecs, PlatformConfig, Platforms
|
||||
|
||||
class CAR(Platforms):
|
||||
MOCK = PlatformConfig(
|
||||
'mock',
|
||||
[],
|
||||
CarSpecs(mass=1700, wheelbase=2.7, steerRatio=13),
|
||||
{}
|
||||
|
||||
@@ -38,26 +38,22 @@ class NissanPlaformConfig(PlatformConfig):
|
||||
|
||||
class CAR(Platforms):
|
||||
XTRAIL = NissanPlaformConfig(
|
||||
"NISSAN X-TRAIL 2017",
|
||||
[NissanCarDocs("Nissan X-Trail 2017")],
|
||||
NissanCarSpecs(mass=1610, wheelbase=2.705)
|
||||
)
|
||||
LEAF = NissanPlaformConfig(
|
||||
"NISSAN LEAF 2018",
|
||||
[NissanCarDocs("Nissan Leaf 2018-23", video_link="https://youtu.be/vaMbtAh_0cY")],
|
||||
NissanCarSpecs(mass=1610, wheelbase=2.705),
|
||||
dbc_dict('nissan_leaf_2018_generated', None),
|
||||
)
|
||||
# Leaf with ADAS ECU found behind instrument cluster instead of glovebox
|
||||
# Currently the only known difference between them is the inverted seatbelt signal.
|
||||
LEAF_IC = LEAF.override(platform_str="NISSAN LEAF 2018 Instrument Cluster", car_docs=[])
|
||||
LEAF_IC = LEAF.override(car_docs=[])
|
||||
ROGUE = NissanPlaformConfig(
|
||||
"NISSAN ROGUE 2019",
|
||||
[NissanCarDocs("Nissan Rogue 2018-20")],
|
||||
NissanCarSpecs(mass=1610, wheelbase=2.705)
|
||||
)
|
||||
ALTIMA = NissanPlaformConfig(
|
||||
"NISSAN ALTIMA 2020",
|
||||
[NissanCarDocs("Nissan Altima 2019-20", car_parts=CarParts.common([CarHarness.nissan_b]))],
|
||||
NissanCarSpecs(mass=1492, wheelbase=2.824)
|
||||
)
|
||||
|
||||
@@ -121,22 +121,18 @@ class SubaruGen2PlatformConfig(SubaruPlatformConfig):
|
||||
class CAR(Platforms):
|
||||
# Global platform
|
||||
ASCENT = SubaruPlatformConfig(
|
||||
"SUBARU ASCENT LIMITED 2019",
|
||||
[SubaruCarDocs("Subaru Ascent 2019-21", "All")],
|
||||
CarSpecs(mass=2031, wheelbase=2.89, steerRatio=13.5),
|
||||
)
|
||||
OUTBACK = SubaruGen2PlatformConfig(
|
||||
"SUBARU OUTBACK 6TH GEN",
|
||||
[SubaruCarDocs("Subaru Outback 2020-22", "All", car_parts=CarParts.common([CarHarness.subaru_b]))],
|
||||
CarSpecs(mass=1568, wheelbase=2.67, steerRatio=17),
|
||||
)
|
||||
LEGACY = SubaruGen2PlatformConfig(
|
||||
"SUBARU LEGACY 7TH GEN",
|
||||
[SubaruCarDocs("Subaru Legacy 2020-22", "All", car_parts=CarParts.common([CarHarness.subaru_b]))],
|
||||
OUTBACK.specs,
|
||||
)
|
||||
IMPREZA = SubaruPlatformConfig(
|
||||
"SUBARU IMPREZA LIMITED 2019",
|
||||
[
|
||||
SubaruCarDocs("Subaru Impreza 2017-19"),
|
||||
SubaruCarDocs("Subaru Crosstrek 2018-19", video_link="https://youtu.be/Agww7oE1k-s?t=26"),
|
||||
@@ -145,7 +141,6 @@ class CAR(Platforms):
|
||||
CarSpecs(mass=1568, wheelbase=2.67, steerRatio=15),
|
||||
)
|
||||
IMPREZA_2020 = SubaruPlatformConfig(
|
||||
"SUBARU IMPREZA SPORT 2020",
|
||||
[
|
||||
SubaruCarDocs("Subaru Impreza 2020-22"),
|
||||
SubaruCarDocs("Subaru Crosstrek 2020-23"),
|
||||
@@ -156,47 +151,40 @@ class CAR(Platforms):
|
||||
)
|
||||
# TODO: is there an XV and Impreza too?
|
||||
CROSSTREK_HYBRID = SubaruPlatformConfig(
|
||||
"SUBARU CROSSTREK HYBRID 2020",
|
||||
[SubaruCarDocs("Subaru Crosstrek Hybrid 2020", car_parts=CarParts.common([CarHarness.subaru_b]))],
|
||||
CarSpecs(mass=1668, wheelbase=2.67, steerRatio=17),
|
||||
flags=SubaruFlags.HYBRID,
|
||||
)
|
||||
FORESTER = SubaruPlatformConfig(
|
||||
"SUBARU FORESTER 2019",
|
||||
[SubaruCarDocs("Subaru Forester 2019-21", "All")],
|
||||
CarSpecs(mass=1568, wheelbase=2.67, steerRatio=17),
|
||||
flags=SubaruFlags.STEER_RATE_LIMITED,
|
||||
)
|
||||
FORESTER_HYBRID = SubaruPlatformConfig(
|
||||
"SUBARU FORESTER HYBRID 2020",
|
||||
[SubaruCarDocs("Subaru Forester Hybrid 2020")],
|
||||
FORESTER.specs,
|
||||
flags=SubaruFlags.HYBRID,
|
||||
)
|
||||
# Pre-global
|
||||
FORESTER_PREGLOBAL = SubaruPlatformConfig(
|
||||
"SUBARU FORESTER 2017 - 2018",
|
||||
[SubaruCarDocs("Subaru Forester 2017-18")],
|
||||
CarSpecs(mass=1568, wheelbase=2.67, steerRatio=20),
|
||||
dbc_dict('subaru_forester_2017_generated', None),
|
||||
flags=SubaruFlags.PREGLOBAL,
|
||||
)
|
||||
LEGACY_PREGLOBAL = SubaruPlatformConfig(
|
||||
"SUBARU LEGACY 2015 - 2018",
|
||||
[SubaruCarDocs("Subaru Legacy 2015-18")],
|
||||
CarSpecs(mass=1568, wheelbase=2.67, steerRatio=12.5),
|
||||
dbc_dict('subaru_outback_2015_generated', None),
|
||||
flags=SubaruFlags.PREGLOBAL,
|
||||
)
|
||||
OUTBACK_PREGLOBAL = SubaruPlatformConfig(
|
||||
"SUBARU OUTBACK 2015 - 2017",
|
||||
[SubaruCarDocs("Subaru Outback 2015-17")],
|
||||
FORESTER_PREGLOBAL.specs,
|
||||
dbc_dict('subaru_outback_2015_generated', None),
|
||||
flags=SubaruFlags.PREGLOBAL,
|
||||
)
|
||||
OUTBACK_PREGLOBAL_2018 = SubaruPlatformConfig(
|
||||
"SUBARU OUTBACK 2018 - 2019",
|
||||
[SubaruCarDocs("Subaru Outback 2018-19")],
|
||||
FORESTER_PREGLOBAL.specs,
|
||||
dbc_dict('subaru_outback_2019_generated', None),
|
||||
@@ -204,19 +192,16 @@ class CAR(Platforms):
|
||||
)
|
||||
# Angle LKAS
|
||||
FORESTER_2022 = SubaruPlatformConfig(
|
||||
"SUBARU FORESTER 2022",
|
||||
[SubaruCarDocs("Subaru Forester 2022-24", "All", car_parts=CarParts.common([CarHarness.subaru_c]))],
|
||||
FORESTER.specs,
|
||||
flags=SubaruFlags.LKAS_ANGLE,
|
||||
)
|
||||
OUTBACK_2023 = SubaruGen2PlatformConfig(
|
||||
"SUBARU OUTBACK 7TH GEN",
|
||||
[SubaruCarDocs("Subaru Outback 2023", "All", car_parts=CarParts.common([CarHarness.subaru_d]))],
|
||||
OUTBACK.specs,
|
||||
flags=SubaruFlags.LKAS_ANGLE,
|
||||
)
|
||||
ASCENT_2023 = SubaruGen2PlatformConfig(
|
||||
"SUBARU ASCENT 2023",
|
||||
[SubaruCarDocs("Subaru Ascent 2023", "All", car_parts=CarParts.common([CarHarness.subaru_d]))],
|
||||
ASCENT.specs,
|
||||
flags=SubaruFlags.LKAS_ANGLE,
|
||||
|
||||
@@ -11,19 +11,16 @@ Button = namedtuple('Button', ['event_type', 'can_addr', 'can_msg', 'values'])
|
||||
|
||||
class CAR(Platforms):
|
||||
AP1_MODELS = PlatformConfig(
|
||||
'TESLA AP1 MODEL S',
|
||||
[CarDocs("Tesla AP1 Model S", "All")],
|
||||
CarSpecs(mass=2100., wheelbase=2.959, steerRatio=15.0),
|
||||
dbc_dict('tesla_powertrain', 'tesla_radar_bosch_generated', chassis_dbc='tesla_can')
|
||||
)
|
||||
AP2_MODELS = PlatformConfig(
|
||||
'TESLA AP2 MODEL S',
|
||||
[CarDocs("Tesla AP2 Model S", "All")],
|
||||
AP1_MODELS.specs,
|
||||
AP1_MODELS.dbc_dict
|
||||
)
|
||||
MODELS_RAVEN = PlatformConfig(
|
||||
'TESLA MODEL S RAVEN',
|
||||
[CarDocs("Tesla Model S Raven", "All")],
|
||||
AP1_MODELS.specs,
|
||||
dbc_dict('tesla_powertrain', 'tesla_radar_continental_generated', chassis_dbc='tesla_can')
|
||||
|
||||
@@ -44,8 +44,8 @@ routes = [
|
||||
CarTestRoute("378472f830ee7395|2021-05-28--07-38-43", CHRYSLER.PACIFICA_2018_HYBRID),
|
||||
CarTestRoute("8190c7275a24557b|2020-01-29--08-33-58", CHRYSLER.PACIFICA_2019_HYBRID),
|
||||
CarTestRoute("3d84727705fecd04|2021-05-25--08-38-56", CHRYSLER.PACIFICA_2020),
|
||||
CarTestRoute("221c253375af4ee9|2022-06-15--18-38-24", CHRYSLER.RAM_1500),
|
||||
CarTestRoute("8fb5eabf914632ae|2022-08-04--17-28-53", CHRYSLER.RAM_HD, segment=6),
|
||||
CarTestRoute("221c253375af4ee9|2022-06-15--18-38-24", CHRYSLER.RAM_1500_5TH_GEN),
|
||||
CarTestRoute("8fb5eabf914632ae|2022-08-04--17-28-53", CHRYSLER.RAM_HD_5TH_GEN, segment=6),
|
||||
CarTestRoute("3379c85aeedc8285|2023-12-07--17-49-39", CHRYSLER.DODGE_DURANGO),
|
||||
|
||||
CarTestRoute("54827bf84c38b14f|2023-01-25--14-14-11", FORD.BRONCO_SPORT_MK1),
|
||||
|
||||
@@ -28,7 +28,7 @@ class TestCanFingerprint(unittest.TestCase):
|
||||
|
||||
def test_timing(self):
|
||||
# just pick any CAN fingerprinting car
|
||||
car_model = 'CHEVROLET BOLT EUV 2022'
|
||||
car_model = "BOLT_EUV"
|
||||
fingerprint = FINGERPRINTS[car_model][0]
|
||||
|
||||
cases = []
|
||||
|
||||
@@ -8,14 +8,16 @@ from openpilot.selfdrive.car.values import PLATFORMS
|
||||
class TestPlatformConfigs(unittest.TestCase):
|
||||
def test_configs(self):
|
||||
|
||||
for platform in PLATFORMS.values():
|
||||
for name, platform in PLATFORMS.items():
|
||||
with self.subTest(platform=str(platform)):
|
||||
self.assertTrue(platform.config._frozen)
|
||||
|
||||
if platform != "mock":
|
||||
if platform != "MOCK":
|
||||
self.assertIn("pt", platform.config.dbc_dict)
|
||||
self.assertTrue(len(platform.config.platform_str) > 0)
|
||||
|
||||
self.assertEqual(name, platform.config.platform_str)
|
||||
|
||||
self.assertIsNotNone(platform.config.specs)
|
||||
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,76 +1,76 @@
|
||||
legend = ["LAT_ACCEL_FACTOR", "MAX_LAT_ACCEL_MEASURED", "FRICTION"]
|
||||
### angle control
|
||||
# Nissan appears to have torque
|
||||
"NISSAN X-TRAIL 2017" = [nan, 1.5, nan]
|
||||
"NISSAN ALTIMA 2020" = [nan, 1.5, nan]
|
||||
"NISSAN LEAF 2018 Instrument Cluster" = [nan, 1.5, nan]
|
||||
"NISSAN LEAF 2018" = [nan, 1.5, nan]
|
||||
"NISSAN ROGUE 2019" = [nan, 1.5, nan]
|
||||
"XTRAIL" = [nan, 1.5, nan]
|
||||
"ALTIMA" = [nan, 1.5, nan]
|
||||
"LEAF_IC" = [nan, 1.5, nan]
|
||||
"LEAF" = [nan, 1.5, nan]
|
||||
"ROGUE" = [nan, 1.5, nan]
|
||||
|
||||
# New subarus angle based controllers
|
||||
"SUBARU FORESTER 2022" = [nan, 3.0, nan]
|
||||
"SUBARU OUTBACK 7TH GEN" = [nan, 3.0, nan]
|
||||
"SUBARU ASCENT 2023" = [nan, 3.0, nan]
|
||||
"FORESTER_2022" = [nan, 3.0, nan]
|
||||
"OUTBACK_2023" = [nan, 3.0, nan]
|
||||
"ASCENT_2023" = [nan, 3.0, nan]
|
||||
|
||||
# Toyota LTA also has torque
|
||||
"TOYOTA RAV4 2023" = [nan, 3.0, nan]
|
||||
"RAV4_TSS2_2023" = [nan, 3.0, nan]
|
||||
|
||||
# Tesla has high torque
|
||||
"TESLA AP1 MODEL S" = [nan, 2.5, nan]
|
||||
"TESLA AP2 MODEL S" = [nan, 2.5, nan]
|
||||
"TESLA MODEL S RAVEN" = [nan, 2.5, nan]
|
||||
"AP1_MODELS" = [nan, 2.5, nan]
|
||||
"AP2_MODELS" = [nan, 2.5, nan]
|
||||
"MODELS_RAVEN" = [nan, 2.5, nan]
|
||||
|
||||
# Guess
|
||||
"FORD BRONCO SPORT 1ST GEN" = [nan, 1.5, nan]
|
||||
"FORD ESCAPE 4TH GEN" = [nan, 1.5, nan]
|
||||
"FORD EXPLORER 6TH GEN" = [nan, 1.5, nan]
|
||||
"FORD F-150 14TH GEN" = [nan, 1.5, nan]
|
||||
"FORD FOCUS 4TH GEN" = [nan, 1.5, nan]
|
||||
"FORD MAVERICK 1ST GEN" = [nan, 1.5, nan]
|
||||
"FORD F-150 LIGHTNING 1ST GEN" = [nan, 1.5, nan]
|
||||
"FORD MUSTANG MACH-E 1ST GEN" = [nan, 1.5, nan]
|
||||
"BRONCO_SPORT_MK1" = [nan, 1.5, nan]
|
||||
"ESCAPE_MK4" = [nan, 1.5, nan]
|
||||
"EXPLORER_MK6" = [nan, 1.5, nan]
|
||||
"F_150_MK14" = [nan, 1.5, nan]
|
||||
"FOCUS_MK4" = [nan, 1.5, nan]
|
||||
"MAVERICK_MK1" = [nan, 1.5, nan]
|
||||
"F_150_LIGHTNING_MK1" = [nan, 1.5, nan]
|
||||
"MUSTANG_MACH_E_MK1" = [nan, 1.5, nan]
|
||||
###
|
||||
|
||||
# No steering wheel
|
||||
"COMMA BODY" = [nan, 1000, nan]
|
||||
"BODY" = [nan, 1000, nan]
|
||||
|
||||
# Totally new cars
|
||||
"RAM 1500 5TH GEN" = [2.0, 2.0, 0.05]
|
||||
"RAM HD 5TH GEN" = [1.4, 1.4, 0.05]
|
||||
"SUBARU OUTBACK 6TH GEN" = [2.0, 2.0, 0.2]
|
||||
"CADILLAC ESCALADE 2017" = [1.899999976158142, 1.842270016670227, 0.1120000034570694]
|
||||
"CADILLAC ESCALADE ESV 2019" = [1.15, 1.3, 0.2]
|
||||
"CHEVROLET BOLT EUV 2022" = [2.0, 2.0, 0.05]
|
||||
"CHEVROLET SILVERADO 1500 2020" = [1.9, 1.9, 0.112]
|
||||
"CHEVROLET TRAILBLAZER 2021" = [1.33, 1.9, 0.16]
|
||||
"CHEVROLET EQUINOX 2019" = [2.5, 2.5, 0.05]
|
||||
"VOLKSWAGEN CADDY 3RD GEN" = [1.2, 1.2, 0.1]
|
||||
"VOLKSWAGEN PASSAT NMS" = [2.5, 2.5, 0.1]
|
||||
"VOLKSWAGEN SHARAN 2ND GEN" = [2.5, 2.5, 0.1]
|
||||
"HYUNDAI SANTA CRUZ 1ST GEN" = [2.7, 2.7, 0.1]
|
||||
"KIA SPORTAGE 5TH GEN" = [2.6, 2.6, 0.1]
|
||||
"GENESIS GV70 1ST GEN" = [2.42, 2.42, 0.1]
|
||||
"GENESIS GV60 ELECTRIC 1ST GEN" = [2.5, 2.5, 0.1]
|
||||
"KIA SORENTO 4TH GEN" = [2.5, 2.5, 0.1]
|
||||
"KIA SORENTO HYBRID 4TH GEN" = [2.5, 2.5, 0.1]
|
||||
"KIA NIRO HYBRID 2ND GEN" = [2.42, 2.5, 0.12]
|
||||
"KIA NIRO EV 2ND GEN" = [2.05, 2.5, 0.14]
|
||||
"GENESIS GV80 2023" = [2.5, 2.5, 0.1]
|
||||
"KIA CARNIVAL 4TH GEN" = [1.75, 1.75, 0.15]
|
||||
"GMC ACADIA DENALI 2018" = [1.6, 1.6, 0.2]
|
||||
"LEXUS IS 2023" = [2.0, 2.0, 0.1]
|
||||
"HYUNDAI KONA ELECTRIC 2ND GEN" = [2.5, 2.5, 0.1]
|
||||
"HYUNDAI IONIQ 6 2023" = [2.5, 2.5, 0.1]
|
||||
"HYUNDAI AZERA 6TH GEN" = [1.8, 1.8, 0.1]
|
||||
"HYUNDAI AZERA HYBRID 6TH GEN" = [1.8, 1.8, 0.1]
|
||||
"KIA K8 HYBRID 1ST GEN" = [2.5, 2.5, 0.1]
|
||||
"HYUNDAI CUSTIN 1ST GEN" = [2.5, 2.5, 0.1]
|
||||
"LEXUS GS F 2016" = [2.5, 2.5, 0.08]
|
||||
"HYUNDAI STARIA 4TH GEN" = [1.8, 2.0, 0.15]
|
||||
"RAM_1500_5TH_GEN" = [2.0, 2.0, 0.05]
|
||||
"RAM_HD_5TH_GEN" = [1.4, 1.4, 0.05]
|
||||
"OUTBACK" = [2.0, 2.0, 0.2]
|
||||
"ESCALADE" = [1.899999976158142, 1.842270016670227, 0.1120000034570694]
|
||||
"ESCALADE_ESV_2019" = [1.15, 1.3, 0.2]
|
||||
"BOLT_EUV" = [2.0, 2.0, 0.05]
|
||||
"SILVERADO" = [1.9, 1.9, 0.112]
|
||||
"TRAILBLAZER" = [1.33, 1.9, 0.16]
|
||||
"EQUINOX" = [2.5, 2.5, 0.05]
|
||||
"CADDY_MK3" = [1.2, 1.2, 0.1]
|
||||
"PASSAT_NMS" = [2.5, 2.5, 0.1]
|
||||
"SHARAN_MK2" = [2.5, 2.5, 0.1]
|
||||
"SANTA_CRUZ_1ST_GEN" = [2.7, 2.7, 0.1]
|
||||
"KIA_SPORTAGE_5TH_GEN" = [2.6, 2.6, 0.1]
|
||||
"GENESIS_GV70_1ST_GEN" = [2.42, 2.42, 0.1]
|
||||
"GENESIS_GV60_EV_1ST_GEN" = [2.5, 2.5, 0.1]
|
||||
"KIA_SORENTO_4TH_GEN" = [2.5, 2.5, 0.1]
|
||||
"KIA_SORENTO_HEV_4TH_GEN" = [2.5, 2.5, 0.1]
|
||||
"KIA_NIRO_HEV_2ND_GEN" = [2.42, 2.5, 0.12]
|
||||
"KIA_NIRO_EV_2ND_GEN" = [2.05, 2.5, 0.14]
|
||||
"GENESIS_GV80" = [2.5, 2.5, 0.1]
|
||||
"KIA_CARNIVAL_4TH_GEN" = [1.75, 1.75, 0.15]
|
||||
"ACADIA" = [1.6, 1.6, 0.2]
|
||||
"LEXUS_IS_TSS2" = [2.0, 2.0, 0.1]
|
||||
"KONA_EV_2ND_GEN" = [2.5, 2.5, 0.1]
|
||||
"IONIQ_6" = [2.5, 2.5, 0.1]
|
||||
"AZERA_6TH_GEN" = [1.8, 1.8, 0.1]
|
||||
"AZERA_HEV_6TH_GEN" = [1.8, 1.8, 0.1]
|
||||
"KIA_K8_HEV_1ST_GEN" = [2.5, 2.5, 0.1]
|
||||
"CUSTIN_1ST_GEN" = [2.5, 2.5, 0.1]
|
||||
"LEXUS_GS_F" = [2.5, 2.5, 0.08]
|
||||
"STARIA_4TH_GEN" = [1.8, 2.0, 0.15]
|
||||
|
||||
# Dashcam or fallback configured as ideal car
|
||||
"mock" = [10.0, 10, 0.0]
|
||||
"MOCK" = [10.0, 10, 0.0]
|
||||
|
||||
# Manually checked
|
||||
"HONDA CIVIC 2022" = [2.5, 1.2, 0.15]
|
||||
"HONDA HR-V 2023" = [2.5, 1.2, 0.2]
|
||||
"CIVIC_2022" = [2.5, 1.2, 0.15]
|
||||
"HRV_3G" = [2.5, 1.2, 0.2]
|
||||
|
||||
@@ -1,85 +1,85 @@
|
||||
legend = ["LAT_ACCEL_FACTOR", "MAX_LAT_ACCEL_MEASURED", "FRICTION"]
|
||||
"ACURA ILX 2016" = [1.524988973896102, 0.519011053086259, 0.34236219253028]
|
||||
"ACURA RDX 2018" = [0.9987728568686902, 0.5323765166196301, 0.303218805715844]
|
||||
"ACURA RDX 2020" = [1.4314459806646749, 0.33874701282109954, 0.18048847083897598]
|
||||
"AUDI A3 3RD GEN" = [1.5122414863077502, 1.7443517531719404, 0.15194151892450905]
|
||||
"AUDI Q3 2ND GEN" = [1.4439223359448605, 1.2254955789112076, 0.1413798895978097]
|
||||
"CHEVROLET VOLT PREMIER 2017" = [1.5961527626411784, 1.8422651988094612, 0.1572393918005158]
|
||||
"CHRYSLER PACIFICA 2018" = [2.07140, 1.3366521181047952, 0.13776367250652022]
|
||||
"CHRYSLER PACIFICA 2020" = [1.86206, 1.509076559398423, 0.14328246159386085]
|
||||
"CHRYSLER PACIFICA HYBRID 2017" = [1.79422, 1.06831764583744, 0.116237]
|
||||
"CHRYSLER PACIFICA HYBRID 2018" = [2.08887, 1.2943025830995154, 0.114818]
|
||||
"CHRYSLER PACIFICA HYBRID 2019" = [1.90120, 1.1958788168371808, 0.131520]
|
||||
"GENESIS G70 2018" = [3.8520195946707947, 2.354697063349854, 0.06830285485626221]
|
||||
"HONDA ACCORD 2018" = [1.6893333799149202, 0.3246749081720698, 0.2120497022936265]
|
||||
"HONDA CIVIC (BOSCH) 2019" = [1.691708637466905, 0.40132900729454185, 0.25460295304024094]
|
||||
"HONDA CIVIC 2016" = [1.6528895627785531, 0.4018518740819229, 0.25458812851328544]
|
||||
"HONDA CR-V 2016" = [0.7667141440182675, 0.5927571534745969, 0.40909087636157127]
|
||||
"HONDA CR-V 2017" = [2.01323205142022, 0.2700612209345081, 0.2238412881331528]
|
||||
"HONDA CR-V HYBRID 2019" = [2.072034634644233, 0.7152085160516978, 0.20237105008376083]
|
||||
"HONDA FIT 2018" = [1.5719981427109775, 0.5712761407108976, 0.110773383324281]
|
||||
"HONDA HRV 2019" = [2.0661212805710205, 0.7521343418694775, 0.17760375789242094]
|
||||
"HONDA INSIGHT 2019" = [1.5201671214069354, 0.5660229120683284, 0.25808042580281876]
|
||||
"HONDA ODYSSEY 2018" = [1.8774809275211801, 0.8394431662987996, 0.2096978613792822]
|
||||
"HONDA PILOT 2017" = [1.7262026201812795, 0.9470005614967523, 0.21351430733218763]
|
||||
"HONDA RIDGELINE 2017" = [1.4146525028237624, 0.7356572861629564, 0.23307177552211328]
|
||||
"HYUNDAI ELANTRA 2021" = [3.169, 2.1259108157250735, 0.0819]
|
||||
"HYUNDAI GENESIS 2015-2016" = [2.7807965280270794, 2.325, 0.0984484465421171]
|
||||
"HYUNDAI IONIQ 5 2022" = [3.172929, 2.713050, 0.096019]
|
||||
"HYUNDAI IONIQ ELECTRIC LIMITED 2019" = [1.7662975472852054, 1.613755614526594, 0.17087579756306276]
|
||||
"HYUNDAI IONIQ PHEV 2020" = [3.2928700076638537, 2.1193482926455656, 0.12463700961468778]
|
||||
"HYUNDAI IONIQ PLUG-IN HYBRID 2019" = [2.970807902012267, 1.6312321830002083, 0.1088964990357482]
|
||||
"HYUNDAI KONA ELECTRIC 2019" = [3.078814714619148, 2.307336938253934, 0.12359762054065548]
|
||||
"HYUNDAI PALISADE 2020" = [2.544642494803999, 1.8721703683337008, 0.1301424599248651]
|
||||
"HYUNDAI SANTA FE 2019" = [3.0787027729757632, 2.6173437483495565, 0.1207019341823945]
|
||||
"HYUNDAI SANTA FE HYBRID 2022" = [3.501877602644835, 2.729064118456137, 0.10384068104538963]
|
||||
"HYUNDAI SANTA FE PlUG-IN HYBRID 2022" = [1.6953050513611045, 1.5837614296206861, 0.12672855941458458]
|
||||
"HYUNDAI SONATA 2019" = [2.2200457811703953, 1.2967330275895228, 0.14039920986586393]
|
||||
"HYUNDAI SONATA 2020" = [2.9638737459977467, 2.1259108157250735, 0.07813665616927593]
|
||||
"HYUNDAI SONATA HYBRID 2021" = [2.8990264092395734, 2.061410192222139, 0.0899805488717382]
|
||||
"HYUNDAI TUCSON 4TH GEN" = [2.960174, 2.860284, 0.108745]
|
||||
"JEEP GRAND CHEROKEE 2019" = [2.30972, 1.289689569171081, 0.117048]
|
||||
"JEEP GRAND CHEROKEE V6 2018" = [2.27116, 1.4057367824262523, 0.11725947414922003]
|
||||
"KIA EV6 2022" = [3.2, 2.093457, 0.05]
|
||||
"KIA K5 2021" = [2.405339728085138, 1.460032270828705, 0.11650989850813716]
|
||||
"KIA NIRO EV 2020" = [2.9215954981365337, 2.1500583840260044, 0.09236802474810267]
|
||||
"KIA SORENTO GT LINE 2018" = [2.464854685101844, 1.5335274218367956, 0.12056170567599558]
|
||||
"KIA STINGER GT2 2018" = [2.7499043387418967, 1.849652021986449, 0.12048334239559202]
|
||||
"LEXUS ES 2019" = [2.0357564999999997, 1.999082295195227, 0.101533]
|
||||
"LEXUS NX 2018" = [2.3525924753753613, 1.9731412277641067, 0.15168101064205927]
|
||||
"LEXUS NX 2020" = [2.4331999786982936, 2.1045680431705414, 0.14099899317761067]
|
||||
"LEXUS RX 2016" = [1.6430539050086406, 1.181960058934143, 0.19768806040843034]
|
||||
"LEXUS RX 2020" = [1.5375561442049257, 1.343166476215164, 0.1931062001527557]
|
||||
"MAZDA CX-9 2021" = [1.7601682915983443, 1.0889677335154337, 0.17713792194297195]
|
||||
"SKODA SUPERB 3RD GEN" = [1.166437404652981, 1.1686163012668165, 0.12194533036948708]
|
||||
"SUBARU FORESTER 2019" = [3.6617001649776793, 2.342197172531713, 0.11075960785398745]
|
||||
"SUBARU IMPREZA LIMITED 2019" = [1.0670704910352047, 0.8234374840709592, 0.20986563268614938]
|
||||
"SUBARU IMPREZA SPORT 2020" = [2.6068223389108303, 2.134872342760203, 0.15261513193561627]
|
||||
"TOYOTA AVALON 2016" = [2.5185770183845646, 1.7153346784214922, 0.10603968787111022]
|
||||
"TOYOTA AVALON 2019" = [1.7036141952825095, 1.239619084240008, 0.08459830394899492]
|
||||
"TOYOTA AVALON 2022" = [2.3154403649717357, 2.7777922854327124, 0.11453999639164605]
|
||||
"TOYOTA C-HR 2018" = [1.5591084333664578, 1.271271459066948, 0.20259087058453193]
|
||||
"TOYOTA C-HR 2021" = [1.7678810166088303, 1.3742176337919942, 0.2319674583741509]
|
||||
"TOYOTA CAMRY 2018" = [2.0568162685952505, 1.7576185169559122, 0.108878753]
|
||||
"TOYOTA CAMRY 2021" = [2.3548324999999997, 2.368900128946771, 0.118436]
|
||||
"TOYOTA COROLLA 2017" = [3.117154369115421, 1.8438132575043773, 0.12289685869250652]
|
||||
"TOYOTA COROLLA TSS2 2019" = [1.991132339206426, 1.868866242720403, 0.19570063298031432]
|
||||
"TOYOTA HIGHLANDER 2017" = [1.8108348718624456, 1.6348421600679828, 0.15972686105120398]
|
||||
"TOYOTA HIGHLANDER 2020" = [1.9617570834136164, 1.8611643317268927, 0.14519673256119725]
|
||||
"TOYOTA MIRAI 2021" = [2.506899832157829, 1.7417213930750164, 0.20182618449440565]
|
||||
"TOYOTA PRIUS 2017" = [1.60, 1.5023147650693636, 0.151515]
|
||||
"TOYOTA PRIUS TSS2 2021" = [1.972600, 1.9104337425537743, 0.170968]
|
||||
"TOYOTA RAV4 2017" = [2.085695074355425, 2.2142832316984733, 0.13339165270103975]
|
||||
"TOYOTA RAV4 2019" = [2.279239424615458, 2.087101966779332, 0.13682208413446817]
|
||||
"ACURA_ILX" = [1.524988973896102, 0.519011053086259, 0.34236219253028]
|
||||
"ACURA_RDX" = [0.9987728568686902, 0.5323765166196301, 0.303218805715844]
|
||||
"ACURA_RDX_3G" = [1.4314459806646749, 0.33874701282109954, 0.18048847083897598]
|
||||
"AUDI_A3_MK3" = [1.5122414863077502, 1.7443517531719404, 0.15194151892450905]
|
||||
"AUDI_Q3_MK2" = [1.4439223359448605, 1.2254955789112076, 0.1413798895978097]
|
||||
"VOLT" = [1.5961527626411784, 1.8422651988094612, 0.1572393918005158]
|
||||
"PACIFICA_2018" = [2.07140, 1.3366521181047952, 0.13776367250652022]
|
||||
"PACIFICA_2020" = [1.86206, 1.509076559398423, 0.14328246159386085]
|
||||
"PACIFICA_2017_HYBRID" = [1.79422, 1.06831764583744, 0.116237]
|
||||
"PACIFICA_2018_HYBRID" = [2.08887, 1.2943025830995154, 0.114818]
|
||||
"PACIFICA_2019_HYBRID" = [1.90120, 1.1958788168371808, 0.131520]
|
||||
"GENESIS_G70" = [3.8520195946707947, 2.354697063349854, 0.06830285485626221]
|
||||
"ACCORD" = [1.6893333799149202, 0.3246749081720698, 0.2120497022936265]
|
||||
"CIVIC_BOSCH" = [1.691708637466905, 0.40132900729454185, 0.25460295304024094]
|
||||
"CIVIC" = [1.6528895627785531, 0.4018518740819229, 0.25458812851328544]
|
||||
"CRV" = [0.7667141440182675, 0.5927571534745969, 0.40909087636157127]
|
||||
"CRV_5G" = [2.01323205142022, 0.2700612209345081, 0.2238412881331528]
|
||||
"CRV_HYBRID" = [2.072034634644233, 0.7152085160516978, 0.20237105008376083]
|
||||
"FIT" = [1.5719981427109775, 0.5712761407108976, 0.110773383324281]
|
||||
"HRV" = [2.0661212805710205, 0.7521343418694775, 0.17760375789242094]
|
||||
"INSIGHT" = [1.5201671214069354, 0.5660229120683284, 0.25808042580281876]
|
||||
"ODYSSEY" = [1.8774809275211801, 0.8394431662987996, 0.2096978613792822]
|
||||
"PILOT" = [1.7262026201812795, 0.9470005614967523, 0.21351430733218763]
|
||||
"RIDGELINE" = [1.4146525028237624, 0.7356572861629564, 0.23307177552211328]
|
||||
"ELANTRA_2021" = [3.169, 2.1259108157250735, 0.0819]
|
||||
"HYUNDAI_GENESIS" = [2.7807965280270794, 2.325, 0.0984484465421171]
|
||||
"IONIQ_5" = [3.172929, 2.713050, 0.096019]
|
||||
"IONIQ_EV_LTD" = [1.7662975472852054, 1.613755614526594, 0.17087579756306276]
|
||||
"IONIQ_PHEV" = [3.2928700076638537, 2.1193482926455656, 0.12463700961468778]
|
||||
"IONIQ_PHEV_2019" = [2.970807902012267, 1.6312321830002083, 0.1088964990357482]
|
||||
"KONA_EV" = [3.078814714619148, 2.307336938253934, 0.12359762054065548]
|
||||
"PALISADE" = [2.544642494803999, 1.8721703683337008, 0.1301424599248651]
|
||||
"SANTA_FE" = [3.0787027729757632, 2.6173437483495565, 0.1207019341823945]
|
||||
"SANTA_FE_HEV_2022" = [3.501877602644835, 2.729064118456137, 0.10384068104538963]
|
||||
"SANTA_FE_PHEV_2022" = [1.6953050513611045, 1.5837614296206861, 0.12672855941458458]
|
||||
"SONATA_LF" = [2.2200457811703953, 1.2967330275895228, 0.14039920986586393]
|
||||
"SONATA" = [2.9638737459977467, 2.1259108157250735, 0.07813665616927593]
|
||||
"SONATA_HYBRID" = [2.8990264092395734, 2.061410192222139, 0.0899805488717382]
|
||||
"TUCSON_4TH_GEN" = [2.960174, 2.860284, 0.108745]
|
||||
"JEEP_GRAND_CHEROKEE_2019" = [2.30972, 1.289689569171081, 0.117048]
|
||||
"JEEP_GRAND_CHEROKEE" = [2.27116, 1.4057367824262523, 0.11725947414922003]
|
||||
"KIA_EV6" = [3.2, 2.093457, 0.05]
|
||||
"KIA_K5_2021" = [2.405339728085138, 1.460032270828705, 0.11650989850813716]
|
||||
"KIA_NIRO_EV" = [2.9215954981365337, 2.1500583840260044, 0.09236802474810267]
|
||||
"KIA_SORENTO" = [2.464854685101844, 1.5335274218367956, 0.12056170567599558]
|
||||
"KIA_STINGER" = [2.7499043387418967, 1.849652021986449, 0.12048334239559202]
|
||||
"LEXUS_ES_TSS2" = [2.0357564999999997, 1.999082295195227, 0.101533]
|
||||
"LEXUS_NX" = [2.3525924753753613, 1.9731412277641067, 0.15168101064205927]
|
||||
"LEXUS_NX_TSS2" = [2.4331999786982936, 2.1045680431705414, 0.14099899317761067]
|
||||
"LEXUS_RX" = [1.6430539050086406, 1.181960058934143, 0.19768806040843034]
|
||||
"LEXUS_RX_TSS2" = [1.5375561442049257, 1.343166476215164, 0.1931062001527557]
|
||||
"CX9_2021" = [1.7601682915983443, 1.0889677335154337, 0.17713792194297195]
|
||||
"SKODA_SUPERB_MK3" = [1.166437404652981, 1.1686163012668165, 0.12194533036948708]
|
||||
"FORESTER" = [3.6617001649776793, 2.342197172531713, 0.11075960785398745]
|
||||
"IMPREZA" = [1.0670704910352047, 0.8234374840709592, 0.20986563268614938]
|
||||
"IMPREZA_2020" = [2.6068223389108303, 2.134872342760203, 0.15261513193561627]
|
||||
"AVALON" = [2.5185770183845646, 1.7153346784214922, 0.10603968787111022]
|
||||
"AVALON_2019" = [1.7036141952825095, 1.239619084240008, 0.08459830394899492]
|
||||
"AVALON_TSS2" = [2.3154403649717357, 2.7777922854327124, 0.11453999639164605]
|
||||
"CHR" = [1.5591084333664578, 1.271271459066948, 0.20259087058453193]
|
||||
"CHR_TSS2" = [1.7678810166088303, 1.3742176337919942, 0.2319674583741509]
|
||||
"CAMRY" = [2.0568162685952505, 1.7576185169559122, 0.108878753]
|
||||
"CAMRY_TSS2" = [2.3548324999999997, 2.368900128946771, 0.118436]
|
||||
"COROLLA" = [3.117154369115421, 1.8438132575043773, 0.12289685869250652]
|
||||
"COROLLA_TSS2" = [1.991132339206426, 1.868866242720403, 0.19570063298031432]
|
||||
"HIGHLANDER" = [1.8108348718624456, 1.6348421600679828, 0.15972686105120398]
|
||||
"HIGHLANDER_TSS2" = [1.9617570834136164, 1.8611643317268927, 0.14519673256119725]
|
||||
"MIRAI" = [2.506899832157829, 1.7417213930750164, 0.20182618449440565]
|
||||
"PRIUS" = [1.60, 1.5023147650693636, 0.151515]
|
||||
"PRIUS_TSS2" = [1.972600, 1.9104337425537743, 0.170968]
|
||||
"RAV4" = [2.085695074355425, 2.2142832316984733, 0.13339165270103975]
|
||||
"RAV4_TSS2" = [2.279239424615458, 2.087101966779332, 0.13682208413446817]
|
||||
"TOYOTA RAV4 2019 8965" = [2.3080951748210854, 2.1189367835820603, 0.12942102328134028]
|
||||
"TOYOTA RAV4 2019 x02" = [2.762293266024922, 2.243615865975329, 0.11113568178327986]
|
||||
"TOYOTA RAV4 HYBRID 2017" = [1.9796257271652042, 1.7503987331707576, 0.14628860048885406]
|
||||
"TOYOTA RAV4 2022" = [2.241883248393209, 1.9304407208090029, 0.112174]
|
||||
"RAV4H" = [1.9796257271652042, 1.7503987331707576, 0.14628860048885406]
|
||||
"RAV4_TSS2_2022" = [2.241883248393209, 1.9304407208090029, 0.112174]
|
||||
"TOYOTA RAV4 2022 x02" = [3.044930631831037, 2.3979189796380918, 0.14023209146703736]
|
||||
"TOYOTA SIENNA 2018" = [1.689726, 1.3208264576110418, 0.140456]
|
||||
"VOLKSWAGEN ARTEON 1ST GEN" = [1.45136518053819, 1.3639364049316804, 0.23806361745695032]
|
||||
"VOLKSWAGEN ATLAS 1ST GEN" = [1.4677006726964945, 1.6733266634075656, 0.12959584092073367]
|
||||
"VOLKSWAGEN GOLF 7TH GEN" = [1.3750394140491293, 1.5814743077200641, 0.2018321939386586]
|
||||
"VOLKSWAGEN JETTA 7TH GEN" = [1.2271623034089392, 1.216955117387, 0.19437384688370712]
|
||||
"VOLKSWAGEN PASSAT 8TH GEN" = [1.3432120736752917, 1.7087275587362314, 0.19444383787326647]
|
||||
"VOLKSWAGEN TIGUAN 2ND GEN" = [0.9711965500094828, 1.0001565939459098, 0.1465626137072916]
|
||||
"SIENNA" = [1.689726, 1.3208264576110418, 0.140456]
|
||||
"ARTEON_MK1" = [1.45136518053819, 1.3639364049316804, 0.23806361745695032]
|
||||
"ATLAS_MK1" = [1.4677006726964945, 1.6733266634075656, 0.12959584092073367]
|
||||
"GOLF_MK7" = [1.3750394140491293, 1.5814743077200641, 0.2018321939386586]
|
||||
"JETTA_MK7" = [1.2271623034089392, 1.216955117387, 0.19437384688370712]
|
||||
"PASSAT_MK8" = [1.3432120736752917, 1.7087275587362314, 0.19444383787326647]
|
||||
"TIGUAN_MK2" = [0.9711965500094828, 1.0001565939459098, 0.1465626137072916]
|
||||
|
||||
@@ -1,85 +1,85 @@
|
||||
legend = ["LAT_ACCEL_FACTOR", "MAX_LAT_ACCEL_MEASURED", "FRICTION"]
|
||||
"MAZDA 3" = "MAZDA CX-9 2021"
|
||||
"MAZDA 6" = "MAZDA CX-9 2021"
|
||||
"MAZDA CX-5" = "MAZDA CX-9 2021"
|
||||
"MAZDA CX-5 2022" = "MAZDA CX-9 2021"
|
||||
"MAZDA CX-9" = "MAZDA CX-9 2021"
|
||||
"MAZDA3" = "CX9_2021"
|
||||
"MAZDA6" = "CX9_2021"
|
||||
"CX5" = "CX9_2021"
|
||||
"CX5_2022" = "CX9_2021"
|
||||
"CX9" = "CX9_2021"
|
||||
|
||||
"DODGE DURANGO 2021" = "CHRYSLER PACIFICA 2020"
|
||||
"DODGE_DURANGO" = "PACIFICA_2020"
|
||||
|
||||
"TOYOTA ALPHARD 2020" = "TOYOTA SIENNA 2018"
|
||||
"TOYOTA PRIUS v 2017" = "TOYOTA PRIUS 2017"
|
||||
"LEXUS IS 2018" = "LEXUS NX 2018"
|
||||
"LEXUS CT HYBRID 2018" = "LEXUS NX 2018"
|
||||
"LEXUS ES 2018" = "TOYOTA CAMRY 2018"
|
||||
"LEXUS RC 2020" = "LEXUS NX 2020"
|
||||
"LEXUS LC 2024" = "LEXUS NX 2020"
|
||||
"ALPHARD_TSS2" = "SIENNA"
|
||||
"PRIUS_V" = "PRIUS"
|
||||
"LEXUS_IS" = "LEXUS_NX"
|
||||
"LEXUS_CTH" = "LEXUS_NX"
|
||||
"LEXUS_ES" = "CAMRY"
|
||||
"LEXUS_RC" = "LEXUS_NX_TSS2"
|
||||
"LEXUS_LC_TSS2" = "LEXUS_NX_TSS2"
|
||||
|
||||
"KIA OPTIMA 4TH GEN" = "HYUNDAI SONATA 2020"
|
||||
"KIA OPTIMA 4TH GEN FACELIFT" = "HYUNDAI SONATA 2020"
|
||||
"KIA OPTIMA HYBRID 2017 & SPORTS 2019" = "HYUNDAI SONATA 2020"
|
||||
"KIA OPTIMA HYBRID 4TH GEN FACELIFT" = "HYUNDAI SONATA 2020"
|
||||
"KIA FORTE E 2018 & GT 2021" = "HYUNDAI SONATA 2020"
|
||||
"KIA CEED INTRO ED 2019" = "HYUNDAI SONATA 2020"
|
||||
"KIA SELTOS 2021" = "HYUNDAI SONATA 2020"
|
||||
"KIA NIRO HYBRID 2019" = "KIA NIRO EV 2020"
|
||||
"KIA NIRO PLUG-IN HYBRID 2022" = "KIA NIRO EV 2020"
|
||||
"KIA NIRO HYBRID 2021" = "KIA NIRO EV 2020"
|
||||
"HYUNDAI VELOSTER 2019" = "HYUNDAI SONATA 2019"
|
||||
"HYUNDAI KONA 2020" = "HYUNDAI KONA ELECTRIC 2019"
|
||||
"HYUNDAI KONA HYBRID 2020" = "HYUNDAI KONA ELECTRIC 2019"
|
||||
"HYUNDAI KONA ELECTRIC 2022" = "HYUNDAI KONA ELECTRIC 2019"
|
||||
"HYUNDAI IONIQ HYBRID 2017-2019" = "HYUNDAI IONIQ PLUG-IN HYBRID 2019"
|
||||
"HYUNDAI IONIQ HYBRID 2020-2022" = "HYUNDAI IONIQ PLUG-IN HYBRID 2019"
|
||||
"HYUNDAI IONIQ ELECTRIC 2020" = "HYUNDAI IONIQ PLUG-IN HYBRID 2019"
|
||||
"HYUNDAI ELANTRA 2017" = "HYUNDAI SONATA 2019"
|
||||
"HYUNDAI I30 N LINE 2019 & GT 2018 DCT" = "HYUNDAI SONATA 2019"
|
||||
"HYUNDAI ELANTRA HYBRID 2021" = "HYUNDAI SONATA 2020"
|
||||
"HYUNDAI TUCSON 2019" = "HYUNDAI SANTA FE 2019"
|
||||
"HYUNDAI SANTA FE 2022" = "HYUNDAI SANTA FE HYBRID 2022"
|
||||
"KIA K5 HYBRID 2020" = "KIA K5 2021"
|
||||
"KIA STINGER 2022" = "KIA STINGER GT2 2018"
|
||||
"GENESIS G90 2017" = "GENESIS G70 2018"
|
||||
"GENESIS G80 2017" = "GENESIS G70 2018"
|
||||
"GENESIS G70 2020" = "HYUNDAI SONATA 2020"
|
||||
"KIA_OPTIMA_G4" = "SONATA"
|
||||
"KIA_OPTIMA_G4_FL" = "SONATA"
|
||||
"KIA_OPTIMA_H" = "SONATA"
|
||||
"KIA_OPTIMA_H_G4_FL" = "SONATA"
|
||||
"KIA_FORTE" = "SONATA"
|
||||
"KIA_CEED" = "SONATA"
|
||||
"KIA_SELTOS" = "SONATA"
|
||||
"KIA_NIRO_PHEV" = "KIA_NIRO_EV"
|
||||
"KIA_NIRO_PHEV_2022" = "KIA_NIRO_EV"
|
||||
"KIA_NIRO_HEV_2021" = "KIA_NIRO_EV"
|
||||
"VELOSTER" = "SONATA_LF"
|
||||
"KONA" = "KONA_EV"
|
||||
"KONA_HEV" = "KONA_EV"
|
||||
"KONA_EV_2022" = "KONA_EV"
|
||||
"IONIQ" = "IONIQ_PHEV_2019"
|
||||
"IONIQ_HEV_2022" = "IONIQ_PHEV_2019"
|
||||
"IONIQ_EV_2020" = "IONIQ_PHEV_2019"
|
||||
"ELANTRA" = "SONATA_LF"
|
||||
"ELANTRA_GT_I30" = "SONATA_LF"
|
||||
"ELANTRA_HEV_2021" = "SONATA"
|
||||
"TUCSON" = "SANTA_FE"
|
||||
"SANTA_FE_2022" = "SANTA_FE_HEV_2022"
|
||||
"KIA_K5_HEV_2020" = "KIA_K5_2021"
|
||||
"KIA_STINGER_2022" = "KIA_STINGER"
|
||||
"GENESIS_G90" = "GENESIS_G70"
|
||||
"GENESIS_G80" = "GENESIS_G70"
|
||||
"GENESIS_G70_2020" = "SONATA"
|
||||
|
||||
"HONDA FREED 2020" = "HONDA ODYSSEY 2018"
|
||||
"HONDA CR-V EU 2016" = "HONDA CR-V 2016"
|
||||
"HONDA CIVIC SEDAN 1.6 DIESEL 2019" = "HONDA CIVIC (BOSCH) 2019"
|
||||
"HONDA E 2020" = "HONDA CIVIC (BOSCH) 2019"
|
||||
"HONDA ODYSSEY CHN 2019" = "HONDA ODYSSEY 2018"
|
||||
"FREED" = "ODYSSEY"
|
||||
"CRV_EU" = "CRV"
|
||||
"CIVIC_BOSCH_DIESEL" = "CIVIC_BOSCH"
|
||||
"HONDA_E" = "CIVIC_BOSCH"
|
||||
"ODYSSEY_CHN" = "ODYSSEY"
|
||||
|
||||
"BUICK LACROSSE 2017" = "CHEVROLET VOLT PREMIER 2017"
|
||||
"BUICK REGAL ESSENCE 2018" = "CHEVROLET VOLT PREMIER 2017"
|
||||
"CADILLAC ESCALADE ESV 2016" = "CHEVROLET VOLT PREMIER 2017"
|
||||
"CADILLAC ATS Premium Performance 2018" = "CHEVROLET VOLT PREMIER 2017"
|
||||
"CHEVROLET MALIBU PREMIER 2017" = "CHEVROLET VOLT PREMIER 2017"
|
||||
"HOLDEN ASTRA RS-V BK 2017" = "CHEVROLET VOLT PREMIER 2017"
|
||||
"BUICK_LACROSSE" = "VOLT"
|
||||
"BUICK_REGAL" = "VOLT"
|
||||
"ESCALADE_ESV" = "VOLT"
|
||||
"CADILLAC_ATS" = "VOLT"
|
||||
"MALIBU" = "VOLT"
|
||||
"HOLDEN_ASTRA" = "VOLT"
|
||||
|
||||
"SKODA FABIA 4TH GEN" = "VOLKSWAGEN GOLF 7TH GEN"
|
||||
"SKODA OCTAVIA 3RD GEN" = "SKODA SUPERB 3RD GEN"
|
||||
"SKODA SCALA 1ST GEN" = "SKODA SUPERB 3RD GEN"
|
||||
"SKODA KODIAQ 1ST GEN" = "SKODA SUPERB 3RD GEN"
|
||||
"SKODA KAROQ 1ST GEN" = "SKODA SUPERB 3RD GEN"
|
||||
"SKODA KAMIQ 1ST GEN" = "SKODA SUPERB 3RD GEN"
|
||||
"VOLKSWAGEN CRAFTER 2ND GEN" = "VOLKSWAGEN TIGUAN 2ND GEN"
|
||||
"VOLKSWAGEN T-ROC 1ST GEN" = "VOLKSWAGEN TIGUAN 2ND GEN"
|
||||
"VOLKSWAGEN T-CROSS 1ST GEN" = "VOLKSWAGEN TIGUAN 2ND GEN"
|
||||
"VOLKSWAGEN TOURAN 2ND GEN" = "VOLKSWAGEN TIGUAN 2ND GEN"
|
||||
"VOLKSWAGEN TRANSPORTER T6.1" = "VOLKSWAGEN TIGUAN 2ND GEN"
|
||||
"AUDI Q2 1ST GEN" = "VOLKSWAGEN TIGUAN 2ND GEN"
|
||||
"VOLKSWAGEN TAOS 1ST GEN" = "VOLKSWAGEN TIGUAN 2ND GEN"
|
||||
"VOLKSWAGEN POLO 6TH GEN" = "VOLKSWAGEN GOLF 7TH GEN"
|
||||
"SEAT LEON 3RD GEN" = "VOLKSWAGEN GOLF 7TH GEN"
|
||||
"SEAT ATECA 1ST GEN" = "VOLKSWAGEN GOLF 7TH GEN"
|
||||
"SKODA_FABIA_MK4" = "GOLF_MK7"
|
||||
"SKODA_OCTAVIA_MK3" = "SKODA_SUPERB_MK3"
|
||||
"SKODA_SCALA_MK1" = "SKODA_SUPERB_MK3"
|
||||
"SKODA_KODIAQ_MK1" = "SKODA_SUPERB_MK3"
|
||||
"SKODA_KAROQ_MK1" = "SKODA_SUPERB_MK3"
|
||||
"SKODA_KAMIQ_MK1" = "SKODA_SUPERB_MK3"
|
||||
"CRAFTER_MK2" = "TIGUAN_MK2"
|
||||
"TROC_MK1" = "TIGUAN_MK2"
|
||||
"TCROSS_MK1" = "TIGUAN_MK2"
|
||||
"TOURAN_MK2" = "TIGUAN_MK2"
|
||||
"TRANSPORTER_T61" = "TIGUAN_MK2"
|
||||
"AUDI_Q2_MK1" = "TIGUAN_MK2"
|
||||
"TAOS_MK1" = "TIGUAN_MK2"
|
||||
"POLO_MK6" = "GOLF_MK7"
|
||||
"SEAT_LEON_MK3" = "GOLF_MK7"
|
||||
"SEAT_ATECA_MK1" = "GOLF_MK7"
|
||||
|
||||
"SUBARU CROSSTREK HYBRID 2020" = "SUBARU IMPREZA SPORT 2020"
|
||||
"SUBARU FORESTER HYBRID 2020" = "SUBARU IMPREZA SPORT 2020"
|
||||
"SUBARU LEGACY 7TH GEN" = "SUBARU OUTBACK 6TH GEN"
|
||||
"CROSSTREK_HYBRID" = "IMPREZA_2020"
|
||||
"FORESTER_HYBRID" = "IMPREZA_2020"
|
||||
"LEGACY" = "OUTBACK"
|
||||
|
||||
# Old subarus don't have much data guessing it's like low torque impreza"
|
||||
"SUBARU OUTBACK 2018 - 2019" = "SUBARU IMPREZA LIMITED 2019"
|
||||
"SUBARU OUTBACK 2015 - 2017" = "SUBARU IMPREZA LIMITED 2019"
|
||||
"SUBARU FORESTER 2017 - 2018" = "SUBARU IMPREZA LIMITED 2019"
|
||||
"SUBARU LEGACY 2015 - 2018" = "SUBARU IMPREZA LIMITED 2019"
|
||||
"SUBARU ASCENT LIMITED 2019" = "SUBARU FORESTER 2019"
|
||||
"OUTBACK_PREGLOBAL_2018" = "IMPREZA"
|
||||
"OUTBACK_PREGLOBAL" = "IMPREZA"
|
||||
"FORESTER_PREGLOBAL" = "IMPREZA"
|
||||
"LEGACY_PREGLOBAL" = "IMPREZA"
|
||||
"ASCENT" = "FORESTER"
|
||||
|
||||
@@ -86,7 +86,6 @@ class ToyotaTSS2PlatformConfig(PlatformConfig):
|
||||
class CAR(Platforms):
|
||||
# Toyota
|
||||
ALPHARD_TSS2 = ToyotaTSS2PlatformConfig(
|
||||
"TOYOTA ALPHARD 2020",
|
||||
[
|
||||
ToyotaCarDocs("Toyota Alphard 2019-20"),
|
||||
ToyotaCarDocs("Toyota Alphard Hybrid 2021"),
|
||||
@@ -94,7 +93,6 @@ class CAR(Platforms):
|
||||
CarSpecs(mass=4305. * CV.LB_TO_KG, wheelbase=3.0, steerRatio=14.2, tireStiffnessFactor=0.444),
|
||||
)
|
||||
AVALON = PlatformConfig(
|
||||
"TOYOTA AVALON 2016",
|
||||
[
|
||||
ToyotaCarDocs("Toyota Avalon 2016", "Toyota Safety Sense P"),
|
||||
ToyotaCarDocs("Toyota Avalon 2017-18"),
|
||||
@@ -103,7 +101,6 @@ class CAR(Platforms):
|
||||
dbc_dict('toyota_tnga_k_pt_generated', 'toyota_adas'),
|
||||
)
|
||||
AVALON_2019 = PlatformConfig(
|
||||
"TOYOTA AVALON 2019",
|
||||
[
|
||||
ToyotaCarDocs("Toyota Avalon 2019-21"),
|
||||
ToyotaCarDocs("Toyota Avalon Hybrid 2019-21"),
|
||||
@@ -111,8 +108,7 @@ class CAR(Platforms):
|
||||
AVALON.specs,
|
||||
dbc_dict('toyota_nodsu_pt_generated', 'toyota_adas'),
|
||||
)
|
||||
AVALON_TSS2 = ToyotaTSS2PlatformConfig(
|
||||
"TOYOTA AVALON 2022", # TSS 2.5
|
||||
AVALON_TSS2 = ToyotaTSS2PlatformConfig( # TSS 2.5
|
||||
[
|
||||
ToyotaCarDocs("Toyota Avalon 2022"),
|
||||
ToyotaCarDocs("Toyota Avalon Hybrid 2022"),
|
||||
@@ -120,7 +116,6 @@ class CAR(Platforms):
|
||||
AVALON.specs,
|
||||
)
|
||||
CAMRY = PlatformConfig(
|
||||
"TOYOTA CAMRY 2018",
|
||||
[
|
||||
ToyotaCarDocs("Toyota Camry 2018-20", video_link="https://www.youtube.com/watch?v=fkcjviZY9CM", footnotes=[Footnote.CAMRY]),
|
||||
ToyotaCarDocs("Toyota Camry Hybrid 2018-20", video_link="https://www.youtube.com/watch?v=Q2DYY0AWKgk"),
|
||||
@@ -129,8 +124,7 @@ class CAR(Platforms):
|
||||
dbc_dict('toyota_nodsu_pt_generated', 'toyota_adas'),
|
||||
flags=ToyotaFlags.NO_DSU,
|
||||
)
|
||||
CAMRY_TSS2 = ToyotaTSS2PlatformConfig(
|
||||
"TOYOTA CAMRY 2021", # TSS 2.5
|
||||
CAMRY_TSS2 = ToyotaTSS2PlatformConfig( # TSS 2.5
|
||||
[
|
||||
ToyotaCarDocs("Toyota Camry 2021-24", footnotes=[Footnote.CAMRY]),
|
||||
ToyotaCarDocs("Toyota Camry Hybrid 2021-24"),
|
||||
@@ -138,7 +132,6 @@ class CAR(Platforms):
|
||||
CAMRY.specs,
|
||||
)
|
||||
CHR = PlatformConfig(
|
||||
"TOYOTA C-HR 2018",
|
||||
[
|
||||
ToyotaCarDocs("Toyota C-HR 2017-20"),
|
||||
ToyotaCarDocs("Toyota C-HR Hybrid 2017-20"),
|
||||
@@ -148,7 +141,6 @@ class CAR(Platforms):
|
||||
flags=ToyotaFlags.NO_DSU,
|
||||
)
|
||||
CHR_TSS2 = ToyotaTSS2PlatformConfig(
|
||||
"TOYOTA C-HR 2021",
|
||||
[
|
||||
ToyotaCarDocs("Toyota C-HR 2021"),
|
||||
ToyotaCarDocs("Toyota C-HR Hybrid 2021-22"),
|
||||
@@ -157,14 +149,12 @@ class CAR(Platforms):
|
||||
flags=ToyotaFlags.RADAR_ACC,
|
||||
)
|
||||
COROLLA = PlatformConfig(
|
||||
"TOYOTA COROLLA 2017",
|
||||
[ToyotaCarDocs("Toyota Corolla 2017-19")],
|
||||
CarSpecs(mass=2860. * CV.LB_TO_KG, wheelbase=2.7, steerRatio=18.27, tireStiffnessFactor=0.444),
|
||||
dbc_dict('toyota_new_mc_pt_generated', 'toyota_adas'),
|
||||
)
|
||||
# LSS2 Lexus UX Hybrid is same as a TSS2 Corolla Hybrid
|
||||
COROLLA_TSS2 = ToyotaTSS2PlatformConfig(
|
||||
"TOYOTA COROLLA TSS2 2019",
|
||||
[
|
||||
ToyotaCarDocs("Toyota Corolla 2020-22", video_link="https://www.youtube.com/watch?v=_66pXk0CBYA"),
|
||||
ToyotaCarDocs("Toyota Corolla Cross (Non-US only) 2020-23", min_enable_speed=7.5),
|
||||
@@ -178,7 +168,6 @@ class CAR(Platforms):
|
||||
CarSpecs(mass=3060. * CV.LB_TO_KG, wheelbase=2.67, steerRatio=13.9, tireStiffnessFactor=0.444),
|
||||
)
|
||||
HIGHLANDER = PlatformConfig(
|
||||
"TOYOTA HIGHLANDER 2017",
|
||||
[
|
||||
ToyotaCarDocs("Toyota Highlander 2017-19", video_link="https://www.youtube.com/watch?v=0wS0wXSLzoo"),
|
||||
ToyotaCarDocs("Toyota Highlander Hybrid 2017-19"),
|
||||
@@ -188,7 +177,6 @@ class CAR(Platforms):
|
||||
flags=ToyotaFlags.NO_STOP_TIMER | ToyotaFlags.SNG_WITHOUT_DSU,
|
||||
)
|
||||
HIGHLANDER_TSS2 = ToyotaTSS2PlatformConfig(
|
||||
"TOYOTA HIGHLANDER 2020",
|
||||
[
|
||||
ToyotaCarDocs("Toyota Highlander 2020-23"),
|
||||
ToyotaCarDocs("Toyota Highlander Hybrid 2020-23"),
|
||||
@@ -196,7 +184,6 @@ class CAR(Platforms):
|
||||
HIGHLANDER.specs,
|
||||
)
|
||||
PRIUS = PlatformConfig(
|
||||
"TOYOTA PRIUS 2017",
|
||||
[
|
||||
ToyotaCarDocs("Toyota Prius 2016", "Toyota Safety Sense P", video_link="https://www.youtube.com/watch?v=8zopPJI8XQ0"),
|
||||
ToyotaCarDocs("Toyota Prius 2017-20", video_link="https://www.youtube.com/watch?v=8zopPJI8XQ0"),
|
||||
@@ -206,14 +193,12 @@ class CAR(Platforms):
|
||||
dbc_dict('toyota_nodsu_pt_generated', 'toyota_adas'),
|
||||
)
|
||||
PRIUS_V = PlatformConfig(
|
||||
"TOYOTA PRIUS v 2017",
|
||||
[ToyotaCarDocs("Toyota Prius v 2017", "Toyota Safety Sense P", min_enable_speed=MIN_ACC_SPEED)],
|
||||
CarSpecs(mass=3340. * CV.LB_TO_KG, wheelbase=2.78, steerRatio=17.4, tireStiffnessFactor=0.5533),
|
||||
dbc_dict('toyota_new_mc_pt_generated', 'toyota_adas'),
|
||||
flags=ToyotaFlags.NO_STOP_TIMER | ToyotaFlags.SNG_WITHOUT_DSU,
|
||||
)
|
||||
PRIUS_TSS2 = ToyotaTSS2PlatformConfig(
|
||||
"TOYOTA PRIUS TSS2 2021",
|
||||
[
|
||||
ToyotaCarDocs("Toyota Prius 2021-22", video_link="https://www.youtube.com/watch?v=J58TvCpUd4U"),
|
||||
ToyotaCarDocs("Toyota Prius Prime 2021-22", video_link="https://www.youtube.com/watch?v=J58TvCpUd4U"),
|
||||
@@ -221,7 +206,6 @@ class CAR(Platforms):
|
||||
CarSpecs(mass=3115. * CV.LB_TO_KG, wheelbase=2.70002, steerRatio=13.4, tireStiffnessFactor=0.6371),
|
||||
)
|
||||
RAV4 = PlatformConfig(
|
||||
"TOYOTA RAV4 2017",
|
||||
[
|
||||
ToyotaCarDocs("Toyota RAV4 2016", "Toyota Safety Sense P"),
|
||||
ToyotaCarDocs("Toyota RAV4 2017-18")
|
||||
@@ -230,7 +214,6 @@ class CAR(Platforms):
|
||||
dbc_dict('toyota_new_mc_pt_generated', 'toyota_adas'),
|
||||
)
|
||||
RAV4H = PlatformConfig(
|
||||
"TOYOTA RAV4 HYBRID 2017",
|
||||
[
|
||||
ToyotaCarDocs("Toyota RAV4 Hybrid 2016", "Toyota Safety Sense P", video_link="https://youtu.be/LhT5VzJVfNI?t=26"),
|
||||
ToyotaCarDocs("Toyota RAV4 Hybrid 2017-18", video_link="https://youtu.be/LhT5VzJVfNI?t=26")
|
||||
@@ -240,7 +223,6 @@ class CAR(Platforms):
|
||||
flags=ToyotaFlags.NO_STOP_TIMER,
|
||||
)
|
||||
RAV4_TSS2 = ToyotaTSS2PlatformConfig(
|
||||
"TOYOTA RAV4 2019",
|
||||
[
|
||||
ToyotaCarDocs("Toyota RAV4 2019-21", video_link="https://www.youtube.com/watch?v=wJxjDd42gGA"),
|
||||
ToyotaCarDocs("Toyota RAV4 Hybrid 2019-21"),
|
||||
@@ -248,7 +230,6 @@ class CAR(Platforms):
|
||||
CarSpecs(mass=3585. * CV.LB_TO_KG, wheelbase=2.68986, steerRatio=14.3, tireStiffnessFactor=0.7933),
|
||||
)
|
||||
RAV4_TSS2_2022 = ToyotaTSS2PlatformConfig(
|
||||
"TOYOTA RAV4 2022",
|
||||
[
|
||||
ToyotaCarDocs("Toyota RAV4 2022"),
|
||||
ToyotaCarDocs("Toyota RAV4 Hybrid 2022", video_link="https://youtu.be/U0nH9cnrFB0"),
|
||||
@@ -257,7 +238,6 @@ class CAR(Platforms):
|
||||
flags=ToyotaFlags.RADAR_ACC,
|
||||
)
|
||||
RAV4_TSS2_2023 = ToyotaTSS2PlatformConfig(
|
||||
"TOYOTA RAV4 2023",
|
||||
[
|
||||
ToyotaCarDocs("Toyota RAV4 2023-24"),
|
||||
ToyotaCarDocs("Toyota RAV4 Hybrid 2023-24"),
|
||||
@@ -265,13 +245,11 @@ class CAR(Platforms):
|
||||
RAV4_TSS2.specs,
|
||||
flags=ToyotaFlags.RADAR_ACC | ToyotaFlags.ANGLE_CONTROL,
|
||||
)
|
||||
MIRAI = ToyotaTSS2PlatformConfig(
|
||||
"TOYOTA MIRAI 2021", # TSS 2.5
|
||||
MIRAI = ToyotaTSS2PlatformConfig( # TSS 2.5
|
||||
[ToyotaCarDocs("Toyota Mirai 2021")],
|
||||
CarSpecs(mass=4300. * CV.LB_TO_KG, wheelbase=2.91, steerRatio=14.8, tireStiffnessFactor=0.8),
|
||||
)
|
||||
SIENNA = PlatformConfig(
|
||||
"TOYOTA SIENNA 2018",
|
||||
[ToyotaCarDocs("Toyota Sienna 2018-20", video_link="https://www.youtube.com/watch?v=q1UPOo4Sh68", min_enable_speed=MIN_ACC_SPEED)],
|
||||
CarSpecs(mass=4590. * CV.LB_TO_KG, wheelbase=3.03, steerRatio=15.5, tireStiffnessFactor=0.444),
|
||||
dbc_dict('toyota_tnga_k_pt_generated', 'toyota_adas'),
|
||||
@@ -280,13 +258,11 @@ class CAR(Platforms):
|
||||
|
||||
# Lexus
|
||||
LEXUS_CTH = PlatformConfig(
|
||||
"LEXUS CT HYBRID 2018",
|
||||
[ToyotaCarDocs("Lexus CT Hybrid 2017-18", "Lexus Safety System+")],
|
||||
CarSpecs(mass=3108. * CV.LB_TO_KG, wheelbase=2.6, steerRatio=18.6, tireStiffnessFactor=0.517),
|
||||
dbc_dict('toyota_new_mc_pt_generated', 'toyota_adas'),
|
||||
)
|
||||
LEXUS_ES = PlatformConfig(
|
||||
"LEXUS ES 2018",
|
||||
[
|
||||
ToyotaCarDocs("Lexus ES 2017-18"),
|
||||
ToyotaCarDocs("Lexus ES Hybrid 2017-18"),
|
||||
@@ -295,7 +271,6 @@ class CAR(Platforms):
|
||||
dbc_dict('toyota_new_mc_pt_generated', 'toyota_adas'),
|
||||
)
|
||||
LEXUS_ES_TSS2 = ToyotaTSS2PlatformConfig(
|
||||
"LEXUS ES 2019",
|
||||
[
|
||||
ToyotaCarDocs("Lexus ES 2019-24"),
|
||||
ToyotaCarDocs("Lexus ES Hybrid 2019-24", video_link="https://youtu.be/BZ29osRVJeg?t=12"),
|
||||
@@ -303,19 +278,16 @@ class CAR(Platforms):
|
||||
LEXUS_ES.specs,
|
||||
)
|
||||
LEXUS_IS = PlatformConfig(
|
||||
"LEXUS IS 2018",
|
||||
[ToyotaCarDocs("Lexus IS 2017-19")],
|
||||
CarSpecs(mass=3736.8 * CV.LB_TO_KG, wheelbase=2.79908, steerRatio=13.3, tireStiffnessFactor=0.444),
|
||||
dbc_dict('toyota_tnga_k_pt_generated', 'toyota_adas'),
|
||||
flags=ToyotaFlags.UNSUPPORTED_DSU,
|
||||
)
|
||||
LEXUS_IS_TSS2 = ToyotaTSS2PlatformConfig(
|
||||
"LEXUS IS 2023",
|
||||
[ToyotaCarDocs("Lexus IS 2022-23")],
|
||||
LEXUS_IS.specs,
|
||||
)
|
||||
LEXUS_NX = PlatformConfig(
|
||||
"LEXUS NX 2018",
|
||||
[
|
||||
ToyotaCarDocs("Lexus NX 2018-19"),
|
||||
ToyotaCarDocs("Lexus NX Hybrid 2018-19"),
|
||||
@@ -324,7 +296,6 @@ class CAR(Platforms):
|
||||
dbc_dict('toyota_tnga_k_pt_generated', 'toyota_adas'),
|
||||
)
|
||||
LEXUS_NX_TSS2 = ToyotaTSS2PlatformConfig(
|
||||
"LEXUS NX 2020",
|
||||
[
|
||||
ToyotaCarDocs("Lexus NX 2020-21"),
|
||||
ToyotaCarDocs("Lexus NX Hybrid 2020-21"),
|
||||
@@ -332,19 +303,16 @@ class CAR(Platforms):
|
||||
LEXUS_NX.specs,
|
||||
)
|
||||
LEXUS_LC_TSS2 = ToyotaTSS2PlatformConfig(
|
||||
"LEXUS LC 2024",
|
||||
[ToyotaCarDocs("Lexus LC 2024")],
|
||||
CarSpecs(mass=4500. * CV.LB_TO_KG, wheelbase=2.87, steerRatio=13.0, tireStiffnessFactor=0.444),
|
||||
)
|
||||
LEXUS_RC = PlatformConfig(
|
||||
"LEXUS RC 2020",
|
||||
[ToyotaCarDocs("Lexus RC 2018-20")],
|
||||
LEXUS_IS.specs,
|
||||
dbc_dict('toyota_tnga_k_pt_generated', 'toyota_adas'),
|
||||
flags=ToyotaFlags.UNSUPPORTED_DSU,
|
||||
)
|
||||
LEXUS_RX = PlatformConfig(
|
||||
"LEXUS RX 2016",
|
||||
[
|
||||
ToyotaCarDocs("Lexus RX 2016", "Lexus Safety System+"),
|
||||
ToyotaCarDocs("Lexus RX 2017-19"),
|
||||
@@ -356,7 +324,6 @@ class CAR(Platforms):
|
||||
dbc_dict('toyota_tnga_k_pt_generated', 'toyota_adas'),
|
||||
)
|
||||
LEXUS_RX_TSS2 = ToyotaTSS2PlatformConfig(
|
||||
"LEXUS RX 2020",
|
||||
[
|
||||
ToyotaCarDocs("Lexus RX 2020-22"),
|
||||
ToyotaCarDocs("Lexus RX Hybrid 2020-22"),
|
||||
@@ -364,7 +331,6 @@ class CAR(Platforms):
|
||||
LEXUS_RX.specs,
|
||||
)
|
||||
LEXUS_GS_F = PlatformConfig(
|
||||
"LEXUS GS F 2016",
|
||||
[ToyotaCarDocs("Lexus GS F 2016")],
|
||||
CarSpecs(mass=4034. * CV.LB_TO_KG, wheelbase=2.84988, steerRatio=13.3, tireStiffnessFactor=0.444),
|
||||
dbc_dict('toyota_new_mc_pt_generated', 'toyota_adas'),
|
||||
|
||||
@@ -177,8 +177,7 @@ class VWCarDocs(CarDocs):
|
||||
# Exception: SEAT Leon and SEAT Ateca share a chassis code
|
||||
|
||||
class CAR(Platforms):
|
||||
ARTEON_MK1 = VolkswagenMQBPlatformConfig(
|
||||
"VOLKSWAGEN ARTEON 1ST GEN", # Chassis AN
|
||||
ARTEON_MK1 = VolkswagenMQBPlatformConfig( # Chassis AN
|
||||
[
|
||||
VWCarDocs("Volkswagen Arteon 2018-23", video_link="https://youtu.be/FAomFKPFlDA"),
|
||||
VWCarDocs("Volkswagen Arteon R 2020-23", video_link="https://youtu.be/FAomFKPFlDA"),
|
||||
@@ -187,8 +186,7 @@ class CAR(Platforms):
|
||||
],
|
||||
VolkswagenCarSpecs(mass=1733, wheelbase=2.84),
|
||||
)
|
||||
ATLAS_MK1 = VolkswagenMQBPlatformConfig(
|
||||
"VOLKSWAGEN ATLAS 1ST GEN", # Chassis CA
|
||||
ATLAS_MK1 = VolkswagenMQBPlatformConfig( # Chassis CA
|
||||
[
|
||||
VWCarDocs("Volkswagen Atlas 2018-23"),
|
||||
VWCarDocs("Volkswagen Atlas Cross Sport 2020-22"),
|
||||
@@ -198,16 +196,14 @@ class CAR(Platforms):
|
||||
],
|
||||
VolkswagenCarSpecs(mass=2011, wheelbase=2.98),
|
||||
)
|
||||
CADDY_MK3 = VolkswagenPQPlatformConfig(
|
||||
"VOLKSWAGEN CADDY 3RD GEN", # Chassis 2K
|
||||
CADDY_MK3 = VolkswagenPQPlatformConfig( # Chassis 2K
|
||||
[
|
||||
VWCarDocs("Volkswagen Caddy 2019"),
|
||||
VWCarDocs("Volkswagen Caddy Maxi 2019"),
|
||||
],
|
||||
VolkswagenCarSpecs(mass=1613, wheelbase=2.6, minSteerSpeed=21 * CV.KPH_TO_MS),
|
||||
)
|
||||
CRAFTER_MK2 = VolkswagenMQBPlatformConfig(
|
||||
"VOLKSWAGEN CRAFTER 2ND GEN", # Chassis SY/SZ
|
||||
CRAFTER_MK2 = VolkswagenMQBPlatformConfig( # Chassis SY/SZ
|
||||
[
|
||||
VWCarDocs("Volkswagen Crafter 2017-23", video_link="https://youtu.be/4100gLeabmo"),
|
||||
VWCarDocs("Volkswagen e-Crafter 2018-23", video_link="https://youtu.be/4100gLeabmo"),
|
||||
@@ -217,8 +213,7 @@ class CAR(Platforms):
|
||||
],
|
||||
VolkswagenCarSpecs(mass=2100, wheelbase=3.64, minSteerSpeed=50 * CV.KPH_TO_MS),
|
||||
)
|
||||
GOLF_MK7 = VolkswagenMQBPlatformConfig(
|
||||
"VOLKSWAGEN GOLF 7TH GEN", # Chassis 5G/AU/BA/BE
|
||||
GOLF_MK7 = VolkswagenMQBPlatformConfig( # Chassis 5G/AU/BA/BE
|
||||
[
|
||||
VWCarDocs("Volkswagen e-Golf 2014-20"),
|
||||
VWCarDocs("Volkswagen Golf 2015-20", auto_resume=False),
|
||||
@@ -231,16 +226,14 @@ class CAR(Platforms):
|
||||
],
|
||||
VolkswagenCarSpecs(mass=1397, wheelbase=2.62),
|
||||
)
|
||||
JETTA_MK7 = VolkswagenMQBPlatformConfig(
|
||||
"VOLKSWAGEN JETTA 7TH GEN", # Chassis BU
|
||||
JETTA_MK7 = VolkswagenMQBPlatformConfig( # Chassis BU
|
||||
[
|
||||
VWCarDocs("Volkswagen Jetta 2018-24"),
|
||||
VWCarDocs("Volkswagen Jetta GLI 2021-24"),
|
||||
],
|
||||
VolkswagenCarSpecs(mass=1328, wheelbase=2.71),
|
||||
)
|
||||
PASSAT_MK8 = VolkswagenMQBPlatformConfig(
|
||||
"VOLKSWAGEN PASSAT 8TH GEN", # Chassis 3G
|
||||
PASSAT_MK8 = VolkswagenMQBPlatformConfig( # Chassis 3G
|
||||
[
|
||||
VWCarDocs("Volkswagen Passat 2015-22", footnotes=[Footnote.PASSAT]),
|
||||
VWCarDocs("Volkswagen Passat Alltrack 2015-22"),
|
||||
@@ -248,65 +241,55 @@ class CAR(Platforms):
|
||||
],
|
||||
VolkswagenCarSpecs(mass=1551, wheelbase=2.79),
|
||||
)
|
||||
PASSAT_NMS = VolkswagenPQPlatformConfig(
|
||||
"VOLKSWAGEN PASSAT NMS", # Chassis A3
|
||||
PASSAT_NMS = VolkswagenPQPlatformConfig( # Chassis A3
|
||||
[VWCarDocs("Volkswagen Passat NMS 2017-22")],
|
||||
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
|
||||
POLO_MK6 = VolkswagenMQBPlatformConfig( # Chassis AW
|
||||
[
|
||||
VWCarDocs("Volkswagen Polo 2018-23", footnotes=[Footnote.VW_MQB_A0]),
|
||||
VWCarDocs("Volkswagen Polo GTI 2018-23", footnotes=[Footnote.VW_MQB_A0]),
|
||||
],
|
||||
VolkswagenCarSpecs(mass=1230, wheelbase=2.55),
|
||||
)
|
||||
SHARAN_MK2 = VolkswagenPQPlatformConfig(
|
||||
"VOLKSWAGEN SHARAN 2ND GEN", # Chassis 7N
|
||||
SHARAN_MK2 = VolkswagenPQPlatformConfig( # Chassis 7N
|
||||
[
|
||||
VWCarDocs("Volkswagen Sharan 2018-22"),
|
||||
VWCarDocs("SEAT Alhambra 2018-20"),
|
||||
],
|
||||
VolkswagenCarSpecs(mass=1639, wheelbase=2.92, minSteerSpeed=50*CV.KPH_TO_MS),
|
||||
)
|
||||
TAOS_MK1 = VolkswagenMQBPlatformConfig(
|
||||
"VOLKSWAGEN TAOS 1ST GEN", # Chassis B2
|
||||
TAOS_MK1 = VolkswagenMQBPlatformConfig( # Chassis B2
|
||||
[VWCarDocs("Volkswagen Taos 2022-23")],
|
||||
VolkswagenCarSpecs(mass=1498, wheelbase=2.69),
|
||||
)
|
||||
TCROSS_MK1 = VolkswagenMQBPlatformConfig(
|
||||
"VOLKSWAGEN T-CROSS 1ST GEN", # Chassis C1
|
||||
TCROSS_MK1 = VolkswagenMQBPlatformConfig( # Chassis C1
|
||||
[VWCarDocs("Volkswagen T-Cross 2021", footnotes=[Footnote.VW_MQB_A0])],
|
||||
VolkswagenCarSpecs(mass=1150, wheelbase=2.60),
|
||||
)
|
||||
TIGUAN_MK2 = VolkswagenMQBPlatformConfig(
|
||||
"VOLKSWAGEN TIGUAN 2ND GEN", # Chassis AD/BW
|
||||
TIGUAN_MK2 = VolkswagenMQBPlatformConfig( # Chassis AD/BW
|
||||
[
|
||||
VWCarDocs("Volkswagen Tiguan 2018-24"),
|
||||
VWCarDocs("Volkswagen Tiguan eHybrid 2021-23"),
|
||||
],
|
||||
VolkswagenCarSpecs(mass=1715, wheelbase=2.74),
|
||||
)
|
||||
TOURAN_MK2 = VolkswagenMQBPlatformConfig(
|
||||
"VOLKSWAGEN TOURAN 2ND GEN", # Chassis 1T
|
||||
TOURAN_MK2 = VolkswagenMQBPlatformConfig( # Chassis 1T
|
||||
[VWCarDocs("Volkswagen Touran 2016-23")],
|
||||
VolkswagenCarSpecs(mass=1516, wheelbase=2.79),
|
||||
)
|
||||
TRANSPORTER_T61 = VolkswagenMQBPlatformConfig(
|
||||
"VOLKSWAGEN TRANSPORTER T6.1", # Chassis 7H/7L
|
||||
TRANSPORTER_T61 = VolkswagenMQBPlatformConfig( # Chassis 7H/7L
|
||||
[
|
||||
VWCarDocs("Volkswagen Caravelle 2020"),
|
||||
VWCarDocs("Volkswagen California 2021-23"),
|
||||
],
|
||||
VolkswagenCarSpecs(mass=1926, wheelbase=3.00, minSteerSpeed=14.0),
|
||||
)
|
||||
TROC_MK1 = VolkswagenMQBPlatformConfig(
|
||||
"VOLKSWAGEN T-ROC 1ST GEN", # Chassis A1
|
||||
TROC_MK1 = VolkswagenMQBPlatformConfig( # Chassis A1
|
||||
[VWCarDocs("Volkswagen T-Roc 2018-22", footnotes=[Footnote.VW_MQB_A0])],
|
||||
VolkswagenCarSpecs(mass=1413, wheelbase=2.63),
|
||||
)
|
||||
AUDI_A3_MK3 = VolkswagenMQBPlatformConfig(
|
||||
"AUDI A3 3RD GEN", # Chassis 8V/FF
|
||||
AUDI_A3_MK3 = VolkswagenMQBPlatformConfig( # Chassis 8V/FF
|
||||
[
|
||||
VWCarDocs("Audi A3 2014-19"),
|
||||
VWCarDocs("Audi A3 Sportback e-tron 2017-18"),
|
||||
@@ -315,61 +298,50 @@ class CAR(Platforms):
|
||||
],
|
||||
VolkswagenCarSpecs(mass=1335, wheelbase=2.61),
|
||||
)
|
||||
AUDI_Q2_MK1 = VolkswagenMQBPlatformConfig(
|
||||
"AUDI Q2 1ST GEN", # Chassis GA
|
||||
AUDI_Q2_MK1 = VolkswagenMQBPlatformConfig( # Chassis GA
|
||||
[VWCarDocs("Audi Q2 2018")],
|
||||
VolkswagenCarSpecs(mass=1205, wheelbase=2.61),
|
||||
)
|
||||
AUDI_Q3_MK2 = VolkswagenMQBPlatformConfig(
|
||||
"AUDI Q3 2ND GEN", # Chassis 8U/F3/FS
|
||||
AUDI_Q3_MK2 = VolkswagenMQBPlatformConfig( # Chassis 8U/F3/FS
|
||||
[VWCarDocs("Audi Q3 2019-23")],
|
||||
VolkswagenCarSpecs(mass=1623, wheelbase=2.68),
|
||||
)
|
||||
SEAT_ATECA_MK1 = VolkswagenMQBPlatformConfig(
|
||||
"SEAT ATECA 1ST GEN", # Chassis 5F
|
||||
SEAT_ATECA_MK1 = VolkswagenMQBPlatformConfig( # Chassis 5F
|
||||
[VWCarDocs("SEAT Ateca 2018")],
|
||||
VolkswagenCarSpecs(mass=1900, wheelbase=2.64),
|
||||
)
|
||||
SEAT_LEON_MK3 = VolkswagenMQBPlatformConfig(
|
||||
"SEAT LEON 3RD GEN", # Chassis 5F
|
||||
SEAT_LEON_MK3 = VolkswagenMQBPlatformConfig( # Chassis 5F
|
||||
[VWCarDocs("SEAT Leon 2014-20")],
|
||||
VolkswagenCarSpecs(mass=1227, wheelbase=2.64),
|
||||
)
|
||||
SKODA_FABIA_MK4 = VolkswagenMQBPlatformConfig(
|
||||
"SKODA FABIA 4TH GEN", # Chassis PJ
|
||||
SKODA_FABIA_MK4 = VolkswagenMQBPlatformConfig( # Chassis PJ
|
||||
[VWCarDocs("Škoda Fabia 2022-23", footnotes=[Footnote.VW_MQB_A0])],
|
||||
VolkswagenCarSpecs(mass=1266, wheelbase=2.56),
|
||||
)
|
||||
SKODA_KAMIQ_MK1 = VolkswagenMQBPlatformConfig(
|
||||
"SKODA KAMIQ 1ST GEN", # Chassis NW
|
||||
SKODA_KAMIQ_MK1 = VolkswagenMQBPlatformConfig( # Chassis NW
|
||||
[VWCarDocs("Škoda Kamiq 2021-23", footnotes=[Footnote.VW_MQB_A0, Footnote.KAMIQ])],
|
||||
VolkswagenCarSpecs(mass=1265, wheelbase=2.66),
|
||||
)
|
||||
SKODA_KAROQ_MK1 = VolkswagenMQBPlatformConfig(
|
||||
"SKODA KAROQ 1ST GEN", # Chassis NU
|
||||
SKODA_KAROQ_MK1 = VolkswagenMQBPlatformConfig( # Chassis NU
|
||||
[VWCarDocs("Škoda Karoq 2019-23")],
|
||||
VolkswagenCarSpecs(mass=1278, wheelbase=2.66),
|
||||
)
|
||||
SKODA_KODIAQ_MK1 = VolkswagenMQBPlatformConfig(
|
||||
"SKODA KODIAQ 1ST GEN", # Chassis NS
|
||||
SKODA_KODIAQ_MK1 = VolkswagenMQBPlatformConfig( # Chassis NS
|
||||
[VWCarDocs("Škoda Kodiaq 2017-23")],
|
||||
VolkswagenCarSpecs(mass=1569, wheelbase=2.79),
|
||||
)
|
||||
SKODA_OCTAVIA_MK3 = VolkswagenMQBPlatformConfig(
|
||||
"SKODA OCTAVIA 3RD GEN", # Chassis NE
|
||||
SKODA_OCTAVIA_MK3 = VolkswagenMQBPlatformConfig( # Chassis NE
|
||||
[
|
||||
VWCarDocs("Škoda Octavia 2015-19"),
|
||||
VWCarDocs("Škoda Octavia RS 2016"),
|
||||
],
|
||||
VolkswagenCarSpecs(mass=1388, wheelbase=2.68),
|
||||
)
|
||||
SKODA_SCALA_MK1 = VolkswagenMQBPlatformConfig(
|
||||
"SKODA SCALA 1ST GEN", # Chassis NW
|
||||
SKODA_SCALA_MK1 = VolkswagenMQBPlatformConfig( # Chassis NW
|
||||
[VWCarDocs("Škoda Scala 2020-23", footnotes=[Footnote.VW_MQB_A0])],
|
||||
VolkswagenCarSpecs(mass=1192, wheelbase=2.65),
|
||||
)
|
||||
SKODA_SUPERB_MK3 = VolkswagenMQBPlatformConfig(
|
||||
"SKODA SUPERB 3RD GEN", # Chassis 3V/NP
|
||||
SKODA_SUPERB_MK3 = VolkswagenMQBPlatformConfig( # Chassis 3V/NP
|
||||
[VWCarDocs("Škoda Superb 2015-22")],
|
||||
VolkswagenCarSpecs(mass=1505, wheelbase=2.84),
|
||||
)
|
||||
|
||||
@@ -52,7 +52,7 @@ def cycle_alerts(duration=200, is_metric=False):
|
||||
cameras = ['roadCameraState', 'wideRoadCameraState', 'driverCameraState']
|
||||
|
||||
CS = car.CarState.new_message()
|
||||
CP = CarInterface.get_non_essential_params("HONDA CIVIC 2016")
|
||||
CP = CarInterface.get_non_essential_params("CIVIC")
|
||||
sm = messaging.SubMaster(['deviceState', 'pandaStates', 'roadCameraState', 'modelV2', 'liveCalibration',
|
||||
'driverMonitoringState', 'longitudinalPlan', 'liveLocationKalman',
|
||||
'managerState'] + cameras)
|
||||
|
||||
@@ -14,7 +14,7 @@ from openpilot.system.version import training_version, terms_version
|
||||
|
||||
|
||||
def set_params_enabled():
|
||||
os.environ['FINGERPRINT'] = "TOYOTA COROLLA TSS2 2019"
|
||||
os.environ['FINGERPRINT'] = "COROLLA_TSS2"
|
||||
os.environ['LOGPRINT'] = "debug"
|
||||
|
||||
params = Params()
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
from collections import defaultdict
|
||||
|
||||
from cereal import messaging
|
||||
from openpilot.selfdrive.car.fingerprints import MIGRATION
|
||||
from openpilot.selfdrive.test.process_replay.vision_meta import meta_from_encode_index
|
||||
from openpilot.selfdrive.car.toyota.values import EPS_SCALE
|
||||
from openpilot.selfdrive.manager.process_config import managed_processes
|
||||
@@ -72,9 +73,9 @@ def migrate_pandaStates(lr):
|
||||
all_msgs = []
|
||||
# TODO: safety param migration should be handled automatically
|
||||
safety_param_migration = {
|
||||
"TOYOTA PRIUS 2017": EPS_SCALE["TOYOTA PRIUS 2017"] | Panda.FLAG_TOYOTA_STOCK_LONGITUDINAL,
|
||||
"TOYOTA RAV4 2017": EPS_SCALE["TOYOTA RAV4 2017"] | Panda.FLAG_TOYOTA_ALT_BRAKE,
|
||||
"KIA EV6 2022": Panda.FLAG_HYUNDAI_EV_GAS | Panda.FLAG_HYUNDAI_CANFD_HDA2,
|
||||
"PRIUS": EPS_SCALE["PRIUS"] | Panda.FLAG_TOYOTA_STOCK_LONGITUDINAL,
|
||||
"RAV4": EPS_SCALE["RAV4"] | Panda.FLAG_TOYOTA_ALT_BRAKE,
|
||||
"KIA_EV6": Panda.FLAG_HYUNDAI_EV_GAS | Panda.FLAG_HYUNDAI_CANFD_HDA2,
|
||||
}
|
||||
|
||||
# Migrate safety param base on carState
|
||||
@@ -185,6 +186,7 @@ def migrate_carParams(lr, old_logtime=False):
|
||||
CP = messaging.new_message('carParams')
|
||||
CP.valid = True
|
||||
CP.carParams = msg.carParams.as_builder()
|
||||
CP.carParams.carFingerprint = MIGRATION.get(CP.carParams.carFingerprint, CP.carParams.carFingerprint)
|
||||
for car_fw in CP.carParams.carFw:
|
||||
car_fw.brand = CP.carParams.carName
|
||||
if old_logtime:
|
||||
|
||||
@@ -1 +1 @@
|
||||
e29856a02cca7ab76461b2cc0acd25826a894667
|
||||
9338c27947c1d8c1aa8e74ccc2a646e541f1ca8c
|
||||
@@ -26,7 +26,7 @@ source_segments = [
|
||||
("HONDA", "eb140f119469d9ab|2021-06-12--10-46-24--27"), # HONDA.CIVIC (NIDEC)
|
||||
("HONDA2", "7d2244f34d1bbcda|2021-06-25--12-25-37--26"), # HONDA.ACCORD (BOSCH)
|
||||
("CHRYSLER", "4deb27de11bee626|2021-02-20--11-28-55--8"), # CHRYSLER.PACIFICA_2018_HYBRID
|
||||
("RAM", "17fc16d840fe9d21|2023-04-26--13-28-44--5"), # CHRYSLER.RAM_1500
|
||||
("RAM", "17fc16d840fe9d21|2023-04-26--13-28-44--5"), # CHRYSLER.RAM_1500_5TH_GEN
|
||||
("SUBARU", "341dccd5359e3c97|2022-09-12--10-35-33--3"), # SUBARU.OUTBACK
|
||||
("GM", "0c58b6a25109da2b|2021-02-23--16-35-50--11"), # GM.VOLT
|
||||
("GM2", "376bf99325883932|2022-10-27--13-41-22--1"), # GM.BOLT_EUV
|
||||
|
||||
@@ -11,7 +11,7 @@ from openpilot.tools.lib.logreader import LogReader
|
||||
from openpilot.tools.lib.framereader import FrameReader
|
||||
|
||||
TESTED_SEGMENTS = [
|
||||
("PRIUS_C2", "0982d79ebb0de295|2021-01-04--17-13-21--13"), # TOYOTA PRIUS 2017: NEO, pandaStateDEPRECATED, no peripheralState, sensorEventsDEPRECATED
|
||||
("PRIUS_C2", "0982d79ebb0de295|2021-01-04--17-13-21--13"), # TOYOTA.PRIUS: NEO, pandaStateDEPRECATED, no peripheralState, sensorEventsDEPRECATED
|
||||
# Enable these once regen on CI becomes faster or use them for different tests running controlsd in isolation
|
||||
# ("MAZDA_C3", "bd6a637565e91581|2021-10-30--15-14-53--4"), # MAZDA.CX9_2021: TICI, incomplete managerState
|
||||
# ("FORD_C3", "54827bf84c38b14f|2023-01-26--21-59-07--4"), # FORD.BRONCO_SPORT_MK1: TICI
|
||||
|
||||
@@ -8,7 +8,7 @@ if __name__ == "__main__":
|
||||
batt = 1.
|
||||
while True:
|
||||
msg = messaging.new_message('carParams')
|
||||
msg.carParams.carName = "COMMA BODY"
|
||||
msg.carParams.carName = "BODY"
|
||||
msg.carParams.notCar = True
|
||||
pm.send('carParams', msg)
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ from openpilot.selfdrive.car.values import create_platform_map
|
||||
|
||||
|
||||
def generate_dbc_json() -> str:
|
||||
dbc_map = create_platform_map(lambda platform: platform.config.dbc_dict["pt"] if platform != "mock" else None)
|
||||
dbc_map = create_platform_map(lambda platform: platform.config.dbc_dict["pt"] if platform != "MOCK" else None)
|
||||
return json.dumps(dict(sorted(dbc_map.items())), indent=2)
|
||||
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@ Given a route and platform, automatically inserts FW fingerprints from the platf
|
||||
|
||||
Example:
|
||||
```bash
|
||||
> python tools/car_porting/auto_fingerprint.py '1bbe6bf2d62f58a8|2022-07-14--17-11-43' 'SUBARU OUTBACK 6TH GEN'
|
||||
Attempting to add fw version for: SUBARU OUTBACK 6TH GEN
|
||||
> python tools/car_porting/auto_fingerprint.py '1bbe6bf2d62f58a8|2022-07-14--17-11-43' 'OUTBACK'
|
||||
Attempting to add fw version for: OUTBACK
|
||||
```
|
||||
|
||||
### [selfdrive/car/tests/test_car_interfaces.py](/selfdrive/car/tests/test_car_interfaces.py)
|
||||
|
||||
@@ -46,7 +46,7 @@ if __name__ == "__main__":
|
||||
if len(possible_platforms) != 1:
|
||||
print(f"Unable to auto-determine platform, possible platforms: {possible_platforms}")
|
||||
|
||||
if carPlatform != "mock":
|
||||
if carPlatform != "MOCK":
|
||||
print("Using platform from route")
|
||||
platform = carPlatform
|
||||
else:
|
||||
|
||||
@@ -19,7 +19,7 @@ class TestCommaCarSegments(unittest.TestCase):
|
||||
def test_download_segment(self):
|
||||
database = get_comma_car_segments_database()
|
||||
|
||||
fp = "SUBARU FORESTER 2019"
|
||||
fp = "FORESTER"
|
||||
|
||||
segment = database[fp][0]
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ export PASSIVE="0"
|
||||
export NOBOARD="1"
|
||||
export SIMULATION="1"
|
||||
export SKIP_FW_QUERY="1"
|
||||
export FINGERPRINT="HONDA CIVIC 2016"
|
||||
export FINGERPRINT="CIVIC"
|
||||
|
||||
export BLOCK="${BLOCK},camerad,loggerd,encoderd,micd,logmessaged"
|
||||
if [[ "$CI" ]]; then
|
||||
|
||||
Reference in New Issue
Block a user