mirror of
https://github.com/MoreTore/openpilot.git
synced 2026-07-27 04:42:05 +08:00
Mazda Values
This commit is contained in:
@@ -13,18 +13,38 @@ Ecu = car.CarParams.Ecu
|
||||
# Steer torque limits
|
||||
|
||||
class CarControllerParams:
|
||||
STEER_MAX = 800 # theoretical max_steer 2047
|
||||
STEER_DELTA_UP = 10 # torque increase per refresh
|
||||
STEER_DELTA_DOWN = 25 # torque decrease per refresh
|
||||
STEER_DRIVER_ALLOWANCE = 15 # allowed driver torque before start limiting
|
||||
STEER_DRIVER_MULTIPLIER = 1 # weight driver torque
|
||||
STEER_DRIVER_FACTOR = 1 # from dbc
|
||||
STEER_ERROR_MAX = 350 # max delta between torque cmd and torque motor
|
||||
STEER_STEP = 1 # 100 Hz
|
||||
|
||||
def __init__(self, CP):
|
||||
pass
|
||||
self.STEER_STEP = 1 # 100 Hz
|
||||
if CP.flags & MazdaFlags.GEN1:
|
||||
self.STEER_MAX = 600 # theoretical max_steer 2047
|
||||
self.STEER_DELTA_UP = 10 # torque increase per refresh
|
||||
self.STEER_DELTA_DOWN = 25 # torque decrease per refresh
|
||||
self.STEER_DRIVER_ALLOWANCE = 15 # allowed driver torque before start limiting
|
||||
self.STEER_DRIVER_MULTIPLIER = 40 # weight driver torque
|
||||
self.STEER_DRIVER_FACTOR = 1 # from dbc
|
||||
self.STEER_ERROR_MAX = 350 # max delta between torque cmd and torque motor
|
||||
|
||||
self.TI_STEER_MAX = 600 # theoretical max_steer 2047
|
||||
self.TI_STEER_DELTA_UP = 6 # torque increase per refresh
|
||||
self.TI_STEER_DELTA_DOWN = 15 # torque decrease per refresh
|
||||
self.TI_STEER_DRIVER_ALLOWANCE = 15 # allowed driver torque before start limiting
|
||||
self.TI_STEER_DRIVER_MULTIPLIER = 40 # weight driver torque
|
||||
self.TI_STEER_DRIVER_FACTOR = 1 # from dbc
|
||||
self.TI_STEER_ERROR_MAX = 350 # max delta between torque cmd and torque motor
|
||||
if CP.flags & MazdaFlags.GEN2:
|
||||
self.STEER_MAX = 8000
|
||||
self.STEER_DELTA_UP = 45 # torque increase per refresh
|
||||
self.STEER_DELTA_DOWN = 80 # torque decrease per refresh
|
||||
self.STEER_DRIVER_ALLOWANCE = 1400 # allowed driver torque before start limiting
|
||||
self.STEER_DRIVER_MULTIPLIER = 5 # weight driver torque
|
||||
self.STEER_DRIVER_FACTOR = 1 # from dbc
|
||||
self.STEER_ERROR_MAX = 3500 # max delta between torque cmd and torque motor
|
||||
|
||||
class TI_STATE:
|
||||
DISCOVER = 0
|
||||
OFF = 1
|
||||
DRIVER_OVER = 2
|
||||
RUN = 3
|
||||
|
||||
@dataclass
|
||||
class MazdaCarDocs(CarDocs):
|
||||
@@ -41,38 +61,69 @@ class MazdaFlags(IntFlag):
|
||||
# Static flags
|
||||
# Gen 1 hardware: same CAN messages and same camera
|
||||
GEN1 = 1
|
||||
|
||||
GEN2 = 2
|
||||
TORQUE_INTERCEPTOR = 4
|
||||
RADAR_INTERCEPTOR = 8
|
||||
NO_FSC = 16
|
||||
NO_MRCC = 32
|
||||
MANUAL_TRANSMISSION = 64
|
||||
|
||||
@dataclass
|
||||
class MazdaPlatformConfig(PlatformConfig):
|
||||
dbc_dict: DbcDict = field(default_factory=lambda: dbc_dict('mazda_2017', None))
|
||||
flags: int = MazdaFlags.GEN1
|
||||
def init(self):
|
||||
if self.flags & MazdaFlags.GEN2:
|
||||
self.dbc_dict = dbc_dict('mazda_2019', None)
|
||||
elif self.flags & MazdaFlags.GEN1 and self.flags & MazdaFlags.RADAR_INTERCEPTOR:
|
||||
self.dbc_dict = dbc_dict('mazda_2017', 'mazda_radar')
|
||||
|
||||
|
||||
|
||||
class CAR(Platforms):
|
||||
MAZDA_CX5 = MazdaPlatformConfig(
|
||||
[MazdaCarDocs("Mazda CX-5 2017-21")],
|
||||
MazdaCarSpecs(mass=3655 * CV.LB_TO_KG, wheelbase=2.7, steerRatio=15.5)
|
||||
MazdaCarSpecs(mass=3655 * CV.LB_TO_KG, wheelbase=2.7, steerRatio=15.5),
|
||||
flags=MazdaFlags.GEN1
|
||||
)
|
||||
MAZDA_CX9 = MazdaPlatformConfig(
|
||||
[MazdaCarDocs("Mazda CX-9 2016-20")],
|
||||
MazdaCarSpecs(mass=4217 * CV.LB_TO_KG, wheelbase=3.1, steerRatio=17.6)
|
||||
MazdaCarSpecs(mass=4217 * CV.LB_TO_KG, wheelbase=3.1, steerRatio=17.6),
|
||||
flags=MazdaFlags.GEN1,
|
||||
)
|
||||
MAZDA_3 = MazdaPlatformConfig(
|
||||
[MazdaCarDocs("Mazda 3 2017-18")],
|
||||
MazdaCarSpecs(mass=2875 * CV.LB_TO_KG, wheelbase=2.7, steerRatio=14.0)
|
||||
MazdaCarSpecs(mass=2875 * CV.LB_TO_KG, wheelbase=2.7, steerRatio=14.0),
|
||||
flags=MazdaFlags.GEN1,
|
||||
)
|
||||
MAZDA_6 = MazdaPlatformConfig(
|
||||
[MazdaCarDocs("Mazda 6 2017-20")],
|
||||
MazdaCarSpecs(mass=3443 * CV.LB_TO_KG, wheelbase=2.83, steerRatio=15.5)
|
||||
MazdaCarSpecs(mass=3443 * CV.LB_TO_KG, wheelbase=2.83, steerRatio=15.5),
|
||||
flags=MazdaFlags.GEN1,
|
||||
)
|
||||
MAZDA_CX9_2021 = MazdaPlatformConfig(
|
||||
[MazdaCarDocs("Mazda CX-9 2021-23", video_link="https://youtu.be/dA3duO4a0O4")],
|
||||
MAZDA_CX9.specs
|
||||
MAZDA_CX9.specs,
|
||||
flags=MazdaFlags.GEN1,
|
||||
)
|
||||
MAZDA_CX5_2022 = MazdaPlatformConfig(
|
||||
[MazdaCarDocs("Mazda CX-5 2022-24")],
|
||||
MAZDA_CX5.specs,
|
||||
flags=MazdaFlags.GEN1,
|
||||
)
|
||||
MAZDA_3_2019 = MazdaPlatformConfig(
|
||||
[MazdaCarDocs("Mazda 3 2019-24")],
|
||||
MazdaCarSpecs(mass=3000 * CV.LB_TO_KG, wheelbase=2.725, steerRatio=18.8),
|
||||
flags=MazdaFlags.GEN2,
|
||||
)
|
||||
MAZDA_CX_30 = MazdaPlatformConfig(
|
||||
[MazdaCarDocs("Mazda CX-30 2019-24")],
|
||||
MazdaCarSpecs(mass=3375 * CV.LB_TO_KG, wheelbase=2.814, steerRatio=15.5),
|
||||
flags=MazdaFlags.GEN2,
|
||||
)
|
||||
MAZDA_CX_50 = MazdaPlatformConfig(
|
||||
[MazdaCarDocs("Mazda CX-50 2022-24")],
|
||||
MazdaCarSpecs(mass=3375 * CV.LB_TO_KG, wheelbase=2.814, steerRatio=15.5),
|
||||
flags=MazdaFlags.GEN2,
|
||||
)
|
||||
|
||||
|
||||
@@ -80,7 +131,9 @@ class LKAS_LIMITS:
|
||||
STEER_THRESHOLD = 15
|
||||
DISABLE_SPEED = 45 # kph
|
||||
ENABLE_SPEED = 52 # kph
|
||||
|
||||
TI_STEER_THRESHOLD = 6
|
||||
TI_DISABLE_SPEED = 0 # kph
|
||||
TI_ENABLE_SPEED = 0 # kph
|
||||
|
||||
class Buttons:
|
||||
NONE = 0
|
||||
@@ -88,6 +141,7 @@ class Buttons:
|
||||
SET_MINUS = 2
|
||||
RESUME = 3
|
||||
CANCEL = 4
|
||||
TURN_ON = 5
|
||||
|
||||
|
||||
FW_QUERY_CONFIG = FwQueryConfig(
|
||||
@@ -98,7 +152,20 @@ FW_QUERY_CONFIG = FwQueryConfig(
|
||||
[StdQueries.MANUFACTURER_SOFTWARE_VERSION_RESPONSE],
|
||||
bus=0,
|
||||
),
|
||||
Request(
|
||||
[StdQueries.TESTER_PRESENT_REQUEST, StdQueries.MANUFACTURER_SOFTWARE_VERSION_REQUEST],
|
||||
[StdQueries.TESTER_PRESENT_RESPONSE, StdQueries.MANUFACTURER_SOFTWARE_VERSION_RESPONSE],
|
||||
whitelist_ecus=[Ecu.engine],
|
||||
),
|
||||
Request(
|
||||
[StdQueries.TESTER_PRESENT_REQUEST, StdQueries.MANUFACTURER_SOFTWARE_VERSION_REQUEST],
|
||||
[StdQueries.TESTER_PRESENT_RESPONSE, StdQueries.MANUFACTURER_SOFTWARE_VERSION_RESPONSE],
|
||||
bus=0,
|
||||
whitelist_ecus=[Ecu.eps, Ecu.abs, Ecu.fwdRadar, Ecu.fwdCamera, Ecu.shiftByWire],
|
||||
)
|
||||
],
|
||||
)
|
||||
|
||||
DBC = CAR.create_dbc_map()
|
||||
GEN1 = CAR.with_flags(MazdaFlags.GEN1)
|
||||
GEN2 = CAR.with_flags(MazdaFlags.GEN2)
|
||||
|
||||
Reference in New Issue
Block a user