need to init inside values or else it won't be reliable

pull/31607/head
Shane Smiskol 1 year ago
parent abbc4c249f
commit 2773d07eb3
  1. 7
      selfdrive/car/__init__.py
  2. 8
      selfdrive/car/toyota/values.py
  3. 4
      selfdrive/car/values.py

@ -268,6 +268,9 @@ class PlatformConfig:
def __hash__(self) -> int:
return hash(self.platform_str)
def init_config(self):
pass
class Platforms(str, ReprEnum):
config: PlatformConfig
@ -278,6 +281,10 @@ class Platforms(str, ReprEnum):
member._value_ = platform_config.platform_str
return member
@classmethod
def init_configs(cls):
[p.config.init_config() for p in cls]
@classmethod
def create_dbc_map(cls) -> dict[str, DbcDict]:
return {p: p.config.dbc_dict for p in cls}

@ -61,8 +61,6 @@ class ToyotaCarInfo(CarInfo):
@dataclass()
class ToyotaPlatformConfig(PlatformConfig):
# dbc_dict: DbcDict = field(default_factory=lambda: dbc_dict('subaru_global_2017_generated', None))
def init_config(self):
if self.platform_str in TSS2_CAR:
self.dbc_dict = dbc_dict('toyota_nodsu_pt_generated', 'toyota_tss2_adas')
@ -75,12 +73,6 @@ class ToyotaPlatformConfig(PlatformConfig):
self.dbc_dict = dbc_dict('toyota_new_mc_pt_generated', 'toyota_adas')
return self
def __post_init__(self):
# if self.
print('here', dir(self))
# if self.platform_str == CAR.ALPHARD_TSS2: # doesn't work
# self.dbc_dict = dbc_dict('toyota_nodsu_pt_generated', 'toyota_tss2_adas')
class CAR(Platforms):
# Toyota

@ -16,7 +16,3 @@ Platform = BODY | CHRYSLER | FORD | GM | HONDA | HYUNDAI | MAZDA | NISSAN | SUBA
BRANDS = [BODY, CHRYSLER, FORD, GM, HONDA, HYUNDAI, MAZDA, NISSAN, SUBARU, TESLA, TOYOTA, VOLKSWAGEN]
PLATFORMS: dict[str, Platform] = {str(platform): platform for brand in BRANDS for platform in cast(list[Platform], brand)}
for platform in PLATFORMS.values():
if hasattr(platform, "config"):
platform.config.init_config()

Loading…
Cancel
Save