|
|
@ -4,7 +4,7 @@ import numpy as np |
|
|
|
import tomllib |
|
|
|
import tomllib |
|
|
|
from abc import abstractmethod, ABC |
|
|
|
from abc import abstractmethod, ABC |
|
|
|
from enum import StrEnum |
|
|
|
from enum import StrEnum |
|
|
|
from typing import Any, NamedTuple, cast |
|
|
|
from typing import Any, NamedTuple |
|
|
|
from collections.abc import Callable |
|
|
|
from collections.abc import Callable |
|
|
|
|
|
|
|
|
|
|
|
from cereal import car |
|
|
|
from cereal import car |
|
|
@ -13,7 +13,7 @@ from openpilot.common.conversions import Conversions as CV |
|
|
|
from openpilot.common.simple_kalman import KF1D, get_kalman_gain |
|
|
|
from openpilot.common.simple_kalman import KF1D, get_kalman_gain |
|
|
|
from openpilot.common.numpy_fast import clip |
|
|
|
from openpilot.common.numpy_fast import clip |
|
|
|
from openpilot.common.realtime import DT_CTRL |
|
|
|
from openpilot.common.realtime import DT_CTRL |
|
|
|
from openpilot.selfdrive.car import PlatformConfig, apply_hysteresis, gen_empty_fingerprint, scale_rot_inertia, scale_tire_stiffness, STD_CARGO_KG |
|
|
|
from openpilot.selfdrive.car import apply_hysteresis, gen_empty_fingerprint, scale_rot_inertia, scale_tire_stiffness, STD_CARGO_KG |
|
|
|
from openpilot.selfdrive.car.values import Platform |
|
|
|
from openpilot.selfdrive.car.values import Platform |
|
|
|
from openpilot.selfdrive.controls.lib.drive_helpers import V_CRUISE_MAX, get_friction |
|
|
|
from openpilot.selfdrive.controls.lib.drive_helpers import V_CRUISE_MAX, get_friction |
|
|
|
from openpilot.selfdrive.controls.lib.events import Events |
|
|
|
from openpilot.selfdrive.controls.lib.events import Events |
|
|
@ -113,14 +113,13 @@ class CarInterfaceBase(ABC): |
|
|
|
ret = CarInterfaceBase.get_std_params(candidate) |
|
|
|
ret = CarInterfaceBase.get_std_params(candidate) |
|
|
|
|
|
|
|
|
|
|
|
if hasattr(candidate, "config"): |
|
|
|
if hasattr(candidate, "config"): |
|
|
|
platform_config = cast(PlatformConfig, candidate.config) |
|
|
|
if candidate.config.specs is not None: |
|
|
|
if platform_config.specs is not None: |
|
|
|
ret.mass = candidate.config.specs.mass |
|
|
|
ret.mass = platform_config.specs.mass |
|
|
|
ret.wheelbase = candidate.config.specs.wheelbase |
|
|
|
ret.wheelbase = platform_config.specs.wheelbase |
|
|
|
ret.steerRatio = candidate.config.specs.steerRatio |
|
|
|
ret.steerRatio = platform_config.specs.steerRatio |
|
|
|
ret.centerToFront = ret.wheelbase * candidate.config.specs.centerToFrontRatio |
|
|
|
ret.centerToFront = ret.wheelbase * platform_config.specs.centerToFrontRatio |
|
|
|
ret.minEnableSpeed = candidate.config.specs.minEnableSpeed |
|
|
|
ret.minEnableSpeed = platform_config.specs.minEnableSpeed |
|
|
|
ret.minSteerSpeed = candidate.config.specs.minSteerSpeed |
|
|
|
ret.minSteerSpeed = platform_config.specs.minSteerSpeed |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ret = cls._get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs) |
|
|
|
ret = cls._get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs) |
|
|
|
|
|
|
|
|
|
|
|