multiple enums

pull/28212/head
Maxime Desroches 2 years ago
parent 8173227ed9
commit 27fe48227f
  1. 10
      selfdrive/car/chrysler/values.py
  2. 138
      selfdrive/car/docs_definitions.py
  3. 6
      selfdrive/car/ford/values.py
  4. 6
      selfdrive/car/gm/values.py
  5. 6
      selfdrive/car/honda/values.py
  6. 36
      selfdrive/car/hyundai/values.py
  7. 4
      selfdrive/car/mazda/values.py
  8. 8
      selfdrive/car/nissan/values.py
  9. 8
      selfdrive/car/subaru/values.py
  10. 4
      selfdrive/car/toyota/values.py
  11. 4
      selfdrive/car/volkswagen/values.py

@ -5,7 +5,7 @@ from typing import Dict, List, Optional, Union
from cereal import car from cereal import car
from panda.python import uds from panda.python import uds
from selfdrive.car import dbc_dict from selfdrive.car import dbc_dict
from selfdrive.car.docs_definitions import CarInfo, CarPart, CarParts from selfdrive.car.docs_definitions import CarInfo, CarParts, HarnessConnector
from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, p16 from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, p16
Ecu = car.CarParams.Ecu Ecu = car.CarParams.Ecu
@ -60,7 +60,7 @@ RAM_CARS = RAM_DT | RAM_HD
@dataclass @dataclass
class ChryslerCarInfo(CarInfo): class ChryslerCarInfo(CarInfo):
package: str = "Adaptive Cruise Control (ACC)" package: str = "Adaptive Cruise Control (ACC)"
car_parts: CarParts = CarParts.default([CarPart.fca_connector]) car_parts: CarParts = CarParts.default([HarnessConnector.fca_connector])
CAR_INFO: Dict[str, Optional[Union[ChryslerCarInfo, List[ChryslerCarInfo]]]] = { CAR_INFO: Dict[str, Optional[Union[ChryslerCarInfo, List[ChryslerCarInfo]]]] = {
@ -74,10 +74,10 @@ CAR_INFO: Dict[str, Optional[Union[ChryslerCarInfo, List[ChryslerCarInfo]]]] = {
], ],
CAR.JEEP_CHEROKEE: ChryslerCarInfo("Jeep Grand Cherokee 2016-18", video_link="https://www.youtube.com/watch?v=eLR9o2JkuRk"), CAR.JEEP_CHEROKEE: ChryslerCarInfo("Jeep Grand Cherokee 2016-18", video_link="https://www.youtube.com/watch?v=eLR9o2JkuRk"),
CAR.JEEP_CHEROKEE_2019: ChryslerCarInfo("Jeep Grand Cherokee 2019-21", video_link="https://www.youtube.com/watch?v=jBe4lWnRSu4"), CAR.JEEP_CHEROKEE_2019: ChryslerCarInfo("Jeep Grand Cherokee 2019-21", video_link="https://www.youtube.com/watch?v=jBe4lWnRSu4"),
CAR.RAM_1500: ChryslerCarInfo("Ram 1500 2019-23", car_parts=CarParts.default([CarPart.ram_connector])), CAR.RAM_1500: ChryslerCarInfo("Ram 1500 2019-23", car_parts=CarParts.default([HarnessConnector.ram_connector])),
CAR.RAM_HD: [ CAR.RAM_HD: [
ChryslerCarInfo("Ram 2500 2020-22", car_parts=CarParts.default([CarPart.ram_connector])), ChryslerCarInfo("Ram 2500 2020-22", car_parts=CarParts.default([HarnessConnector.ram_connector])),
ChryslerCarInfo("Ram 3500 2019-22", car_parts=CarParts.default([CarPart.ram_connector])), ChryslerCarInfo("Ram 3500 2019-22", car_parts=CarParts.default([HarnessConnector.ram_connector])),
], ],
} }

@ -30,76 +30,74 @@ class Star(Enum):
EMPTY = "empty" EMPTY = "empty"
class PartType(Enum):
harness_connector = "Harness Connector"
generic_part = "Generic Part"
mount = "Mount"
Part = namedtuple("Part", ["value","type"], defaults=("",PartType.generic_part))
class CarPart(Enum): class CarPart(Enum):
#harness connectors pass
nidec_connector = Part("Honda Nidec connector", type=PartType.harness_connector)
bosch_a_connector = Part("Honda Bosch A connector", type=PartType.harness_connector)
bosch_b_connector = Part("Honda Bosch B connector", type=PartType.harness_connector) class HarnessConnector(CarPart):
toyota_connector = Part("Toyota connector", type=PartType.harness_connector) nidec_connector = "Honda Nidec connector"
subaru_a_connector = Part("Subaru A connector", type=PartType.harness_connector) bosch_a_connector = "Honda Bosch A connector"
subaru_b_connector = Part("Subaru B connector", type=PartType.harness_connector) bosch_b_connector = "Honda Bosch B connector"
fca_connector = Part("FCA connector", type=PartType.harness_connector) toyota_connector = "Toyota connector"
ram_connector = Part("Ram connector", type=PartType.harness_connector) subaru_a_connector = "Subaru A connector"
vw_connector = Part("VW connector", type=PartType.harness_connector) subaru_b_connector = "Subaru B connector"
j533_connector = Part("J533 connector", type=PartType.harness_connector) fca_connector = "FCA connector"
hyundai_a_connector = Part("Hyundai A connector", type=PartType.harness_connector) ram_connector = "Ram connector"
hyundai_b_connector = Part("Hyundai B connector", type=PartType.harness_connector) vw_connector = "VW connector"
hyundai_c_connector = Part("Hyundai C connector", type=PartType.harness_connector) j533_connector = "J533 connector"
hyundai_d_connector = Part("Hyundai D connector", type=PartType.harness_connector) hyundai_a_connector = "Hyundai A connector"
hyundai_e_connector = Part("Hyundai E connector", type=PartType.harness_connector) hyundai_b_connector = "Hyundai B connector"
hyundai_f_connector = Part("Hyundai F connector", type=PartType.harness_connector) hyundai_c_connector = "Hyundai C connector"
hyundai_g_connector = Part("Hyundai G connector", type=PartType.harness_connector) hyundai_d_connector = "Hyundai D connector"
hyundai_h_connector = Part("Hyundai H connector", type=PartType.harness_connector) hyundai_e_connector = "Hyundai E connector"
hyundai_i_connector = Part("Hyundai I connector", type=PartType.harness_connector) hyundai_f_connector = "Hyundai F connector"
hyundai_j_connector = Part("Hyundai J connector", type=PartType.harness_connector) hyundai_g_connector = "Hyundai G connector"
hyundai_k_connector = Part("Hyundai K connector", type=PartType.harness_connector) hyundai_h_connector = "Hyundai H connector"
hyundai_l_connector = Part("Hyundai L connector", type=PartType.harness_connector) hyundai_i_connector = "Hyundai I connector"
hyundai_m_connector = Part("Hyundai M connector", type=PartType.harness_connector) hyundai_j_connector = "Hyundai J connector"
hyundai_n_connector = Part("Hyundai N connector", type=PartType.harness_connector) hyundai_k_connector = "Hyundai K connector"
hyundai_o_connector = Part("Hyundai O connector", type=PartType.harness_connector) hyundai_l_connector = "Hyundai L connector"
hyundai_p_connector = Part("Hyundai P connector", type=PartType.harness_connector) hyundai_m_connector = "Hyundai M connector"
hyundai_q_connector = Part("Hyundai Q connector", type=PartType.harness_connector) hyundai_n_connector = "Hyundai N connector"
custom_connector = Part("Developer connector", type=PartType.harness_connector) hyundai_o_connector = "Hyundai O connector"
obd_ii_connector = Part("OBD-II connector", type=PartType.harness_connector) hyundai_p_connector = "Hyundai P connector"
gm_connector = Part("GM connector", type=PartType.harness_connector) hyundai_q_connector = "Hyundai Q connector"
nissan_a_connector = Part("Nissan A connector", type=PartType.harness_connector) custom_connector = "Developer connector"
nissan_b_connector = Part("Nissan B connector", type=PartType.harness_connector) obd_ii_connector = "OBD-II connector"
mazda_connector = Part("Mazda connector", type=PartType.harness_connector) gm_connector = "GM connector"
ford_q3_connector = Part("Ford Q3 connector", type=PartType.harness_connector) nissan_a_connector = "Nissan A connector"
ford_q4_connector = Part("Ford Q4 connector", type=PartType.harness_connector) nissan_b_connector = "Nissan B connector"
none_connector = Part("None connector", type=PartType.harness_connector) mazda_connector = "Mazda connector"
ford_q3_connector = "Ford Q3 connector"
#harness accessories ford_q4_connector = "Ford Q4 connector"
harness_box = Part("harness box") none_connector = "None connector"
comma_power_v2 = Part("comma power v2")
#mounts class HarnessAccessory(CarPart):
mount = Part("mount", type=PartType.mount) harness_box = "harness box"
angled_mount = Part("angled mount", type=PartType.mount) comma_power_v2 = "comma power v2"
#cables
rj45_cable_7ft = Part("RJ45 cable (7 ft)") class Mount(CarPart):
long_obdc_cable = Part("long OBD-C cable") mount = "mount"
usb_a_2_a_cable = Part("USB A-A cable") angled_mount = "angled mount"
usbc_otg_cable = Part("USB C OTG cable")
usbc_coupler = Part("USB-C coupler")
obd_c_cable_1point5ft = Part("OBD-C cable (1.5 ft)") class Cable(CarPart):
rj45_cable_7ft = "RJ45 cable (7 ft)"
#devices long_obdc_cable = "long OBD-C cable"
comma_3 = Part("comma 3") usb_a_2_a_cable = "USB A-A cable"
red_panda = Part("red panda") usbc_otg_cable = "USB C OTG cable"
usbc_coupler = "USB-C coupler"
obd_c_cable_1point5ft = "OBD-C cable (1.5 ft)"
DEFAULT_CAR_PARTS: List[CarPart] = [CarPart.harness_box, CarPart.comma_power_v2, CarPart.rj45_cable_7ft, CarPart.mount]
class Device(CarPart):
comma_3 = "comma 3"
red_panda = "red panda"
DEFAULT_CAR_PARTS: List[CarPart] = [HarnessAccessory.harness_box, HarnessAccessory.comma_power_v2, Cable.rj45_cable_7ft, Mount.mount]
@dataclass @dataclass
@ -214,7 +212,7 @@ class CarInfo:
if self.car_parts.parts: if self.car_parts.parts:
model_years = self.model + (' ' + self.years if self.years else '') model_years = self.model + (' ' + self.years if self.years else '')
buy_link = f'<a href="https://comma.ai/shop/comma-three.html?make={self.make}&model={model_years}">Buy Here</a>' buy_link = f'<a href="https://comma.ai/shop/comma-three.html?make={self.make}&model={model_years}">Buy Here</a>'
parts = '<br>'.join([f"- {self.car_parts.parts.count(part)} {part.value.value}" for part in sorted(set(self.car_parts.parts), key=lambda part: part.value)]) parts = '<br>'.join([f"- {self.car_parts.parts.count(part)} {part.value}" for part in sorted(set(self.car_parts.parts), key=lambda part: part.name)])
hardware_col = f'<details><summary>View</summary><sub>{parts}<br>{buy_link}</sub></details>' hardware_col = f'<details><summary>View</summary><sub>{parts}<br>{buy_link}</sub></details>'
self.row: Dict[Enum, Union[str, Star]] = { self.row: Dict[Enum, Union[str, Star]] = {

@ -4,7 +4,7 @@ from typing import Dict, List, Set, Union
from cereal import car from cereal import car
from selfdrive.car import AngleRateLimit, dbc_dict from selfdrive.car import AngleRateLimit, dbc_dict
from selfdrive.car.docs_definitions import CarInfo, CarPart, CarParts from selfdrive.car.docs_definitions import CarInfo, CarParts, HarnessConnector, Mount
from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
Ecu = car.CarParams.Ecu Ecu = car.CarParams.Ecu
@ -63,11 +63,11 @@ DBC: Dict[str, Dict[str, str]] = defaultdict(lambda: dbc_dict("ford_lincoln_base
@dataclass @dataclass
class FordCarInfo(CarInfo): class FordCarInfo(CarInfo):
package: str = "Co-Pilot360 Assist+" package: str = "Co-Pilot360 Assist+"
car_parts: CarParts = CarParts.default([CarPart.ford_q3_connector]) car_parts: CarParts = CarParts.default([HarnessConnector.ford_q3_connector])
CAR_INFO: Dict[str, Union[CarInfo, List[CarInfo]]] = { CAR_INFO: Dict[str, Union[CarInfo, List[CarInfo]]] = {
CAR.BRONCO_SPORT_MK1: FordCarInfo("Ford Bronco Sport 2021-22", car_parts=CarParts.default([CarPart.ford_q3_connector, CarPart.angled_mount], remove=[CarPart.mount])), CAR.BRONCO_SPORT_MK1: FordCarInfo("Ford Bronco Sport 2021-22", car_parts=CarParts.default([HarnessConnector.ford_q3_connector, Mount.angled_mount], remove=[Mount.mount])),
CAR.ESCAPE_MK4: [ CAR.ESCAPE_MK4: [
FordCarInfo("Ford Escape 2020-22"), FordCarInfo("Ford Escape 2020-22"),
FordCarInfo("Ford Kuga 2020-22", "Adaptive Cruise Control with Lane Centering"), FordCarInfo("Ford Kuga 2020-22", "Adaptive Cruise Control with Lane Centering"),

@ -5,7 +5,7 @@ from typing import Dict, List, Union
from cereal import car from cereal import car
from selfdrive.car import dbc_dict from selfdrive.car import dbc_dict
from selfdrive.car.docs_definitions import CarFootnote, CarInfo, CarPart, CarParts, Column from selfdrive.car.docs_definitions import Cable, CarFootnote, CarInfo, CarParts, Column, HarnessConnector, Mount
Ecu = car.CarParams.Ecu Ecu = car.CarParams.Ecu
@ -89,9 +89,9 @@ class GMCarInfo(CarInfo):
def init_make(self, CP: car.CarParams): def init_make(self, CP: car.CarParams):
if CP.networkLocation == car.CarParams.NetworkLocation.fwdCamera: if CP.networkLocation == car.CarParams.NetworkLocation.fwdCamera:
self.car_parts = CarParts.default([CarPart.gm_connector]) self.car_parts = CarParts.default([HarnessConnector.gm_connector])
else: else:
self.car_parts = CarParts([CarPart.obd_ii_connector, CarPart.long_obdc_cable, CarPart.usbc_coupler, CarPart.mount]) self.car_parts = CarParts([HarnessConnector.obd_ii_connector, Cable.long_obdc_cable, Cable.usbc_coupler, Mount.mount])
self.footnotes.append(Footnote.OBD_II) self.footnotes.append(Footnote.OBD_II)

@ -6,7 +6,7 @@ from cereal import car
from common.conversions import Conversions as CV from common.conversions import Conversions as CV
from panda.python import uds from panda.python import uds
from selfdrive.car import dbc_dict from selfdrive.car import dbc_dict
from selfdrive.car.docs_definitions import CarFootnote, CarInfo, CarPart, CarParts, Column from selfdrive.car.docs_definitions import CarFootnote, CarInfo, CarParts, Column, HarnessConnector
from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries, p16 from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries, p16
Ecu = car.CarParams.Ecu Ecu = car.CarParams.Ecu
@ -110,9 +110,9 @@ class HondaCarInfo(CarInfo):
def init_make(self, CP: car.CarParams): def init_make(self, CP: car.CarParams):
if CP.carFingerprint in HONDA_BOSCH: if CP.carFingerprint in HONDA_BOSCH:
self.car_parts = CarParts.default([CarPart.bosch_b_connector]) if CP.carFingerprint in HONDA_BOSCH_RADARLESS else CarParts.default([CarPart.bosch_a_connector]) self.car_parts = CarParts.default([HarnessConnector.bosch_b_connector]) if CP.carFingerprint in HONDA_BOSCH_RADARLESS else CarParts.default([HarnessConnector.bosch_a_connector])
else: else:
self.car_parts = CarParts.default([CarPart.nidec_connector]) self.car_parts = CarParts.default([HarnessConnector.nidec_connector])
CAR_INFO: Dict[str, Optional[Union[HondaCarInfo, List[HondaCarInfo]]]] = { CAR_INFO: Dict[str, Optional[Union[HondaCarInfo, List[HondaCarInfo]]]] = {

@ -6,7 +6,7 @@ from cereal import car
from panda.python import uds from panda.python import uds
from common.conversions import Conversions as CV from common.conversions import Conversions as CV
from selfdrive.car import dbc_dict from selfdrive.car import dbc_dict
from selfdrive.car.docs_definitions import CarFootnote, CarInfo, CarPart, CarParts, Column from selfdrive.car.docs_definitions import CarFootnote, CarInfo, CarParts, Column, HarnessConnector
from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, p16 from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, p16
Ecu = car.CarParams.Ecu Ecu = car.CarParams.Ecu
@ -136,23 +136,23 @@ class Footnote(Enum):
Column.MODEL, shop_footnote=True) Column.MODEL, shop_footnote=True)
HYUNDAI_A_PARTS = CarParts.default([CarPart.hyundai_a_connector]) HYUNDAI_A_PARTS = CarParts.default([HarnessConnector.hyundai_a_connector])
HYUNDAI_B_PARTS = CarParts.default([CarPart.hyundai_b_connector]) HYUNDAI_B_PARTS = CarParts.default([HarnessConnector.hyundai_b_connector])
HYUNDAI_C_PARTS = CarParts.default([CarPart.hyundai_c_connector]) HYUNDAI_C_PARTS = CarParts.default([HarnessConnector.hyundai_c_connector])
HYUNDAI_D_PARTS = CarParts.default([CarPart.hyundai_d_connector]) HYUNDAI_D_PARTS = CarParts.default([HarnessConnector.hyundai_d_connector])
HYUNDAI_E_PARTS = CarParts.default([CarPart.hyundai_e_connector]) HYUNDAI_E_PARTS = CarParts.default([HarnessConnector.hyundai_e_connector])
HYUNDAI_F_PARTS = CarParts.default([CarPart.hyundai_f_connector]) HYUNDAI_F_PARTS = CarParts.default([HarnessConnector.hyundai_f_connector])
HYUNDAI_G_PARTS = CarParts.default([CarPart.hyundai_g_connector]) HYUNDAI_G_PARTS = CarParts.default([HarnessConnector.hyundai_g_connector])
HYUNDAI_H_PARTS = CarParts.default([CarPart.hyundai_h_connector]) HYUNDAI_H_PARTS = CarParts.default([HarnessConnector.hyundai_h_connector])
HYUNDAI_I_PARTS = CarParts.default([CarPart.hyundai_i_connector]) HYUNDAI_I_PARTS = CarParts.default([HarnessConnector.hyundai_i_connector])
HYUNDAI_J_PARTS = CarParts.default([CarPart.hyundai_j_connector]) HYUNDAI_J_PARTS = CarParts.default([HarnessConnector.hyundai_j_connector])
HYUNDAI_K_PARTS = CarParts.default([CarPart.hyundai_k_connector]) HYUNDAI_K_PARTS = CarParts.default([HarnessConnector.hyundai_k_connector])
HYUNDAI_L_PARTS = CarParts.default([CarPart.hyundai_l_connector]) HYUNDAI_L_PARTS = CarParts.default([HarnessConnector.hyundai_l_connector])
HYUNDAI_M_PARTS = CarParts.default([CarPart.hyundai_m_connector]) HYUNDAI_M_PARTS = CarParts.default([HarnessConnector.hyundai_m_connector])
HYUNDAI_N_PARTS = CarParts.default([CarPart.hyundai_n_connector]) HYUNDAI_N_PARTS = CarParts.default([HarnessConnector.hyundai_n_connector])
HYUNDAI_O_PARTS = CarParts.default([CarPart.hyundai_o_connector]) HYUNDAI_O_PARTS = CarParts.default([HarnessConnector.hyundai_o_connector])
HYUNDAI_P_PARTS = CarParts.default([CarPart.hyundai_p_connector]) HYUNDAI_P_PARTS = CarParts.default([HarnessConnector.hyundai_p_connector])
HYUNDAI_Q_PARTS = CarParts.default([CarPart.hyundai_q_connector]) HYUNDAI_Q_PARTS = CarParts.default([HarnessConnector.hyundai_q_connector])
@dataclass @dataclass

@ -3,7 +3,7 @@ from typing import Dict, List, Union
from cereal import car from cereal import car
from selfdrive.car import dbc_dict from selfdrive.car import dbc_dict
from selfdrive.car.docs_definitions import CarInfo, CarPart, CarParts from selfdrive.car.docs_definitions import CarInfo, CarParts, HarnessConnector
from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
Ecu = car.CarParams.Ecu Ecu = car.CarParams.Ecu
@ -37,7 +37,7 @@ class CAR:
@dataclass @dataclass
class MazdaCarInfo(CarInfo): class MazdaCarInfo(CarInfo):
package: str = "All" package: str = "All"
car_parts: CarParts = CarParts.default([CarPart.mazda_connector]) car_parts: CarParts = CarParts.default([HarnessConnector.mazda_connector])
CAR_INFO: Dict[str, Union[MazdaCarInfo, List[MazdaCarInfo]]] = { CAR_INFO: Dict[str, Union[MazdaCarInfo, List[MazdaCarInfo]]] = {

@ -4,7 +4,7 @@ from typing import Dict, List, Optional, Union
from cereal import car from cereal import car
from panda.python import uds from panda.python import uds
from selfdrive.car import AngleRateLimit, dbc_dict from selfdrive.car import AngleRateLimit, dbc_dict
from selfdrive.car.docs_definitions import CarInfo, CarPart, CarParts from selfdrive.car.docs_definitions import Cable, CarInfo, CarParts, HarnessAccessory, HarnessConnector, Mount
from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
Ecu = car.CarParams.Ecu Ecu = car.CarParams.Ecu
@ -30,13 +30,13 @@ class CAR:
ALTIMA = "NISSAN ALTIMA 2020" ALTIMA = "NISSAN ALTIMA 2020"
NISSAN_PARTS = [CarPart.harness_box, CarPart.rj45_cable_7ft, CarPart.long_obdc_cable, CarPart.usbc_coupler, CarPart.mount] NISSAN_PARTS = [HarnessAccessory.harness_box, Cable.rj45_cable_7ft, Cable.long_obdc_cable, Cable.usbc_coupler, Mount.mount]
@dataclass @dataclass
class NissanCarInfo(CarInfo): class NissanCarInfo(CarInfo):
package: str = "ProPILOT Assist" package: str = "ProPILOT Assist"
car_parts: CarParts = CarParts.default([CarPart.nissan_a_connector], default=NISSAN_PARTS) car_parts: CarParts = CarParts.default([HarnessConnector.nissan_a_connector], default=NISSAN_PARTS)
CAR_INFO: Dict[str, Optional[Union[NissanCarInfo, List[NissanCarInfo]]]] = { CAR_INFO: Dict[str, Optional[Union[NissanCarInfo, List[NissanCarInfo]]]] = {
@ -44,7 +44,7 @@ CAR_INFO: Dict[str, Optional[Union[NissanCarInfo, List[NissanCarInfo]]]] = {
CAR.LEAF: NissanCarInfo("Nissan Leaf 2018-23", video_link="https://youtu.be/vaMbtAh_0cY"), CAR.LEAF: NissanCarInfo("Nissan Leaf 2018-23", video_link="https://youtu.be/vaMbtAh_0cY"),
CAR.LEAF_IC: None, # same platforms CAR.LEAF_IC: None, # same platforms
CAR.ROGUE: NissanCarInfo("Nissan Rogue 2018-20"), CAR.ROGUE: NissanCarInfo("Nissan Rogue 2018-20"),
CAR.ALTIMA: NissanCarInfo("Nissan Altima 2019-20", car_parts=CarParts.default([CarPart.nissan_b_connector], default=NISSAN_PARTS)), CAR.ALTIMA: NissanCarInfo("Nissan Altima 2019-20", car_parts=CarParts.default([HarnessConnector.nissan_b_connector], default=NISSAN_PARTS)),
} }
FINGERPRINTS = { FINGERPRINTS = {

@ -5,7 +5,7 @@ from typing import Dict, List, Union
from cereal import car from cereal import car
from panda.python import uds from panda.python import uds
from selfdrive.car import dbc_dict from selfdrive.car import dbc_dict
from selfdrive.car.docs_definitions import CarInfo, CarPart, CarParts from selfdrive.car.docs_definitions import CarInfo, CarParts, HarnessConnector
from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries, p16 from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries, p16
Ecu = car.CarParams.Ecu Ecu = car.CarParams.Ecu
@ -53,13 +53,13 @@ class CAR:
@dataclass @dataclass
class SubaruCarInfo(CarInfo): class SubaruCarInfo(CarInfo):
package: str = "EyeSight Driver Assistance" package: str = "EyeSight Driver Assistance"
car_parts: CarParts = CarParts.default([CarPart.subaru_a_connector]) car_parts: CarParts = CarParts.default([HarnessConnector.subaru_a_connector])
CAR_INFO: Dict[str, Union[SubaruCarInfo, List[SubaruCarInfo]]] = { CAR_INFO: Dict[str, Union[SubaruCarInfo, List[SubaruCarInfo]]] = {
CAR.ASCENT: SubaruCarInfo("Subaru Ascent 2019-21", "All"), CAR.ASCENT: SubaruCarInfo("Subaru Ascent 2019-21", "All"),
CAR.OUTBACK: SubaruCarInfo("Subaru Outback 2020-22", "All", car_parts=CarParts.default([CarPart.subaru_b_connector])), CAR.OUTBACK: SubaruCarInfo("Subaru Outback 2020-22", "All", car_parts=CarParts.default([HarnessConnector.subaru_b_connector])),
CAR.LEGACY: SubaruCarInfo("Subaru Legacy 2020-22", "All", car_parts=CarParts.default([CarPart.subaru_b_connector])), CAR.LEGACY: SubaruCarInfo("Subaru Legacy 2020-22", "All", car_parts=CarParts.default([HarnessConnector.subaru_b_connector])),
CAR.IMPREZA: [ CAR.IMPREZA: [
SubaruCarInfo("Subaru Impreza 2017-19"), SubaruCarInfo("Subaru Impreza 2017-19"),
SubaruCarInfo("Subaru Crosstrek 2018-19", video_link="https://youtu.be/Agww7oE1k-s?t=26"), SubaruCarInfo("Subaru Crosstrek 2018-19", video_link="https://youtu.be/Agww7oE1k-s?t=26"),

@ -6,7 +6,7 @@ from typing import Dict, List, Union
from cereal import car from cereal import car
from common.conversions import Conversions as CV from common.conversions import Conversions as CV
from selfdrive.car import dbc_dict from selfdrive.car import dbc_dict
from selfdrive.car.docs_definitions import CarFootnote, CarInfo, Column, CarPart, CarParts from selfdrive.car.docs_definitions import CarFootnote, CarInfo, Column, CarParts, HarnessConnector
from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
Ecu = car.CarParams.Ecu Ecu = car.CarParams.Ecu
@ -102,7 +102,7 @@ class Footnote(Enum):
@dataclass @dataclass
class ToyotaCarInfo(CarInfo): class ToyotaCarInfo(CarInfo):
package: str = "All" package: str = "All"
car_parts: CarParts = CarParts.default([CarPart.toyota_connector]) car_parts: CarParts = CarParts.default([HarnessConnector.toyota_connector])
CAR_INFO: Dict[str, Union[ToyotaCarInfo, List[ToyotaCarInfo]]] = { CAR_INFO: Dict[str, Union[ToyotaCarInfo, List[ToyotaCarInfo]]] = {

@ -7,7 +7,7 @@ from cereal import car
from panda.python import uds from panda.python import uds
from opendbc.can.can_define import CANDefine from opendbc.can.can_define import CANDefine
from selfdrive.car import dbc_dict from selfdrive.car import dbc_dict
from selfdrive.car.docs_definitions import CarFootnote, CarInfo, CarPart, CarParts, Column from selfdrive.car.docs_definitions import Cable, CarFootnote, CarInfo, CarParts, Column, HarnessAccessory, HarnessConnector, Mount
from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, p16 from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, p16
Ecu = car.CarParams.Ecu Ecu = car.CarParams.Ecu
@ -166,7 +166,7 @@ class Footnote(Enum):
@dataclass @dataclass
class VWCarInfo(CarInfo): class VWCarInfo(CarInfo):
package: str = "Adaptive Cruise Control (ACC) & Lane Assist" package: str = "Adaptive Cruise Control (ACC) & Lane Assist"
car_parts: CarParts = CarParts([CarPart.j533_connector, CarPart.harness_box, CarPart.long_obdc_cable, CarPart.usbc_coupler, CarPart.mount]) car_parts: CarParts = CarParts([HarnessConnector.j533_connector, HarnessAccessory.harness_box, Cable.long_obdc_cable, Cable.usbc_coupler, Mount.mount])
def init_make(self, CP: car.CarParams): def init_make(self, CP: car.CarParams):
self.footnotes.insert(0, Footnote.VW_EXP_LONG) self.footnotes.insert(0, Footnote.VW_EXP_LONG)

Loading…
Cancel
Save