You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.4 KiB
54 lines
1.4 KiB
from dataclasses import dataclass, field
|
|
|
|
from opendbc.car.structs import CarParams
|
|
from opendbc.car import Bus, CarSpecs, DbcDict, PlatformConfig, Platforms
|
|
from opendbc.car.lateral import AngleSteeringLimits
|
|
from opendbc.car.docs_definitions import CarDocs, CarHarness, CarParts
|
|
from opendbc.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
|
|
|
|
Ecu = CarParams.Ecu
|
|
|
|
|
|
class CarControllerParams:
|
|
STEER_STEP = 1
|
|
|
|
ANGLE_LIMITS: AngleSteeringLimits = AngleSteeringLimits(
|
|
390, # deg
|
|
([0., 5., 25.], [2.5, 1.5, .2]),
|
|
([0., 5., 25.], [5., 2., .3]),
|
|
)
|
|
STEER_DRIVER_ALLOWANCE = 5 # Driver intervention threshold, 0.5 Nm
|
|
|
|
|
|
@dataclass
|
|
class PSACarDocs(CarDocs):
|
|
package: str = "Adaptive Cruise Control (ACC) & Lane Assist"
|
|
car_parts: CarParts = field(default_factory=CarParts.common([CarHarness.psa_a]))
|
|
|
|
|
|
@dataclass
|
|
class PSAPlatformConfig(PlatformConfig):
|
|
dbc_dict: DbcDict = field(default_factory=lambda: {
|
|
Bus.pt: 'psa_aee2010_r3',
|
|
})
|
|
|
|
|
|
class CAR(Platforms):
|
|
PSA_PEUGEOT_208 = PSAPlatformConfig(
|
|
[PSACarDocs("Peugeot 208 2019-25")],
|
|
CarSpecs(mass=1530, wheelbase=2.54, steerRatio=17.6),
|
|
)
|
|
|
|
|
|
# Placeholder, FW Query will be added in separate PR
|
|
FW_QUERY_CONFIG = FwQueryConfig(
|
|
requests=[
|
|
Request(
|
|
[StdQueries.TESTER_PRESENT_REQUEST, StdQueries.UDS_VERSION_REQUEST],
|
|
[StdQueries.TESTER_PRESENT_RESPONSE, StdQueries.UDS_VERSION_RESPONSE],
|
|
bus=0,
|
|
),
|
|
],
|
|
)
|
|
|
|
DBC = CAR.create_dbc_map()
|
|
|