diff --git a/common/params.cc b/common/params.cc index e4461a0aa..2cc7f87d7 100644 --- a/common/params.cc +++ b/common/params.cc @@ -253,6 +253,7 @@ std::unordered_map keys = { {"DisableOnroadUploads", PERSISTENT}, {"DisableOpenpilotLongitudinal", PERSISTENT}, {"DisengageVolume", PERSISTENT}, + {"DragonPilotTune", PERSISTENT}, {"DynamicPathWidth", PERSISTENT}, {"EngageVolume", PERSISTENT}, {"FrogPilotTogglesUpdated", PERSISTENT}, diff --git a/selfdrive/car/toyota/interface.py b/selfdrive/car/toyota/interface.py index b45e5353b..211f05e06 100644 --- a/selfdrive/car/toyota/interface.py +++ b/selfdrive/car/toyota/interface.py @@ -163,6 +163,20 @@ class CarInterface(CarInterfaceBase): tune.kpV = [0.8, 1.] tune.kiBP = [0., 5.] tune.kiV = [0.3, 1.] + elif (candidate in TSS2_CAR or ret.enableGasInterceptor) and params.get_bool("DragonPilotTune"): + # Credit goes to the DragonPilot team! + tune.deadzoneBP = [0., 16., 20., 30.] + tune.deadzoneV = [0., .03, .06, .15] + tune.kpBP = [0., 5., 20.] + tune.kpV = [1.3, 1.0, 0.7] + # In MPH = [ 0, 27, 45, 60, 89] + tune.kiBP = [ 0., 12., 20., 27., 40.] + tune.kiV = [.35, .215, .195, .10, .01] + if candidate in TSS2_CAR: + ret.vEgoStopping = 0.1 # car is near 0.1 to 0.2 when car starts requesting stopping accel + ret.vEgoStarting = 0.1 # needs to be > or == vEgoStopping + ret.stopAccel = -0.40 # Toyota requests -0.4 when stopped + ret.stoppingDecelRate = 0.5 # reach stopping target smoothly elif candidate in TSS2_CAR or ret.enableGasInterceptor: tune.kpBP = [0., 5., 20.] tune.kpV = [1.3, 1.0, 0.7] diff --git a/selfdrive/frogpilot/ui/qt/offroad/vehicle_settings.cc b/selfdrive/frogpilot/ui/qt/offroad/vehicle_settings.cc index fdcbcda9a..452ebf7b4 100644 --- a/selfdrive/frogpilot/ui/qt/offroad/vehicle_settings.cc +++ b/selfdrive/frogpilot/ui/qt/offroad/vehicle_settings.cc @@ -31,6 +31,7 @@ FrogPilotVehiclesPanel::FrogPilotVehiclesPanel(SettingsWindow *parent) : FrogPil std::vector> tuneOptions{ {"StockTune", tr("Stock")}, {"CydiaTune", tr("Cydia")}, + {"DragonPilotTune", tr("DragonPilot")}, }; toggle = new FrogPilotButtonsParamControl(param, title, desc, icon, tuneOptions);