From b31631e5fa911e121992a4d1d13e6ed32cab9bfa Mon Sep 17 00:00:00 2001 From: MoreTorque <104254025+MoreTore@users.noreply.github.com> Date: Fri, 13 Dec 2024 06:54:01 -0600 Subject: [PATCH] manual transmission --- common/params.cc | 1 + opendbc/mazda_2019.dbc | 5 +++-- selfdrive/car/mazda/carstate.py | 7 +++++++ selfdrive/car/mazda/interface.py | 2 ++ selfdrive/car/mazda/values.py | 1 + selfdrive/ui/qt/offroad/settings.cc | 6 ++++++ 6 files changed, 20 insertions(+), 2 deletions(-) diff --git a/common/params.cc b/common/params.cc index 440ce49cb5..fa77a83c27 100644 --- a/common/params.cc +++ b/common/params.cc @@ -573,6 +573,7 @@ std::unordered_map keys = { {"ExperimentalLongTune", PERSISTENT}, {"LongOutputGain", PERSISTENT}, {"BlendedACC", PERSISTENT}, + {"ManualTransmission", PERSISTENT}, }; } // namespace diff --git a/opendbc/mazda_2019.dbc b/opendbc/mazda_2019.dbc index 447fc7b07f..651c983cae 100644 --- a/opendbc/mazda_2019.dbc +++ b/opendbc/mazda_2019.dbc @@ -457,10 +457,10 @@ BO_ 533 WHEEL_SPEEDS: 8 XXX BO_ 535 SPEED: 8 XXX SG_ SPEED : 39|16@0+ (0.01,0) [0|65535] "" XXX -BO_ 537 NEW_MSG_38: 8 XXX +BO_ 537 MANUAL_GEAR: 8 XXX SG_ NEW_SIGNAL_2 : 7|16@0+ (1,0) [0|65535] "" XXX SG_ NEW_SIGNAL_3 : 23|16@0+ (1,0) [0|65535] "" XXX - SG_ GEAR_RELATED : 39|8@0+ (1,0) [0|255] "" XXX + SG_ GEAR : 33|2@0+ (1,0) [0|255] "" XXX SG_ NEW_SIGNAL_4 : 55|16@0+ (1,0) [0|65535] "" XXX BO_ 544 ACC: 8 XXX @@ -630,6 +630,7 @@ BO_ 1868 EPS_FEEDBACK3: 8 XXX CM_ SG_ 31 GEAR "13-P, 12-R, 11-N, 1-6-D"; VAL_ 31 GEAR 13 "P" 12 "R" 11 "N" 1 "D" 2 "D" 3 "D" 4 "D" 5 "D" 6 "D"; VAL_ 552 GEAR 13 "P" 12 "R" 11 "N" 1 "D" 2 "D" 3 "D" 4 "D" 5 "D" 6 "D"; +VAL_ 537 GEAR 0 "P" 1 "D" 2 "R"; VAL_ 552 GEAR_SHIFT 6 "6th" 5 "5th" 4 "4th" 3 "3rd" 2 "2nd" 1 "1st" 14 "Shift" 13 "Park" 11 "Neutral" 12 "Reverse"; VAL_ 1098 CRZ_STATE 0 "CRUISE_DISABLED" 1 "CRUISE_READY" 2 "CRUISE_ENABLED" 4 "GAS_OVERRIDE"; VAL_ 1098 DISTANCE_SETTING 4 "CLOSE" 3 "MEDIUM_CLOSE" 2 "MEDIUM_FAR" 1 "FAR" 0 "ACC_DISABLED"; diff --git a/selfdrive/car/mazda/carstate.py b/selfdrive/car/mazda/carstate.py index ed7af70415..3ac776eba0 100644 --- a/selfdrive/car/mazda/carstate.py +++ b/selfdrive/car/mazda/carstate.py @@ -12,6 +12,8 @@ class CarState(CarStateBase): can_define = CANDefine(DBC[CP.carFingerprint]["pt"]) self.shifter_values = can_define.dv["GEAR"]["GEAR"] + if CP.flags & MazdaFlags.MANUAL_TRANSMISSION: + self.shifter_values = can_define.dv["MANUAL_GEAR"]["GEAR"] self.crz_btns_counter = 0 self.acc_active_last = False @@ -303,6 +305,11 @@ class CarState(CarStateBase): ("SPEED", 50), ] + if CP.flags & MazdaFlags.MANUAL_TRANSMISSION: + messages += [ + ("MANUAL_GEAR", 50) + ] + return CANParser(DBC[CP.carFingerprint]["pt"], messages, 2) @staticmethod diff --git a/selfdrive/car/mazda/interface.py b/selfdrive/car/mazda/interface.py index 539904143d..ca92940523 100755 --- a/selfdrive/car/mazda/interface.py +++ b/selfdrive/car/mazda/interface.py @@ -45,6 +45,8 @@ class CarInterface(CarInterfaceBase): if p.get_bool("NoFSC"): # No Front Sensing Camera ret.flags |= MazdaFlags.NO_FSC.value ret.safetyConfigs[0].safetyParam |= Panda.FLAG_MAZDA_NO_FSC + if p.get_bool("ManualTransmission"): + ret.flags |= MazdaFlags.MANUAL_TRANSMISSION.value ret.steerActuatorDelay = 0.1 diff --git a/selfdrive/car/mazda/values.py b/selfdrive/car/mazda/values.py index 432386a34b..0f921b7386 100644 --- a/selfdrive/car/mazda/values.py +++ b/selfdrive/car/mazda/values.py @@ -66,6 +66,7 @@ class MazdaFlags(IntFlag): RADAR_INTERCEPTOR = 8 NO_FSC = 16 NO_MRCC = 32 + MANUAL_TRANSMISSION = 64 @dataclass class MazdaPlatformConfig(PlatformConfig): diff --git a/selfdrive/ui/qt/offroad/settings.cc b/selfdrive/ui/qt/offroad/settings.cc index aa0ce0f50d..268021d40a 100644 --- a/selfdrive/ui/qt/offroad/settings.cc +++ b/selfdrive/ui/qt/offroad/settings.cc @@ -84,6 +84,12 @@ TogglesPanel::TogglesPanel(SettingsWindow *parent) : ListWidget(parent) { tr("Enable if your car does not have stock FSC."), "../assets/offroad/icon_openpilot.png", }, + { + "ManualTransmission", + tr("Manual Transmission"), + tr("Enable if your is a manual."), + "../assets/offroad/icon_openpilot.png", + }, { "DisengageOnAccelerator", tr("Disengage on Accelerator Pedal"),