diff --git a/common/params.cc b/common/params.cc index 699e863f6..d3ad9edb9 100644 --- a/common/params.cc +++ b/common/params.cc @@ -322,6 +322,7 @@ std::unordered_map keys = { {"DynamicPedalsOnUI", PERSISTENT}, {"EngageVolume", PERSISTENT}, {"ExperimentalGMTune", PERSISTENT}, + {"EVTuning", PERSISTENT}, {"Fahrenheit", PERSISTENT}, {"FavoriteDestinations", PERSISTENT | DONT_LOG}, {"FlashPanda", CLEAR_ON_MANAGER_START}, @@ -548,6 +549,7 @@ std::unordered_map keys = { {"StoppedTimer", PERSISTENT}, {"TacoTune", PERSISTENT}, {"TacoTuneHacks", PERSISTENT}, + {"TrailerLoad", PERSISTENT}, {"TestAlert", CLEAR_ON_MANAGER_START}, {"TetheringEnabled", PERSISTENT}, {"ThemeDownloadProgress", CLEAR_ON_MANAGER_START}, diff --git a/common/params_pyx.so b/common/params_pyx.so index b6cac964a..15bb97df8 100755 Binary files a/common/params_pyx.so and b/common/params_pyx.so differ diff --git a/frogpilot/common/frogpilot_variables.py b/frogpilot/common/frogpilot_variables.py index 395b36167..2d949a0b6 100644 --- a/frogpilot/common/frogpilot_variables.py +++ b/frogpilot/common/frogpilot_variables.py @@ -13,7 +13,8 @@ from openpilot.common.conversions import Conversions as CV from openpilot.common.params import Params from openpilot.selfdrive.car import gen_empty_fingerprint from openpilot.selfdrive.car.car_helpers import interfaces -from openpilot.selfdrive.car.gm.values import GMFlags +from openpilot.selfdrive.car.gm.values import EV_CAR as GM_EV_CAR, GMFlags +from openpilot.selfdrive.car.hyundai.values import EV_CAR as HYUNDAI_EV_CAR from openpilot.selfdrive.car.interfaces import CarInterfaceBase from openpilot.selfdrive.car.mock.interface import CarInterface from openpilot.selfdrive.car.mock.values import CAR as MOCK @@ -32,6 +33,7 @@ params_memory = Params("/dev/shm/params") GearShifter = car.CarState.GearShifter SafetyModel = car.CarParams.SafetyModel +TransmissionType = car.CarParams.TransmissionType CITY_SPEED_LIMIT = 25 # 55mph is typically the minimum speed for highways CRUISING_SPEED = 5 # Roughly the speed cars go when not touching the gas while in drive @@ -128,6 +130,7 @@ frogpilot_default_params: list[tuple[str, str | bytes, int, str]] = [ ("AdvancedCustomUI", "0", 2, "0"), ("AdvancedLateralTune", "0", 2, "0"), ("AdvancedLongitudinalTune", "0", 3, "0"), + ("EVTuning", "", 3, "0"), ("AggressiveFollow", "1.25", 2, "1.25"), ("AggressiveFollowHigh", "1.25", 2, "1.25"), ("AggressiveJerkAcceleration", "50", 3, "50"), @@ -271,6 +274,7 @@ frogpilot_default_params: list[tuple[str, str | bytes, int, str]] = [ ("LongitudinalActuatorDelay", "", 3, ""), ("LongitudinalActuatorDelayStock", "", 3, ""), ("LongitudinalTune", "1", 0, "0"), + ("TrailerLoad", "0", 2, "0"), ("LongPitch", "1", 2, "0"), ("LoudBlindspotAlert", "0", 0, "0"), ("LowVoltageShutdown", str(VBATT_PAUSE_CHARGING), 2, str(VBATT_PAUSE_CHARGING)), @@ -616,6 +620,13 @@ class FrogPilotVariables: toggle.use_custom_steerRatio = bool(round(toggle.steerRatio, 2) != round(steerRatio, 2)) and not toggle.force_auto_tune or toggle.force_auto_tune_off advanced_longitudinal_tuning = params.get_bool("AdvancedLongitudinalTune") if tuning_level >= level["AdvancedLongitudinalTune"] else default.get_bool("AdvancedLongitudinalTune") + ev_vehicle = toggle.car_make == "gm" and toggle.car_model != "CHEVROLET_VOLT" and CP.carFingerprint in GM_EV_CAR or toggle.car_make == "hyundai" and CP.carFingerprint in HYUNDAI_EV_CAR + ev_vehicle |= CP.transmissionType == TransmissionType.direct + + if params.get("EVTuning") == b"": + params.put_bool("EVTuning", ev_vehicle) + + toggle.ev_tuning = params.get_bool("EVTuning") if advanced_longitudinal_tuning and tuning_level >= level["EVTuning"] else ev_vehicle toggle.longitudinalActuatorDelay = np.clip(params.get_float("LongitudinalActuatorDelay"), 0, 1) if advanced_longitudinal_tuning and tuning_level >= level["LongitudinalActuatorDelay"] else longitudinalActuatorDelay toggle.startAccel = np.clip(params.get_float("StartAccel"), 0, 4) if advanced_longitudinal_tuning and tuning_level >= level["StartAccel"] else startAccel toggle.stopAccel = np.clip(params.get_float("StopAccel"), -4, 0) if advanced_longitudinal_tuning and tuning_level >= level["StopAccel"] else stopAccel @@ -835,6 +846,7 @@ class FrogPilotVariables: toggle.human_following = longitudinal_tuning and (params.get_bool("HumanFollowing") if tuning_level >= level["HumanFollowing"] else default.get_bool("HumanFollowing")) toggle.lead_detection_probability = np.clip(params.get_int("LeadDetectionThreshold") / 100, 0.25, 0.50) if longitudinal_tuning and tuning_level >= level["LeadDetectionThreshold"] else default.get_int("LeadDetectionThreshold") / 100 toggle.max_desired_acceleration = np.clip(params.get_float("MaxDesiredAcceleration"), 0.1, 4.0) if longitudinal_tuning and tuning_level >= level["MaxDesiredAcceleration"] else default.get_float("MaxDesiredAcceleration") + toggle.trailer_load_kg = (np.clip(params.get_int("TrailerLoad"), 0, 15000) if longitudinal_tuning and tuning_level >= level["TrailerLoad"] else default.get_int("TrailerLoad")) * CV.LB_TO_KG toggle.taco_tune = longitudinal_tuning and (params.get_bool("TacoTune") if tuning_level >= level["TacoTune"] else default.get_bool("TacoTune")) toggle.available_models = params.get("AvailableModels", encoding="utf-8") or "" diff --git a/frogpilot/controls/lib/frogpilot_acceleration.py b/frogpilot/controls/lib/frogpilot_acceleration.py index ccb87c1f0..5c06d644d 100644 --- a/frogpilot/controls/lib/frogpilot_acceleration.py +++ b/frogpilot/controls/lib/frogpilot_acceleration.py @@ -47,14 +47,18 @@ A_CRUISE_MIN_SPORT = A_CRUISE_MIN * 2 # MPH = [0.0, 11, 22, 34, 45, 56, 89] A_CRUISE_MAX_BP_CUSTOM = [0.0, 5., 10., 15., 20., 25., 40.] -A_CRUISE_MAX_VALS_ECO = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] -A_CRUISE_MAX_VALS_SPORT = [1.25, 1.25, 1.25, 1.25, 1.5, 1.5, 2.0] +A_CRUISE_MAX_VALS_ECO_EV = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] +A_CRUISE_MAX_VALS_SPORT_EV = [1.25, 1.25, 1.25, 1.25, 1.5, 1.5, 2.0] +A_CRUISE_MAX_VALS_ECO_GAS = [2.0, 1.5, 1.0, 0.8, 0.6, 0.4, 0.2] +A_CRUISE_MAX_VALS_SPORT_GAS = [3.0, 2.5, 2.0, 1.5, 1.0, 0.8, 0.6] -def get_max_accel_eco(v_ego): - return float(akima_interp(v_ego, A_CRUISE_MAX_BP_CUSTOM, A_CRUISE_MAX_VALS_ECO)) +def get_max_accel_eco(v_ego, ev_tuning=True): + cruise_vals = A_CRUISE_MAX_VALS_ECO_EV if ev_tuning else A_CRUISE_MAX_VALS_ECO_GAS + return float(akima_interp(v_ego, A_CRUISE_MAX_BP_CUSTOM, cruise_vals)) -def get_max_accel_sport(v_ego): - return float(akima_interp(v_ego, A_CRUISE_MAX_BP_CUSTOM, A_CRUISE_MAX_VALS_SPORT)) +def get_max_accel_sport(v_ego, ev_tuning=True): + cruise_vals = A_CRUISE_MAX_VALS_SPORT_EV if ev_tuning else A_CRUISE_MAX_VALS_SPORT_GAS + return float(akima_interp(v_ego, A_CRUISE_MAX_BP_CUSTOM, cruise_vals)) def get_max_accel_low_speeds(max_accel, v_cruise): return float(akima_interp(v_cruise, [0., CITY_SPEED_LIMIT / 2, CITY_SPEED_LIMIT], [max_accel / 4, max_accel / 2, max_accel])) @@ -75,22 +79,23 @@ class FrogPilotAcceleration: def update(self, v_ego, sm, frogpilot_toggles): eco_gear = sm["frogpilotCarState"].ecoGear sport_gear = sm["frogpilotCarState"].sportGear + ev_tuning = frogpilot_toggles.ev_tuning if sm["frogpilotCarState"].trafficModeEnabled: self.max_accel = get_max_accel(v_ego) elif frogpilot_toggles.map_acceleration and (eco_gear or sport_gear): if eco_gear: - self.max_accel = get_max_accel_eco(v_ego) + self.max_accel = get_max_accel_eco(v_ego, ev_tuning) else: if frogpilot_toggles.acceleration_profile == 2: - self.max_accel = get_max_accel_sport(v_ego) + self.max_accel = get_max_accel_sport(v_ego, ev_tuning) else: self.max_accel = get_max_allowed_accel(v_ego) else: if frogpilot_toggles.acceleration_profile == 1: - self.max_accel = get_max_accel_eco(v_ego) + self.max_accel = get_max_accel_eco(v_ego, ev_tuning) elif frogpilot_toggles.acceleration_profile == 2: - self.max_accel = get_max_accel_sport(v_ego) + self.max_accel = get_max_accel_sport(v_ego, ev_tuning) elif frogpilot_toggles.acceleration_profile == 3: self.max_accel = get_max_allowed_accel(v_ego) else: diff --git a/frogpilot/ui/qt/offroad/longitudinal_settings.cc b/frogpilot/ui/qt/offroad/longitudinal_settings.cc index eca9c4464..c22ea10fa 100644 --- a/frogpilot/ui/qt/offroad/longitudinal_settings.cc +++ b/frogpilot/ui/qt/offroad/longitudinal_settings.cc @@ -98,6 +98,11 @@ FrogPilotLongitudinalPanel::FrogPilotLongitudinalPanel( "fine-tune how openpilot drives."), "../../frogpilot/assets/toggle_icons/" "icon_advanced_longitudinal_tune.png"}, + {"EVTuning", tr("EV Tuning"), + tr("Use acceleration profiles tuned for EVs. Defaults to the " + "vehicle's detected powertrain type but can be overridden if the " + "automatic choice doesn't match."), + ""}, {"LongitudinalActuatorDelay", longitudinalActuatorDelay != 0 ? QString(tr("Actuator Delay (Default: %1)")) @@ -428,6 +433,11 @@ FrogPilotLongitudinalPanel::FrogPilotLongitudinalPanel( {"MaxDesiredAcceleration", tr("Maximum Acceleration"), tr("Limit the strongest acceleration openpilot can command."), ""}, + {"TrailerLoad", tr("Trailer Load"), + tr("Increase the vehicle mass to account for towing. Adjust " + "in 500 lb steps up to 15,000 lbs to fine-tune gas and brake " + "behavior when pulling a trailer."), + ""}, {"TacoTune", tr("\"Taco Bell Run\" Turn Speed Hack"), tr("The turn-speed hack from comma's 2022 \"Taco Bell Run\". " "Designed to slow down for left and right turns."), @@ -871,6 +881,10 @@ FrogPilotLongitudinalPanel::FrogPilotLongitudinalPanel( longitudinalToggle = new FrogPilotParamValueControl( param, title, desc, icon, 0.1, 4.0, tr(" m/s²"), std::map(), 0.1); + } else if (param == "TrailerLoad") { + longitudinalToggle = new FrogPilotParamValueControl( + param, title, desc, icon, 0, 15000, tr(" lbs"), + std::map(), 500); } else if (param == "QOLLongitudinal") { FrogPilotManageControl *qolLongitudinalToggle = diff --git a/frogpilot/ui/qt/offroad/longitudinal_settings.h b/frogpilot/ui/qt/offroad/longitudinal_settings.h index e7226c5a1..e6f9122ab 100644 --- a/frogpilot/ui/qt/offroad/longitudinal_settings.h +++ b/frogpilot/ui/qt/offroad/longitudinal_settings.h @@ -40,12 +40,12 @@ private: std::map toggles; - QSet advancedLongitudinalTuneKeys = {"LongitudinalActuatorDelay", "StartAccel", "StopAccel", "StoppingDecelRate", "VEgoStarting", "VEgoStopping"}; + QSet advancedLongitudinalTuneKeys = {"EVTuning", "LongitudinalActuatorDelay", "StartAccel", "StopAccel", "StoppingDecelRate", "VEgoStarting", "VEgoStopping"}; QSet aggressivePersonalityKeys = {"AggressiveFollow", "AggressiveFollowHigh", "AggressiveJerkAcceleration", "AggressiveJerkDeceleration", "AggressiveJerkDanger", "AggressiveJerkSpeed", "AggressiveJerkSpeedDecrease", "ResetAggressivePersonality"}; QSet conditionalExperimentalKeys = {"CESpeed", "CESpeedLead", "CECurves", "CELead", "CEModelStopTime", "CENavigation", "CESignalSpeed", "ShowCEMStatus"}; QSet curveSpeedKeys = {"CalibratedLateralAcceleration", "CalibrationProgress", "ResetCurveData", "ShowCSCStatus"}; QSet customDrivingPersonalityKeys = {"AggressivePersonalityProfile", "RelaxedPersonalityProfile", "StandardPersonalityProfile", "TrafficPersonalityProfile"}; - QSet longitudinalTuneKeys = {"AccelerationProfile", "DecelerationProfile", "HumanAcceleration", "HumanFollowing", "LeadDetectionThreshold", "MaxDesiredAcceleration", "TacoTune"}; + QSet longitudinalTuneKeys = {"AccelerationProfile", "DecelerationProfile", "HumanAcceleration", "HumanFollowing", "LeadDetectionThreshold", "MaxDesiredAcceleration", "TrailerLoad", "TacoTune"}; QSet qolKeys = {"CustomCruise", "CustomCruiseLong", "ForceStops", "IncreasedStoppedDistance", "MapGears", "ReverseCruise", "SetSpeedOffset"}; QSet relaxedPersonalityKeys = {"RelaxedFollow", "RelaxedFollowHigh", "RelaxedJerkAcceleration", "RelaxedJerkDeceleration", "RelaxedJerkDanger", "RelaxedJerkSpeed", "RelaxedJerkSpeedDecrease", "ResetRelaxedPersonality"}; QSet speedLimitControllerKeys = {"SLCOffsets", "SLCFallback", "SLCOverride", "SLCPriority", "SLCQOL", "SLCVisuals"}; diff --git a/selfdrive/car/interfaces.py b/selfdrive/car/interfaces.py index c0100c538..623b23526 100644 --- a/selfdrive/car/interfaces.py +++ b/selfdrive/car/interfaces.py @@ -152,8 +152,11 @@ class CarInterfaceBase(ABC): ret = cls._get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs, frogpilot_toggles) + trailer_load_kg = getattr(frogpilot_toggles, "trailer_load_kg", 0) + # Vehicle mass is published curb weight plus assumed payload such as a human driver; notCars have no assumed payload if not ret.notCar: + ret.mass = ret.mass + trailer_load_kg ret.mass = ret.mass + STD_CARGO_KG # Set params dependent on values set by the car interface diff --git a/selfdrive/ui/_spinner b/selfdrive/ui/_spinner index b90ed6afe..5ab0079c1 100755 Binary files a/selfdrive/ui/_spinner and b/selfdrive/ui/_spinner differ diff --git a/selfdrive/ui/_text b/selfdrive/ui/_text index 4335cd466..400d38c6f 100755 Binary files a/selfdrive/ui/_text and b/selfdrive/ui/_text differ diff --git a/selfdrive/ui/translations/main_ar.ts b/selfdrive/ui/translations/main_ar.ts index e26e5691e..77ef4ce9b 100644 --- a/selfdrive/ui/translations/main_ar.ts +++ b/selfdrive/ui/translations/main_ar.ts @@ -2110,6 +2110,14 @@ <b>Following behavior that mimics human drivers</b> by closing gaps behind faster vehicles for quicker takeoffs and dynamically adjusting the desired following distance for gentler, more efficient braking. <b>سلوك متابعة يحاكي السائقين البشر</b> عبر تقليل الفجوات خلف المركبات الأسرع لانطلاق أسرع وضبط مسافة المتابعة المطلوبة ديناميكياً لكبح ألطف وأكثر كفاءة. + + EV Tuning + + + + <b>Use acceleration profiles tuned for EVs.</b> Defaults to the vehicle's detected powertrain type but can be overridden if the automatic choice doesn't match. + + High Speed Following Distance @@ -2126,6 +2134,18 @@ <b>How many seconds openpilot follows behind lead vehicles when using the "Relaxed" profile at high speeds.</b> Increase for more space; decrease for tighter gaps.<br><br>Default: 1.75 seconds. + + Trailer Load + + + + <b>Increase the vehicle mass to account for towing.</b> Adjust in 500 lb steps up to 15,000 lbs to fine-tune gas and brake behavior when pulling a trailer. + + + + lbs + + FrogPilotManageControl diff --git a/selfdrive/ui/translations/main_caveman.ts b/selfdrive/ui/translations/main_caveman.ts index ddb6a9bdd..99fdd93a1 100644 --- a/selfdrive/ui/translations/main_caveman.ts +++ b/selfdrive/ui/translations/main_caveman.ts @@ -2112,6 +2112,14 @@ <b>Following behavior that mimics human drivers</b> by closing gaps behind faster vehicles for quicker takeoffs and dynamically adjusting the desired following distance for gentler, more efficient braking. <b>Make car follow like human</b>. Close gap behind fast car for quick takeoff. Change follow distance on the fly for soft, smart brake. + + EV Tuning + + + + <b>Use acceleration profiles tuned for EVs.</b> Defaults to the vehicle's detected powertrain type but can be overridden if the automatic choice doesn't match. + + High Speed Following Distance @@ -2128,6 +2136,18 @@ <b>How many seconds openpilot follows behind lead vehicles when using the "Relaxed" profile at high speeds.</b> Increase for more space; decrease for tighter gaps.<br><br>Default: 1.75 seconds. + + Trailer Load + + + + <b>Increase the vehicle mass to account for towing.</b> Adjust in 500 lb steps up to 15,000 lbs to fine-tune gas and brake behavior when pulling a trailer. + + + + lbs + + FrogPilotManageControl diff --git a/selfdrive/ui/translations/main_de.ts b/selfdrive/ui/translations/main_de.ts index 33badfcb3..2921f572f 100644 --- a/selfdrive/ui/translations/main_de.ts +++ b/selfdrive/ui/translations/main_de.ts @@ -2110,6 +2110,14 @@ <b>Following behavior that mimics human drivers</b> by closing gaps behind faster vehicles for quicker takeoffs and dynamically adjusting the desired following distance for gentler, more efficient braking. <b>Dem Fahrverhalten menschlicher Fahrer nachempfunden</b>, indem Lücken hinter schnelleren Fahrzeugen geschlossen werden, um schneller anzufahren, und der gewünschte Folgeabstand dynamisch angepasst wird, um sanfteres und effizienteres Bremsen zu ermöglichen. + + EV Tuning + + + + <b>Use acceleration profiles tuned for EVs.</b> Defaults to the vehicle's detected powertrain type but can be overridden if the automatic choice doesn't match. + + High Speed Following Distance @@ -2126,6 +2134,18 @@ <b>How many seconds openpilot follows behind lead vehicles when using the "Relaxed" profile at high speeds.</b> Increase for more space; decrease for tighter gaps.<br><br>Default: 1.75 seconds. + + Trailer Load + + + + <b>Increase the vehicle mass to account for towing.</b> Adjust in 500 lb steps up to 15,000 lbs to fine-tune gas and brake behavior when pulling a trailer. + + + + lbs + + FrogPilotManageControl diff --git a/selfdrive/ui/translations/main_duck.ts b/selfdrive/ui/translations/main_duck.ts index 8e2396150..738370b32 100644 --- a/selfdrive/ui/translations/main_duck.ts +++ b/selfdrive/ui/translations/main_duck.ts @@ -2112,6 +2112,14 @@ <b>Following behavior that mimics human drivers</b> by closing gaps behind faster vehicles for quicker takeoffs and dynamically adjusting the desired following distance for gentler, more efficient braking. <b>Quack! Mimic human drivers</b> by waddling up to close gaps behind faster cars for zippy takeoffs, and duckily tweak the following distance for smoother, more efficient braking. + + EV Tuning + + + + <b>Use acceleration profiles tuned for EVs.</b> Defaults to the vehicle's detected powertrain type but can be overridden if the automatic choice doesn't match. + + High Speed Following Distance @@ -2128,6 +2136,18 @@ <b>How many seconds openpilot follows behind lead vehicles when using the "Relaxed" profile at high speeds.</b> Increase for more space; decrease for tighter gaps.<br><br>Default: 1.75 seconds. + + Trailer Load + + + + <b>Increase the vehicle mass to account for towing.</b> Adjust in 500 lb steps up to 15,000 lbs to fine-tune gas and brake behavior when pulling a trailer. + + + + lbs + + FrogPilotManageControl diff --git a/selfdrive/ui/translations/main_es.ts b/selfdrive/ui/translations/main_es.ts index 60c63bfc2..47c4f54a2 100644 --- a/selfdrive/ui/translations/main_es.ts +++ b/selfdrive/ui/translations/main_es.ts @@ -2110,6 +2110,14 @@ <b>Following behavior that mimics human drivers</b> by closing gaps behind faster vehicles for quicker takeoffs and dynamically adjusting the desired following distance for gentler, more efficient braking. <b>Comportamiento de seguimiento que imita a los conductores humanos</b> cerrando huecos detrás de vehículos más rápidos para salidas más rápidas y ajustando dinámicamente la distancia de seguimiento deseada para un frenado más suave y eficiente. + + EV Tuning + + + + <b>Use acceleration profiles tuned for EVs.</b> Defaults to the vehicle's detected powertrain type but can be overridden if the automatic choice doesn't match. + + High Speed Following Distance @@ -2126,6 +2134,18 @@ <b>How many seconds openpilot follows behind lead vehicles when using the "Relaxed" profile at high speeds.</b> Increase for more space; decrease for tighter gaps.<br><br>Default: 1.75 seconds. + + Trailer Load + + + + <b>Increase the vehicle mass to account for towing.</b> Adjust in 500 lb steps up to 15,000 lbs to fine-tune gas and brake behavior when pulling a trailer. + + + + lbs + + FrogPilotManageControl diff --git a/selfdrive/ui/translations/main_fr.ts b/selfdrive/ui/translations/main_fr.ts index 1563b4bc3..430219414 100644 --- a/selfdrive/ui/translations/main_fr.ts +++ b/selfdrive/ui/translations/main_fr.ts @@ -2110,6 +2110,14 @@ <b>Following behavior that mimics human drivers</b> by closing gaps behind faster vehicles for quicker takeoffs and dynamically adjusting the desired following distance for gentler, more efficient braking. <b>Un comportement de suivi qui imite les conducteurs humains</b> en réduisant les écarts derrière les véhicules plus rapides pour des départs plus rapides et en ajustant dynamiquement la distance de suivi souhaitée pour un freinage plus doux et plus efficace. + + EV Tuning + + + + <b>Use acceleration profiles tuned for EVs.</b> Defaults to the vehicle's detected powertrain type but can be overridden if the automatic choice doesn't match. + + High Speed Following Distance @@ -2126,6 +2134,18 @@ <b>How many seconds openpilot follows behind lead vehicles when using the "Relaxed" profile at high speeds.</b> Increase for more space; decrease for tighter gaps.<br><br>Default: 1.75 seconds. + + Trailer Load + + + + <b>Increase the vehicle mass to account for towing.</b> Adjust in 500 lb steps up to 15,000 lbs to fine-tune gas and brake behavior when pulling a trailer. + + + + lbs + + FrogPilotManageControl diff --git a/selfdrive/ui/translations/main_frog.ts b/selfdrive/ui/translations/main_frog.ts index 62aad4aa4..12f3985a1 100644 --- a/selfdrive/ui/translations/main_frog.ts +++ b/selfdrive/ui/translations/main_frog.ts @@ -2110,6 +2110,14 @@ <b>Following behavior that mimics human drivers</b> by closing gaps behind faster vehicles for quicker takeoffs and dynamically adjusting the desired following distance for gentler, more efficient braking. <b>Croaky follow like humans</b>, ribbit! Hop to close gaps behind faster cars for quick takeoffs, and croak-adjust the follow distance for gentler, thriftier braking. + + EV Tuning + + + + <b>Use acceleration profiles tuned for EVs.</b> Defaults to the vehicle's detected powertrain type but can be overridden if the automatic choice doesn't match. + + High Speed Following Distance @@ -2126,6 +2134,18 @@ <b>How many seconds openpilot follows behind lead vehicles when using the "Relaxed" profile at high speeds.</b> Increase for more space; decrease for tighter gaps.<br><br>Default: 1.75 seconds. + + Trailer Load + + + + <b>Increase the vehicle mass to account for towing.</b> Adjust in 500 lb steps up to 15,000 lbs to fine-tune gas and brake behavior when pulling a trailer. + + + + lbs + + FrogPilotManageControl diff --git a/selfdrive/ui/translations/main_ja.ts b/selfdrive/ui/translations/main_ja.ts index a2d13888e..558ec332d 100644 --- a/selfdrive/ui/translations/main_ja.ts +++ b/selfdrive/ui/translations/main_ja.ts @@ -2110,6 +2110,14 @@ <b>Following behavior that mimics human drivers</b> by closing gaps behind faster vehicles for quicker takeoffs and dynamically adjusting the desired following distance for gentler, more efficient braking. <b>人間のドライバーを模倣する追従挙動</b>。より速い車両の後方で車間を詰めて発進を素早くし、望ましい追従距離を動的に調整して、より穏やかで効率的な減速を実現します。 + + EV Tuning + + + + <b>Use acceleration profiles tuned for EVs.</b> Defaults to the vehicle's detected powertrain type but can be overridden if the automatic choice doesn't match. + + High Speed Following Distance @@ -2126,6 +2134,18 @@ <b>How many seconds openpilot follows behind lead vehicles when using the "Relaxed" profile at high speeds.</b> Increase for more space; decrease for tighter gaps.<br><br>Default: 1.75 seconds. + + Trailer Load + + + + <b>Increase the vehicle mass to account for towing.</b> Adjust in 500 lb steps up to 15,000 lbs to fine-tune gas and brake behavior when pulling a trailer. + + + + lbs + + FrogPilotManageControl diff --git a/selfdrive/ui/translations/main_ko.ts b/selfdrive/ui/translations/main_ko.ts index 82f394d2d..43cc34db5 100644 --- a/selfdrive/ui/translations/main_ko.ts +++ b/selfdrive/ui/translations/main_ko.ts @@ -2110,6 +2110,14 @@ <b>Following behavior that mimics human drivers</b> by closing gaps behind faster vehicles for quicker takeoffs and dynamically adjusting the desired following distance for gentler, more efficient braking. <b>사람 운전자와 유사한 추종 동작</b>으로, 더 빠른 차량 뒤 간격을 좁혀 신속한 출발을 돕고 원하는 추종 거리를 동적으로 조절해 더욱 부드럽고 효율적인 제동을 수행합니다. + + EV Tuning + + + + <b>Use acceleration profiles tuned for EVs.</b> Defaults to the vehicle's detected powertrain type but can be overridden if the automatic choice doesn't match. + + High Speed Following Distance @@ -2126,6 +2134,18 @@ <b>How many seconds openpilot follows behind lead vehicles when using the "Relaxed" profile at high speeds.</b> Increase for more space; decrease for tighter gaps.<br><br>Default: 1.75 seconds. + + Trailer Load + + + + <b>Increase the vehicle mass to account for towing.</b> Adjust in 500 lb steps up to 15,000 lbs to fine-tune gas and brake behavior when pulling a trailer. + + + + lbs + + FrogPilotManageControl diff --git a/selfdrive/ui/translations/main_pirate.ts b/selfdrive/ui/translations/main_pirate.ts index f54d4d058..5560f7304 100644 --- a/selfdrive/ui/translations/main_pirate.ts +++ b/selfdrive/ui/translations/main_pirate.ts @@ -2110,6 +2110,14 @@ <b>Following behavior that mimics human drivers</b> by closing gaps behind faster vehicles for quicker takeoffs and dynamically adjusting the desired following distance for gentler, more efficient braking. <b>Behavin’ like real hands at the wheel</b> by closin’ gaps astern o’ swifter wagons fer quicker shove-offs, an’ smartly trimmin’ the wanted followin’ distance fer gentler, more shipshape brak’n. + + EV Tuning + + + + <b>Use acceleration profiles tuned for EVs.</b> Defaults to the vehicle's detected powertrain type but can be overridden if the automatic choice doesn't match. + + High Speed Following Distance @@ -2126,6 +2134,18 @@ <b>How many seconds openpilot follows behind lead vehicles when using the "Relaxed" profile at high speeds.</b> Increase for more space; decrease for tighter gaps.<br><br>Default: 1.75 seconds. + + Trailer Load + + + + <b>Increase the vehicle mass to account for towing.</b> Adjust in 500 lb steps up to 15,000 lbs to fine-tune gas and brake behavior when pulling a trailer. + + + + lbs + + FrogPilotManageControl diff --git a/selfdrive/ui/translations/main_pt-BR.ts b/selfdrive/ui/translations/main_pt-BR.ts index cfd635a3d..8a5c7aad2 100644 --- a/selfdrive/ui/translations/main_pt-BR.ts +++ b/selfdrive/ui/translations/main_pt-BR.ts @@ -2110,6 +2110,14 @@ <b>Following behavior that mimics human drivers</b> by closing gaps behind faster vehicles for quicker takeoffs and dynamically adjusting the desired following distance for gentler, more efficient braking. <b>Comportamento de acompanhamento que imita motoristas humanos</b> ao fechar lacunas atrás de veículos mais rápidos para arrancadas mais rápidas e ajustar dinamicamente a distância de seguimento desejada para frenagens mais suaves e eficientes. + + EV Tuning + + + + <b>Use acceleration profiles tuned for EVs.</b> Defaults to the vehicle's detected powertrain type but can be overridden if the automatic choice doesn't match. + + High Speed Following Distance @@ -2126,6 +2134,18 @@ <b>How many seconds openpilot follows behind lead vehicles when using the "Relaxed" profile at high speeds.</b> Increase for more space; decrease for tighter gaps.<br><br>Default: 1.75 seconds. + + Trailer Load + + + + <b>Increase the vehicle mass to account for towing.</b> Adjust in 500 lb steps up to 15,000 lbs to fine-tune gas and brake behavior when pulling a trailer. + + + + lbs + + FrogPilotManageControl diff --git a/selfdrive/ui/translations/main_shakespearean.ts b/selfdrive/ui/translations/main_shakespearean.ts index 415394d8c..410f1c88a 100644 --- a/selfdrive/ui/translations/main_shakespearean.ts +++ b/selfdrive/ui/translations/main_shakespearean.ts @@ -2116,6 +2116,14 @@ <b>Following behavior that mimics human drivers</b> by closing gaps behind faster vehicles for quicker takeoffs and dynamically adjusting the desired following distance for gentler, more efficient braking. <b>Following comportment that doth mirror mortal coachmen</b> by narrowing gaps behind swifter chariots for hastier set-offs and by dynamically tuning the desired following distance for gentler, more thrifty braking. + + EV Tuning + + + + <b>Use acceleration profiles tuned for EVs.</b> Defaults to the vehicle's detected powertrain type but can be overridden if the automatic choice doesn't match. + + High Speed Following Distance @@ -2132,6 +2140,18 @@ <b>How many seconds openpilot follows behind lead vehicles when using the "Relaxed" profile at high speeds.</b> Increase for more space; decrease for tighter gaps.<br><br>Default: 1.75 seconds. + + Trailer Load + + + + <b>Increase the vehicle mass to account for towing.</b> Adjust in 500 lb steps up to 15,000 lbs to fine-tune gas and brake behavior when pulling a trailer. + + + + lbs + + FrogPilotManageControl diff --git a/selfdrive/ui/translations/main_th.ts b/selfdrive/ui/translations/main_th.ts index 53d74a5f9..59fa51b4f 100644 --- a/selfdrive/ui/translations/main_th.ts +++ b/selfdrive/ui/translations/main_th.ts @@ -2110,6 +2110,14 @@ <b>Following behavior that mimics human drivers</b> by closing gaps behind faster vehicles for quicker takeoffs and dynamically adjusting the desired following distance for gentler, more efficient braking. <b>พฤติกรรมการตามที่เลียนแบบผู้ขับขี่มนุษย์</b> โดยปิดช่องว่างด้านหลังรถที่เร็วกว่าเพื่อออกตัวได้เร็วขึ้น และปรับระยะห่างที่ต้องการแบบไดนามิกเพื่อการเบรกที่นุ่มนวลและมีประสิทธิภาพมากขึ้น + + EV Tuning + + + + <b>Use acceleration profiles tuned for EVs.</b> Defaults to the vehicle's detected powertrain type but can be overridden if the automatic choice doesn't match. + + High Speed Following Distance @@ -2126,6 +2134,18 @@ <b>How many seconds openpilot follows behind lead vehicles when using the "Relaxed" profile at high speeds.</b> Increase for more space; decrease for tighter gaps.<br><br>Default: 1.75 seconds. + + Trailer Load + + + + <b>Increase the vehicle mass to account for towing.</b> Adjust in 500 lb steps up to 15,000 lbs to fine-tune gas and brake behavior when pulling a trailer. + + + + lbs + + FrogPilotManageControl diff --git a/selfdrive/ui/translations/main_tr.ts b/selfdrive/ui/translations/main_tr.ts index cf4818b6e..a6745ae2f 100644 --- a/selfdrive/ui/translations/main_tr.ts +++ b/selfdrive/ui/translations/main_tr.ts @@ -2110,6 +2110,14 @@ <b>Following behavior that mimics human drivers</b> by closing gaps behind faster vehicles for quicker takeoffs and dynamically adjusting the desired following distance for gentler, more efficient braking. <b>İnsan sürücüleri taklit eden takip davranışı</b>: Daha hızlı araçların arkasındaki boşlukları kapatarak daha hızlı kalkışlar ve daha yumuşak, daha verimli frenleme için istenen takip mesafesini dinamik olarak ayarlama. + + EV Tuning + + + + <b>Use acceleration profiles tuned for EVs.</b> Defaults to the vehicle's detected powertrain type but can be overridden if the automatic choice doesn't match. + + High Speed Following Distance @@ -2126,6 +2134,18 @@ <b>How many seconds openpilot follows behind lead vehicles when using the "Relaxed" profile at high speeds.</b> Increase for more space; decrease for tighter gaps.<br><br>Default: 1.75 seconds. + + Trailer Load + + + + <b>Increase the vehicle mass to account for towing.</b> Adjust in 500 lb steps up to 15,000 lbs to fine-tune gas and brake behavior when pulling a trailer. + + + + lbs + + FrogPilotManageControl diff --git a/selfdrive/ui/translations/main_zh-CHS.ts b/selfdrive/ui/translations/main_zh-CHS.ts index dac49d3de..622292757 100644 --- a/selfdrive/ui/translations/main_zh-CHS.ts +++ b/selfdrive/ui/translations/main_zh-CHS.ts @@ -2110,6 +2110,14 @@ <b>Following behavior that mimics human drivers</b> by closing gaps behind faster vehicles for quicker takeoffs and dynamically adjusting the desired following distance for gentler, more efficient braking. <b>模仿人类驾驶员的跟车行为</b>,通过在更快车辆后方缩小车距以更快起步,并动态调整期望跟车距离,以实现更平顺、更高效的制动。 + + EV Tuning + + + + <b>Use acceleration profiles tuned for EVs.</b> Defaults to the vehicle's detected powertrain type but can be overridden if the automatic choice doesn't match. + + High Speed Following Distance @@ -2126,6 +2134,18 @@ <b>How many seconds openpilot follows behind lead vehicles when using the "Relaxed" profile at high speeds.</b> Increase for more space; decrease for tighter gaps.<br><br>Default: 1.75 seconds. + + Trailer Load + + + + <b>Increase the vehicle mass to account for towing.</b> Adjust in 500 lb steps up to 15,000 lbs to fine-tune gas and brake behavior when pulling a trailer. + + + + lbs + + FrogPilotManageControl diff --git a/selfdrive/ui/translations/main_zh-CHT.ts b/selfdrive/ui/translations/main_zh-CHT.ts index fdb3d9fdb..277966a36 100644 --- a/selfdrive/ui/translations/main_zh-CHT.ts +++ b/selfdrive/ui/translations/main_zh-CHT.ts @@ -2110,6 +2110,14 @@ <b>Following behavior that mimics human drivers</b> by closing gaps behind faster vehicles for quicker takeoffs and dynamically adjusting the desired following distance for gentler, more efficient braking. <b>模仿人類駕駛的跟車行為</b>,在後方有更快車輛時縮小間距以更快起步,並動態調整期望跟車距離,以實現更柔順且更高效的制動。 + + EV Tuning + + + + <b>Use acceleration profiles tuned for EVs.</b> Defaults to the vehicle's detected powertrain type but can be overridden if the automatic choice doesn't match. + + High Speed Following Distance @@ -2126,6 +2134,18 @@ <b>How many seconds openpilot follows behind lead vehicles when using the "Relaxed" profile at high speeds.</b> Increase for more space; decrease for tighter gaps.<br><br>Default: 1.75 seconds. + + Trailer Load + + + + <b>Increase the vehicle mass to account for towing.</b> Adjust in 500 lb steps up to 15,000 lbs to fine-tune gas and brake behavior when pulling a trailer. + + + + lbs + + FrogPilotManageControl diff --git a/selfdrive/ui/ui b/selfdrive/ui/ui index 5897740fc..992f19931 100755 Binary files a/selfdrive/ui/ui and b/selfdrive/ui/ui differ