Compare commits

..

11 Commits

Author SHA1 Message Date
DevTekVE bfc9ae2d2f Re enable sentry and swaglog handler for device metadata & crash information 2025-09-02 16:07:41 +02:00
DevTekVE acc519daf2 Revert "bump more panda"
This reverts commit a9f2f54bcc.
2024-12-08 17:02:09 +01:00
DevTekVE a9f2f54bcc bump more panda 2024-12-08 16:54:34 +01:00
Kumar fa9234afa0 ui: Fix Night Brightness (#33984) 2024-11-16 12:00:39 -07:00
rav4kumar 6b789c3380 update change log 2024-09-29 17:35:57 -07:00
Kumar fd4d4eec0d Toyota: drive mode selector (#437)
drive mode selector
2024-09-29 17:27:25 -07:00
Kumar c1107924ae CTV 2.0: GlideTech (#436)
smooth, effortless movement
2024-09-29 17:14:17 -07:00
Kumar aa34714b42 ui: refactor rocket ui (#435)
rockettttt
2024-09-28 19:14:48 -07:00
Kumar 674670dfa7 dec v 2.0 (#434)
* dec update

* date
2024-09-28 19:08:02 -07:00
Kumar 9feffca58a new api: human like long control v1.1 (#414)
* lowspeed

* slight increase
2024-08-19 21:03:20 -07:00
rav4kumar a4faa41331 return: human api 2024-08-15 05:26:06 -07:00
35 changed files with 251 additions and 954 deletions
+10 -6
View File
@@ -5,9 +5,16 @@ sunnypilot - 0.9.8.0 (2024-xx-xx)
* UPDATED: Synced with commaai's openpilot * UPDATED: Synced with commaai's openpilot
* master commit 4ef757c (July 06, 2024) * master commit 4ef757c (July 06, 2024)
* NEW❗: Default Driving Model: Notre Dame (July 01, 2024) * NEW❗: Default Driving Model: Notre Dame (July 01, 2024)
* NEW❗: Longitudinal: Acceleration Personality thanks to kegman, rav4kumar, and arne1282! * NEW❗: Longitudinal: Acceleration Personality thanks to kegman, rav4kumar, and arne1282! (CTV 2.0: GlideTech)
* Select from three distinct acceleration personalities: Eco, Normal, and Sport * Select from three distinct acceleration personalities: Eco, Normal, and Sport
* Acceleration personalities are integrated directly into the model's acceleration matrix and can be activated in real-time! * Acceleration personalities are integrated directly into the model's acceleration matrix and can be activated in real-time!
* NEW❗: Toyota - Drive Mode Selector
* When enabled you can control acceleration personality just with press of button!
* UPDATED: Dynamic Experimental Control
* Switched to weighted moving averages to enhance responsiveness to recent data.
* Goal is to improve real-time detection accuracy in dynamic conditions.
* Capable of handling the increased complexity that comes with this approach.
* Particularly beneficial in environments where recent changes are critical to performance.
* NEW❗: Longitudinal: Dynamic Personality thanks to rav4kumar! * NEW❗: Longitudinal: Dynamic Personality thanks to rav4kumar!
* Dynamically adjusts following distance and reaction based on your "Driving Personality" setting * Dynamically adjusts following distance and reaction based on your "Driving Personality" setting
* Personalities adapt in real-time to your speed and the distance to the lead car * Personalities adapt in real-time to your speed and the distance to the lead car
@@ -26,8 +33,8 @@ sunnypilot - 0.9.8.0 (2024-xx-xx)
* Toyota TSS1/1.5, equipped with factory Blind Spot Monitoring (BSM) * Toyota TSS1/1.5, equipped with factory Blind Spot Monitoring (BSM)
* Prius TSS2, equipped with factory Blind Spot Monitoring (BSM) * Prius TSS2, equipped with factory Blind Spot Monitoring (BSM)
* NOTE: Only enable this feature if your Toyota/Lexus vehicle has factory Blind Spot Monitor equipped, and mentioned in the supported platforms list * NOTE: Only enable this feature if your Toyota/Lexus vehicle has factory Blind Spot Monitor equipped, and mentioned in the supported platforms list
* UPDATED: Toyota: TSS2 longitudinal: Custom Tuning * UPDATED: Toyota: TSS2 longitudinal: Custom Tuning (CTV 2.0: GlideTech)
* Re-tuned and tested by the community (July 1, 2024) * Re-tuned and tested by the community (September 29, 2024)
* UPDATED: Driving Model Selector v5 * UPDATED: Driving Model Selector v5
* NEW❗: Driving Model additions * NEW❗: Driving Model additions
* Notre Dame (July 01, 2024) - NDv3 * Notre Dame (July 01, 2024) - NDv3
@@ -38,9 +45,6 @@ sunnypilot - 0.9.8.0 (2024-xx-xx)
* In response to the official deprecation of support for Smart DSU (SDSU) and Radar CAN Filter in the upstream ([commaai/openpilot#32777](https://github.com/commaai/openpilot/pull/32777)), sunnypilot will continue maintaining software support for Smart DSU (SDSU) and Radar CAN Filter * In response to the official deprecation of support for Smart DSU (SDSU) and Radar CAN Filter in the upstream ([commaai/openpilot#32777](https://github.com/commaai/openpilot/pull/32777)), sunnypilot will continue maintaining software support for Smart DSU (SDSU) and Radar CAN Filter
* UPDATED: Continued support for Mapbox navigation * UPDATED: Continued support for Mapbox navigation
* In response to the official temporary deprecation of support for Mapbox navigation in the upstream ([commaai/openpilot#32773](https://github.com/commaai/openpilot/pull/32773)), sunnypilot will continue maintaining software support for Mapbox navigation * In response to the official temporary deprecation of support for Mapbox navigation in the upstream ([commaai/openpilot#32773](https://github.com/commaai/openpilot/pull/32773)), sunnypilot will continue maintaining software support for Mapbox navigation
* NEW❗: Toyota - Automatic Brake Hold (AHB) thanks to AlexandreSato!
* When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold
* NOTE: Only for Toyota/Lexus vehicles with TSS2/LSS2
* NEW❗: Toyota - Automatic Door Locking and Unlocking thanks to AlexandreSato, cydia2020, and dragonpilot-community! * NEW❗: Toyota - Automatic Door Locking and Unlocking thanks to AlexandreSato, cydia2020, and dragonpilot-community!
* Auto Lock by Speed: All doors are automatically locked when vehicle speed is approximately 6 mph (10 km/h) or higher * Auto Lock by Speed: All doors are automatically locked when vehicle speed is approximately 6 mph (10 km/h) or higher
* Auto Unlock by Shift to P: All doors are automatically unlocked when shifting the shift lever to P * Auto Unlock by Shift to P: All doors are automatically unlocked when shifting the shift lever to P
-1
View File
@@ -138,7 +138,6 @@ struct CarEvent @0x9b1657f34caf3ad3 {
speedLimitConfirmed @140; speedLimitConfirmed @140;
torqueNNLoad @141; torqueNNLoad @141;
hyundaiRadarTracksAvailable @142; hyundaiRadarTracksAvailable @142;
spAutoBrakeHold @143;
radarCanErrorDEPRECATED @15; radarCanErrorDEPRECATED @15;
communityFeatureDisallowedDEPRECATED @62; communityFeatureDisallowedDEPRECATED @62;
-1
View File
@@ -330,7 +330,6 @@ std::unordered_map<std::string, uint32_t> keys = {
{"TorqueLateralJerk", PERSISTENT | BACKUP}, {"TorqueLateralJerk", PERSISTENT | BACKUP},
{"TorqueMaxLatAccel", PERSISTENT | BACKUP}, {"TorqueMaxLatAccel", PERSISTENT | BACKUP},
{"TorquedOverride", PERSISTENT | BACKUP}, {"TorquedOverride", PERSISTENT | BACKUP},
{"ToyotaAutoHold", PERSISTENT | BACKUP},
{"ToyotaAutoLockBySpeed", PERSISTENT | BACKUP}, {"ToyotaAutoLockBySpeed", PERSISTENT | BACKUP},
{"ToyotaAutoUnlockByShifter", PERSISTENT | BACKUP}, {"ToyotaAutoUnlockByShifter", PERSISTENT | BACKUP},
{"ToyotaDriveMode", PERSISTENT | BACKUP}, {"ToyotaDriveMode", PERSISTENT | BACKUP},
+1 -1
Submodule panda updated: 827201c04a...55018eafc2
-3
View File
@@ -60,7 +60,6 @@ class Car:
self.mads_disengage_lateral_on_brake = self.params.get_bool("DisengageLateralOnBrake") self.mads_disengage_lateral_on_brake = self.params.get_bool("DisengageLateralOnBrake")
self.mads_dlob = self.enable_mads and self.mads_disengage_lateral_on_brake self.mads_dlob = self.enable_mads and self.mads_disengage_lateral_on_brake
self.mads_ndlob = self.enable_mads and not self.mads_disengage_lateral_on_brake self.mads_ndlob = self.enable_mads and not self.mads_disengage_lateral_on_brake
self.sp_toyota_auto_brake_hold = self.params.get_bool("ToyotaAutoHold")
self.CP.alternativeExperience = 0 self.CP.alternativeExperience = 0
if not self.disengage_on_accelerator: if not self.disengage_on_accelerator:
self.CP.alternativeExperience |= ALTERNATIVE_EXPERIENCE.DISABLE_DISENGAGE_ON_GAS self.CP.alternativeExperience |= ALTERNATIVE_EXPERIENCE.DISABLE_DISENGAGE_ON_GAS
@@ -68,8 +67,6 @@ class Car:
self.CP.alternativeExperience |= ALTERNATIVE_EXPERIENCE.ENABLE_MADS self.CP.alternativeExperience |= ALTERNATIVE_EXPERIENCE.ENABLE_MADS
elif self.mads_ndlob: elif self.mads_ndlob:
self.CP.alternativeExperience |= ALTERNATIVE_EXPERIENCE.MADS_DISABLE_DISENGAGE_LATERAL_ON_BRAKE self.CP.alternativeExperience |= ALTERNATIVE_EXPERIENCE.MADS_DISABLE_DISENGAGE_LATERAL_ON_BRAKE
if self.sp_toyota_auto_brake_hold:
self.CP.alternativeExperience |= ALTERNATIVE_EXPERIENCE.ALLOW_AEB
if self.CP.customStockLongAvailable and self.CP.pcmCruise and self.params.get_bool("CustomStockLong"): if self.CP.customStockLongAvailable and self.CP.pcmCruise and self.params.get_bool("CustomStockLong"):
self.CP.pcmCruiseSpeed = False self.CP.pcmCruiseSpeed = False
+1 -1
View File
@@ -126,7 +126,7 @@ class CarInterface(CarInterfaceBase):
if 0x1fa in fingerprint[CAN.ECAN]: if 0x1fa in fingerprint[CAN.ECAN]:
ret.spFlags |= HyundaiFlagsSP.SP_NAV_MSG.value ret.spFlags |= HyundaiFlagsSP.SP_NAV_MSG.value
if Params().get("DongleId", encoding='utf8') in ("012c95f06918eca4", "68d6a96e703c00c9"): if Params().get("DongleId", encoding='utf8') in ("012c95f06918eca4", "68d6a96e703c00c9", "11c1f1909ca37bca"):
ret.spFlags |= HyundaiFlagsSP.SP_UPSTREAM_TACO.value ret.spFlags |= HyundaiFlagsSP.SP_UPSTREAM_TACO.value
else: else:
ret.enableBsm = 0x58b in fingerprint[0] ret.enableBsm = 0x58b in fingerprint[0]
+1 -74
View File
@@ -1,7 +1,4 @@
from cereal import car from cereal import car
import math
from openpilot.common.params import Params
from openpilot.selfdrive.controls.lib.pid import PIDController
from common.conversions import Conversions as CV from common.conversions import Conversions as CV
from openpilot.common.numpy_fast import clip, interp from openpilot.common.numpy_fast import clip, interp
from openpilot.selfdrive.car import apply_meas_steer_torque_limits, apply_std_steer_angle_limits, common_fault_avoidance, make_can_msg, make_tester_present_msg, \ from openpilot.selfdrive.car import apply_meas_steer_torque_limits, apply_std_steer_angle_limits, common_fault_avoidance, make_can_msg, make_tester_present_msg, \
@@ -16,7 +13,6 @@ from opendbc.can.packer import CANPacker
GearShifter = car.CarState.GearShifter GearShifter = car.CarState.GearShifter
SteerControlType = car.CarParams.SteerControlType SteerControlType = car.CarParams.SteerControlType
VisualAlert = car.CarControl.HUDControl.VisualAlert VisualAlert = car.CarControl.HUDControl.VisualAlert
#LongCtrlState = car.CarControl.Actuators.LongControlState
# LKA limits # LKA limits
# EPS faults if you apply torque while the steering rate is above 100 deg/s for too long # EPS faults if you apply torque while the steering rate is above 100 deg/s for too long
@@ -48,11 +44,8 @@ class CarController(CarControllerBase):
self.last_standstill = False self.last_standstill = False
self.standstill_req = False self.standstill_req = False
self.steer_rate_counter = 0 self.steer_rate_counter = 0
#self.pcm_accel_comp = 0
self.distance_button = 0 self.distance_button = 0
#self.pid = PIDController(k_p=1.0, k_i=0.25, k_f=0)
self.packer = CANPacker(dbc_name) self.packer = CANPacker(dbc_name)
self.gas = 0 self.gas = 0
self.accel = 0 self.accel = 0
@@ -62,13 +55,6 @@ class CarController(CarControllerBase):
self.last_blindspot_frame = 0 self.last_blindspot_frame = 0
self._auto_lock_speed = 0.0 self._auto_lock_speed = 0.0
if CP.spFlags & ToyotaFlagsSP.SP_AUTO_BRAKE_HOLD:
self.brake_hold_active: bool = False
self._brake_hold_counter: int = 0
self._brake_hold_reset: bool = False
self._prev_brake_pressed: bool = False
self._auto_lock_once = False self._auto_lock_once = False
self._gear_prev = GearShifter.park self._gear_prev = GearShifter.park
@@ -147,41 +133,6 @@ class CarController(CarControllerBase):
lta_active, self.frame // 2, torque_wind_down)) lta_active, self.frame // 2, torque_wind_down))
# *** gas and brake *** # *** gas and brake ***
sp_tss2_long_tune = Params().get_bool("ToyotaTSS2Long")
# When sp_tss2_long_tune is True and CC.longActive
#if sp_tss2_long_tune:
# we will throw out PCM's compensations, but that may be a good thing. for example:
# we lose things like pitch compensation, gas to maintain speed, brake to compensate for creeping, etc.
# but also remove undesirable "snap to standstill" behavior when not requesting enough accel at low speeds,
# lag to start moving, lag to start braking, etc.
# PI should compensate for lack of the desirable behaviors, but might be worse than the PCM doing them
# FIXME? neutral force will only be positive under ~5 mph, which messes up stopping control considerably
# not sure why this isn't captured in the PCM accel net, maybe that just ignores creep force + high speed deceleration
# it also doesn't seem to capture slightly more braking on downhills (VSC1S07->ASLP (pitch, deg.) might have some clues)
# offset = min(CS.pcm_neutral_force / self.CP.mass, 0.0)
# pitch_offset = math.sin(math.radians(CS.vsc_slope_angle)) * 9.81 # downhill is negative
# TODO: these limits are too slow to prevent a jerk when engaging, ramp down on engage?
# self.pcm_accel_comp = clip(actuators.accel - CS.pcm_accel_net, self.pcm_accel_comp - 0.05, self.pcm_accel_comp + 0.05)
# pcm_accel_comp = self.pid.update(actuators.accel - CS.pcm_calc_accel_net)
# self.pcm_accel_comp = clip(pcm_accel_comp, self.pcm_accel_comp - 0.005, self.pcm_accel_comp + 0.005)
# if CS.out.cruiseState.standstill or actuators.longControlState == LongCtrlState.stopping:
# self.pcm_accel_comp = 0.0
# self.pid.reset()
# pcm_accel_cmd = actuators.accel + self.pcm_accel_comp # + offset
# pcm_accel_cmd = actuators.accel - pitch_offset
# if not CC.longActive:
# self.pid.reset()
# self.pcm_accel_comp = 0.0
# pcm_accel_cmd = 0.0
# pcm_accel_cmd = clip(pcm_accel_cmd, self.params.ACCEL_MIN, self.params.ACCEL_MAX)
#else:
# pcm_accel_cmd = clip(actuators.accel, self.params.ACCEL_MIN, self.params.ACCEL_MAX)
if self.CP.enableGasInterceptorDEPRECATED and CC.longActive: if self.CP.enableGasInterceptorDEPRECATED and CC.longActive:
MAX_INTERCEPTOR_GAS = 0.5 MAX_INTERCEPTOR_GAS = 0.5
# RAV4 has very sensitive gas pedal # RAV4 has very sensitive gas pedal
@@ -198,6 +149,7 @@ class CarController(CarControllerBase):
else: else:
interceptor_gas_cmd = 0. interceptor_gas_cmd = 0.
pcm_accel_cmd = clip(actuators.accel, self.params.ACCEL_MIN, self.params.ACCEL_MAX) pcm_accel_cmd = clip(actuators.accel, self.params.ACCEL_MIN, self.params.ACCEL_MAX)
# TODO: probably can delete this. CS.pcm_acc_status uses a different signal # TODO: probably can delete this. CS.pcm_acc_status uses a different signal
# than CS.cruiseState.enabled. confirm they're not meaningfully different # than CS.cruiseState.enabled. confirm they're not meaningfully different
if not (CC.enabled and CS.out.cruiseState.enabled) and CS.pcm_acc_status: if not (CC.enabled and CS.out.cruiseState.enabled) and CS.pcm_acc_status:
@@ -216,9 +168,6 @@ class CarController(CarControllerBase):
self.last_standstill = CS.out.standstill self.last_standstill = CS.out.standstill
if self.CP.spFlags & ToyotaFlagsSP.SP_AUTO_BRAKE_HOLD:
can_sends.extend(self.create_auto_brake_hold_messages(CS))
# handle UI messages # handle UI messages
fcw_alert = hud_control.visualAlert == VisualAlert.fcw fcw_alert = hud_control.visualAlert == VisualAlert.fcw
steer_alert = hud_control.visualAlert in (VisualAlert.steerRequired, VisualAlert.ldw) steer_alert = hud_control.visualAlert in (VisualAlert.steerRequired, VisualAlert.ldw)
@@ -337,25 +286,3 @@ class CarController(CarControllerBase):
# print("bsm poll right") # print("bsm poll right")
return can_sends return can_sends
# auto brake hold (https://github.com/AlexandreSato/)
def create_auto_brake_hold_messages(self, CS: car.CarState, brake_hold_allowed_timer: int = 100):
can_sends = []
disallowed_gears = [GearShifter.park, GearShifter.reverse]
brake_hold_allowed = CS.out.standstill and CS.out.cruiseState.available and not CS.out.gasPressed and \
not CS.out.cruiseState.enabled and (CS.out.gearShifter not in disallowed_gears)
if brake_hold_allowed:
self._brake_hold_counter += 1
self.brake_hold_active = self._brake_hold_counter > brake_hold_allowed_timer and not self._brake_hold_reset
self._brake_hold_reset = not self._prev_brake_pressed and CS.out.brakePressed and not self._brake_hold_reset
else:
self._brake_hold_counter = 0
self.brake_hold_active = False
self._brake_hold_reset = False
self._prev_brake_pressed = CS.out.brakePressed
if self.frame % 2 == 0:
can_sends.append(toyotacan.create_brake_hold_command(self.packer, self.frame, CS.pre_collision_2, self.brake_hold_active))
return can_sends
-27
View File
@@ -57,11 +57,6 @@ class CarState(CarStateBase):
self.low_speed_lockout = False self.low_speed_lockout = False
self.acc_type = 1 self.acc_type = 1
self.lkas_hud = {} self.lkas_hud = {}
#self.pcm_accel_net = 0.0
#self.pcm_true_accel_net = 0.0
#self.pcm_calc_accel_net = 0.0
#self.pcm_neutral_force = 0.0
#self.vsc_slope_angle = 0.0
self.lkas_enabled = None self.lkas_enabled = None
self.prev_lkas_enabled = None self.prev_lkas_enabled = None
@@ -92,10 +87,6 @@ class CarState(CarStateBase):
self.prev_accel_profile = None self.prev_accel_profile = None
self.accel_profile_init = False self.accel_profile_init = False
self.toyota_drive_mode = Params().get_bool('ToyotaDriveMode') self.toyota_drive_mode = Params().get_bool('ToyotaDriveMode')
if CP.spFlags & ToyotaFlagsSP.SP_AUTO_BRAKE_HOLD:
self.pre_collision_2 = {}
self.frame = 0 self.frame = 0
def update(self, cp, cp_cam): def update(self, cp, cp_cam):
@@ -131,14 +122,6 @@ class CarState(CarStateBase):
ret.vEgo, ret.aEgo = self.update_speed_kf(ret.vEgoRaw) ret.vEgo, ret.aEgo = self.update_speed_kf(ret.vEgoRaw)
ret.vEgoCluster = ret.vEgo * 1.015 # minimum of all the cars ret.vEgoCluster = ret.vEgo * 1.015 # minimum of all the cars
# thought to be the gas/brake as issued by the pcm (0=coasting)
#self.pcm_accel_net = cp.vl["PCM_CRUISE"]["ACCEL_NET"] # this is only accurate for braking * 43
#self.pcm_true_accel_net = cp.vl["CLUTCH"]["TRUE_ACCEL_NET"] # this is only accurate for acceleration * 78
#self.pcm_calc_accel_net = cp.vl["GEAR_PACKET_HYBRID"]["CAR_MOVEMENT"] / 78 - cp.vl["BRAKE"]["BRAKE_PEDAL"] / 43
#self.pcm_true_accel_net = cp.vl["CLUTCH"]["TRUE_ACCEL_NET"]
#self.pcm_neutral_force = cp.vl["PCM_CRUISE"]["NEUTRAL_FORCE"]
#self.vsc_slope_angle = cp.vl["VSC1S07"]["ASLP"]
ret.standstill = abs(ret.vEgoRaw) < 1e-3 ret.standstill = abs(ret.vEgoRaw) < 1e-3
if self.CP.carFingerprint != CAR.TOYOTA_PRIUS_V: if self.CP.carFingerprint != CAR.TOYOTA_PRIUS_V:
@@ -330,9 +313,6 @@ class CarState(CarStateBase):
if self.CP.spFlags & ToyotaFlagsSP.SP_ENHANCED_BSM and self.frame > 199: if self.CP.spFlags & ToyotaFlagsSP.SP_ENHANCED_BSM and self.frame > 199:
ret.leftBlindspot, ret.rightBlindspot = self.sp_get_enhanced_bsm(cp) ret.leftBlindspot, ret.rightBlindspot = self.sp_get_enhanced_bsm(cp)
if self.CP.spFlags & ToyotaFlagsSP.SP_AUTO_BRAKE_HOLD:
self.pre_collision_2 = copy.copy(cp_cam.vl["PRE_COLLISION_2"])
self._update_traffic_signals(cp_cam) self._update_traffic_signals(cp_cam)
ret.cruiseState.speedLimit = self._calculate_speed_limit() ret.cruiseState.speedLimit = self._calculate_speed_limit()
self.frame += 1 self.frame += 1
@@ -464,16 +444,12 @@ class CarState(CarStateBase):
("BODY_CONTROL_STATE_2", 2), ("BODY_CONTROL_STATE_2", 2),
("ESP_CONTROL", 3), ("ESP_CONTROL", 3),
("EPS_STATUS", 25), ("EPS_STATUS", 25),
#("GEAR_PACKET_HYBRID", 60),
#("BRAKE", 80),
("BRAKE_MODULE", 40), ("BRAKE_MODULE", 40),
("WHEEL_SPEEDS", 80), ("WHEEL_SPEEDS", 80),
("STEER_ANGLE_SENSOR", 80), ("STEER_ANGLE_SENSOR", 80),
("PCM_CRUISE", 33), ("PCM_CRUISE", 33),
("PCM_CRUISE_SM", 1), ("PCM_CRUISE_SM", 1),
#("VSC1S07", 20),
("STEER_TORQUE_SENSOR", 50), ("STEER_TORQUE_SENSOR", 50),
#("CLUTCH", 16),
] ]
if CP.carFingerprint != CAR.TOYOTA_MIRAI: if CP.carFingerprint != CAR.TOYOTA_MIRAI:
@@ -540,7 +516,4 @@ class CarState(CarStateBase):
("PCS_HUD", 1), ("PCS_HUD", 1),
] ]
if CP.spFlags & ToyotaFlagsSP.SP_AUTO_BRAKE_HOLD:
messages.append(("PRE_COLLISION_2", 33))
return CANParser(DBC[CP.carFingerprint]["pt"], messages, 2) return CANParser(DBC[CP.carFingerprint]["pt"], messages, 2)
+6 -14
View File
@@ -160,18 +160,18 @@ class CarInterface(CarInterfaceBase):
sp_tss2_long_tune = Params().get_bool("ToyotaTSS2Long") sp_tss2_long_tune = Params().get_bool("ToyotaTSS2Long")
# hand tuned (August 12, 2024) # Last updated: September 29, 2024
def custom_tss2_longitudinal_tuning(): def custom_tss2_longitudinal_tuning(): # hand tuned
ret.vEgoStopping = 0.25 ret.vEgoStopping = 0.25
ret.vEgoStarting = 0.01 ret.vEgoStarting = 0.01
ret.stoppingDecelRate = 0.006 ret.stoppingDecelRate = 0.006
def default_tss2_longitudinal_tuning(): def default_tss2_longitudinal_tuning(): # stock comma
ret.vEgoStopping = 0.25 ret.vEgoStopping = 0.25
ret.vEgoStarting = 0.25 ret.vEgoStarting = 0.10
ret.stoppingDecelRate = 0.002 # reach stopping target smoothly ret.stoppingDecelRate = 0.007 # reach stopping target smoothly
def default_longitudinal_tuning(): def default_longitudinal_tuning(): # stock comma
tune.kiBP = [0., 5., 35.] tune.kiBP = [0., 5., 35.]
tune.kiV = [3.6, 2.4, 1.5] tune.kiV = [3.6, 2.4, 1.5]
@@ -195,9 +195,6 @@ class CarInterface(CarInterfaceBase):
if candidate == CAR.TOYOTA_PRIUS_TSS2: if candidate == CAR.TOYOTA_PRIUS_TSS2:
ret.spFlags |= ToyotaFlagsSP.SP_NEED_DEBUG_BSM.value ret.spFlags |= ToyotaFlagsSP.SP_NEED_DEBUG_BSM.value
if Params().get_bool("ToyotaAutoHold") and candidate in (TSS2_CAR - RADAR_ACC_CAR):
ret.spFlags |= ToyotaFlagsSP.SP_AUTO_BRAKE_HOLD.value
return ret return ret
@staticmethod @staticmethod
@@ -271,11 +268,6 @@ class CarInterface(CarInterfaceBase):
# while in standstill, send a user alert # while in standstill, send a user alert
events.add(EventName.manualRestart) events.add(EventName.manualRestart)
# auto brake hold
if self.CP.spFlags & ToyotaFlagsSP.SP_AUTO_BRAKE_HOLD:
if self.CC.brake_hold_active and not ret.brakeHoldActive:
events.add(EventName.spAutoBrakeHold)
ret.events = events.to_msg() ret.events = events.to_msg()
return ret return ret
-34
View File
@@ -130,37 +130,3 @@ def create_set_bsm_debug_mode(lr_blindspot, enabled):
def create_bsm_polling_status(lr_blindspot): def create_bsm_polling_status(lr_blindspot):
return make_can_msg(0x750, lr_blindspot + b"\x02\x21\x69\x00\x00\x00\x00", 0) return make_can_msg(0x750, lr_blindspot + b"\x02\x21\x69\x00\x00\x00\x00", 0)
# auto brake hold
def create_brake_hold_command(packer, frame, pre_collision_2, brake_hold_active):
# forward PRE_COLLISION_2 when auto brake hold is not active
values = {s: pre_collision_2[s] for s in [
"DSS1GDRV",
"DS1STAT2",
"DS1STBK2",
"PCSWAR",
"PCSALM",
"PCSOPR",
"PCSABK",
"PBATRGR",
"PPTRGR",
"IBTRGR",
"CLEXTRGR",
"IRLT_REQ",
"BRKHLD",
"AVSTRGR",
"VGRSTRGR",
"PREFILL",
"PBRTRGR",
"PCSDIS",
"PBPREPMP",
]}
if brake_hold_active:
values = {
"DSS1GDRV": 0x3FF,
"PBRTRGR": frame % 730 < 727, # cut actuation for 3 frames
}
return packer.make_can_msg("PRE_COLLISION_2", 0, values)
+1 -2
View File
@@ -16,7 +16,7 @@ PEDAL_TRANSITION = 10. * CV.MPH_TO_MS
class CarControllerParams: class CarControllerParams:
ACCEL_MAX = 2.0 # m/s2, lower than allowed 2.0 m/s2 for tuning reasons ACCEL_MAX = 1.5 # m/s2, lower than allowed 2.0 m/s2 for tuning reasons
ACCEL_MIN = -3.5 # m/s2 ACCEL_MIN = -3.5 # m/s2
STEER_STEP = 1 STEER_STEP = 1
@@ -64,7 +64,6 @@ class ToyotaFlagsSP(IntFlag):
SP_ZSS = 1 SP_ZSS = 1
SP_ENHANCED_BSM = 2 SP_ENHANCED_BSM = 2
SP_NEED_DEBUG_BSM = 4 SP_NEED_DEBUG_BSM = 4
SP_AUTO_BRAKE_HOLD = 8
class Footnote(Enum): class Footnote(Enum):
-8
View File
@@ -744,14 +744,6 @@ EVENTS: dict[int, dict[str, Alert | AlertCallbackType]] = {
ET.NO_ENTRY: NoEntryAlert("Brake Hold Active"), ET.NO_ENTRY: NoEntryAlert("Brake Hold Active"),
}, },
EventName.spAutoBrakeHold: {
ET.PERMANENT: Alert(
"sunnypilot Brake Hold Active",
"",
AlertStatus.normal, AlertSize.small,
Priority.LOWEST, VisualAlert.none, AudibleAlert.prompt, 0.),
},
EventName.parkBrake: { EventName.parkBrake: {
ET.USER_DISABLE: EngagementAlert(AudibleAlert.disengage), ET.USER_DISABLE: EngagementAlert(AudibleAlert.disengage),
ET.NO_ENTRY: NoEntryAlert("Parking Brake Engaged"), ET.NO_ENTRY: NoEntryAlert("Parking Brake Engaged"),
@@ -3,7 +3,7 @@ import os
import time import time
import numpy as np import numpy as np
from cereal import custom from cereal import custom
from openpilot.common.numpy_fast import clip, interp from openpilot.common.numpy_fast import clip
from openpilot.common.realtime import DT_MDL from openpilot.common.realtime import DT_MDL
from openpilot.common.swaglog import cloudlog from openpilot.common.swaglog import cloudlog
# WARNING: imports outside of constants will not trigger a rebuild # WARNING: imports outside of constants will not trigger a rebuild
@@ -55,7 +55,7 @@ T_IDXS = np.array(T_IDXS_LST)
FCW_IDXS = T_IDXS < 5.0 FCW_IDXS = T_IDXS < 5.0
T_DIFFS = np.diff(T_IDXS, prepend=[0.]) T_DIFFS = np.diff(T_IDXS, prepend=[0.])
COMFORT_BRAKE = 2.5 COMFORT_BRAKE = 2.5
STOP_DISTANCE = 5.0 STOP_DISTANCE = 6.0
def get_jerk_factor(personality=custom.LongitudinalPersonalitySP.standard): def get_jerk_factor(personality=custom.LongitudinalPersonalitySP.standard):
if personality==custom.LongitudinalPersonalitySP.relaxed: if personality==custom.LongitudinalPersonalitySP.relaxed:
@@ -63,116 +63,48 @@ def get_jerk_factor(personality=custom.LongitudinalPersonalitySP.standard):
elif personality==custom.LongitudinalPersonalitySP.standard: elif personality==custom.LongitudinalPersonalitySP.standard:
return 1.0 return 1.0
elif personality==custom.LongitudinalPersonalitySP.moderate: elif personality==custom.LongitudinalPersonalitySP.moderate:
return 0.6 return 0.9
elif personality==custom.LongitudinalPersonalitySP.aggressive: elif personality==custom.LongitudinalPersonalitySP.aggressive:
return 0.2 return 0.8
elif personality==custom.LongitudinalPersonalitySP.overtake: elif personality==custom.LongitudinalPersonalitySP.overtake:
return 0.1 return 0.1
else: else:
raise NotImplementedError("Longitudinal personality not supported") raise NotImplementedError("Longitudinal personality not supported")
def get_a_change_factor(v_ego, v_lead0, v_lead1, personality=custom.LongitudinalPersonalitySP.standard):
# Set cost multipliers based on driving personality (relaxed, standard, moderate, aggressive).
# These values adjust the sensitivity of acceleration change.
# Higher value = more cautious (slower reaction), smaller value = quicker response (more aggressive driving)
if personality==custom.LongitudinalPersonalitySP.relaxed:
a_change_cost_multiplier_follow = 1.2 # Highest cost for changing acceleration, meaning more gradual transitions
a_change_cost_high_speed_factor = 2.0 # No extra penalty for high-speed changes (more cautious)
elif personality==custom.LongitudinalPersonalitySP.standard:
a_change_cost_multiplier_follow = 0.6 # Moderate cost for changing acceleration (quicker transitions compared to relaxed)
a_change_cost_high_speed_factor = 2.5 # Higher penalty for changes at higher speeds (more cautious)
elif personality==custom.LongitudinalPersonalitySP.moderate:
a_change_cost_multiplier_follow = 0.4 # Similar to standard (quicker transitions compared to relaxed)
a_change_cost_high_speed_factor = 3.0 # Similar to standard (higher penalty for high speeds)
elif personality==custom.LongitudinalPersonalitySP.aggressive:
a_change_cost_multiplier_follow = 0.2 # Very low cost for changing acceleration, meaning quicker reactions (less cautious)
a_change_cost_high_speed_factor = 5.0 # Much higher penalty for abrupt changes at high speeds (very cautious at high speeds)
elif personality==custom.LongitudinalPersonalitySP.overtake:
a_change_cost_multiplier_follow = 0.1 # Very low cost for changing acceleration, meaning quicker reactions (less cautious)
a_change_cost_high_speed_factor = 5.0 # Much higher penalty for abrupt changes at high speeds (very cautious at high speeds)
else:
raise NotImplementedError("Longitudinal personality not supported")
# Variables to modify the acceleration change based on speed and lead vehicle conditions.
# LEAD_AUGMENTATION_BP_MAX defines the vEgo threshold for rapid acceleration.
LEAD_AUGMENTATION_BP_MAX = 5. # Maximum speed (5 m/s ~ 18 km/h) where rapid acceleration adjustments are allowed
# LEAD_AUGMENTATION_BP: breakpoints for ego vehicle speed (vEgo) in m/s
# LEAD_AUGMENTATION_V: multiplier values for ego vehicle speed interpolation
LEAD_AUGMENTATION_BP = [0., LEAD_AUGMENTATION_BP_MAX] # vEgo breakpoints: [0 m/s, 5 m/s (~18 km/h)]
LEAD_AUGMENTATION_V = [.05, 1.] # acceleration multipliers: At 0 m/s, allow very small changes (.05), at 5 m/s allow faster acceleration (1.0)
# SPEED_AUGMENTATION_BP: breakpoints for speed adjustment to reduce abrupt braking at higher speeds
# SPEED_AUGMENTATION_V: interpolation values for scaling acceleration cost based on speed
# Higher = more cautious (penalizes abrupt braking), smaller = more aggressive (less penalty)
SPEED_AUGMENTATION_BP = [0., LEAD_AUGMENTATION_BP_MAX, 10.] # Speed breakpoints: [0 m/s, 5 m/s, 10 m/s (~36 km/h)]
SPEED_AUGMENTATION_V = [1., 1., a_change_cost_high_speed_factor] # Multiplier: between 0-5 m/s, no change (1.0), after 5 m/s, scale by a_change_cost_high_speed_factor (e.g., 1.5 in standard mode)
# Calculate a cost for acceleration changes when lead vehicles are pulling away and ego speed is below the threshold.
lead_augmented_a_change_cost = 1.0 # Default cost factor
if (v_lead0 - v_ego > 1e-3) and (v_lead1 - v_ego > 1e-3):
# Interpolate for the acceleration change cost when lead vehicles are increasing speed, based on vEgo
lead_augmented_a_change_cost = interp(v_ego, LEAD_AUGMENTATION_BP, LEAD_AUGMENTATION_V)
# Multiply the lead-based cost with speed-based cost to get a final cost factor, scaling with vehicle speed
speed_augmented_a_change_cost = a_change_cost_multiplier_follow * interp(v_ego, SPEED_AUGMENTATION_BP, SPEED_AUGMENTATION_V)
# Choose the smaller factor between the lead-based cost and the speed-based cost
a_change_factor = lead_augmented_a_change_cost if v_ego <= LEAD_AUGMENTATION_BP_MAX else speed_augmented_a_change_cost
# Return the final acceleration change factor to be applied
return a_change_factor
# Function to return a multiplier for a danger zone cost based on driving personality
def get_danger_zone_factor(personality=custom.LongitudinalPersonalitySP.standard):
# Higher values mean more cautious driving in dangerous situations, scaling the cost accordingly
if personality==custom.LongitudinalPersonalitySP.relaxed:
return 1.8 # Higher danger zone cost for relaxed personality (more cautious)
elif personality==custom.LongitudinalPersonalitySP.standard:
return 1.5 # Medium danger zone cost for standard personality
elif personality==custom.LongitudinalPersonalitySP.moderate:
return 1.2 # Medium danger zone cost for moderate personality (similar to standard)
elif personality==custom.LongitudinalPersonalitySP.aggressive:
return 1.0 # Lowest danger zone cost for aggressive personality (less cautious)
elif personality==custom.LongitudinalPersonalitySP.overtake:
return 1.0 # Lowest danger zone cost for aggressive personality (less cautious)
else:
raise NotImplementedError("Longitudinal personality not supported")
def get_T_FOLLOW(personality=custom.LongitudinalPersonalitySP.standard): def get_T_FOLLOW(personality=custom.LongitudinalPersonalitySP.standard):
if personality==custom.LongitudinalPersonalitySP.relaxed: if personality==custom.LongitudinalPersonalitySP.relaxed:
return 1.75 return 1.75
elif personality==custom.LongitudinalPersonalitySP.standard: elif personality==custom.LongitudinalPersonalitySP.standard:
return 1.65
elif personality==custom.LongitudinalPersonalitySP.moderate:
return 1.45 return 1.45
elif personality==custom.LongitudinalPersonalitySP.aggressive: elif personality==custom.LongitudinalPersonalitySP.moderate:
return 1.25 return 1.25
elif personality==custom.LongitudinalPersonalitySP.aggressive:
return 1.0
elif personality==custom.LongitudinalPersonalitySP.overtake: elif personality==custom.LongitudinalPersonalitySP.overtake:
return 0.25 return 0.25
else: else:
raise NotImplementedError("Longitudinal personality not supported") raise NotImplementedError("Longitudinal personality not supported")
# Last updated: September 29, 2024
def get_dynamic_personality(v_ego, personality=custom.LongitudinalPersonalitySP.standard): def get_dynamic_personality(v_ego, personality=custom.LongitudinalPersonalitySP.standard):
if personality==custom.LongitudinalPersonalitySP.relaxed: if personality==custom.LongitudinalPersonalitySP.relaxed:
x_vel = [0., 22., 22.01, 36.1] x_vel = [0, 14., 27.7]
y_dist = [1.70, 1.70, 1.80, 1.80] y_dist = [1.75, 1.75, 2.00]
elif personality==custom.LongitudinalPersonalitySP.standard: elif personality==custom.LongitudinalPersonalitySP.standard:
x_vel = [0., 22., 22.01, 36.1] x_vel = [0, 14., 27.7]
y_dist = [1.65, 1.65, 1.75, 1.75] y_dist = [1.75, 1.75, 1.70]
elif personality==custom.LongitudinalPersonalitySP.moderate: elif personality==custom.LongitudinalPersonalitySP.moderate:
x_vel = [0., 22., 22.01, 36.1] x_vel = [0, 14., 27.7]
y_dist = [1.45, 1.45, 1.55, 1.55] y_dist = [1.45, 1.45, 1.48]
elif personality==custom.LongitudinalPersonalitySP.aggressive: elif personality==custom.LongitudinalPersonalitySP.aggressive:
x_vel = [0., 19.7, 19.71, 36.1] x_vel = [0, 14., 27.7]
y_dist = [1.00, 1.00, 1.25, 1.25] y_dist = [1.25, 1.25, 1.28]
else: else:
raise NotImplementedError("Dynamic personality not supported") raise NotImplementedError("Dynamic personality not supported")
return np.interp(v_ego, x_vel, y_dist) return np.interp(v_ego, x_vel, y_dist)
def get_stopped_equivalence_factor(v_lead): def get_stopped_equivalence_factor(v_lead):
return (v_lead**2) / (2 * COMFORT_BRAKE) return (v_lead**2) / (2 * COMFORT_BRAKE)
@@ -370,15 +302,12 @@ class LongitudinalMpc:
for i in range(N): for i in range(N):
self.solver.cost_set(i, 'Zl', Zl) self.solver.cost_set(i, 'Zl', Zl)
def set_weights(self, prev_accel_constraint=True, v_lead0 = 0., v_lead1 = 0., personality=custom.LongitudinalPersonalitySP.standard): def set_weights(self, prev_accel_constraint=True, personality=custom.LongitudinalPersonalitySP.standard):
v_ego = self.x0[1]
jerk_factor = get_jerk_factor(personality) jerk_factor = get_jerk_factor(personality)
a_change_factor = get_a_change_factor(v_ego, v_lead0, v_lead1, personality)
danger_zone_factor = get_danger_zone_factor(personality)
if self.mode == 'acc': if self.mode == 'acc':
a_change_cost = A_CHANGE_COST if prev_accel_constraint else 0 a_change_cost = A_CHANGE_COST if prev_accel_constraint else 0
cost_weights = [X_EGO_OBSTACLE_COST, X_EGO_COST, V_EGO_COST, A_EGO_COST, a_change_factor * a_change_cost, jerk_factor * J_EGO_COST] cost_weights = [X_EGO_OBSTACLE_COST, X_EGO_COST, V_EGO_COST, A_EGO_COST, jerk_factor * a_change_cost, jerk_factor * J_EGO_COST]
constraint_cost_weights = [LIMIT_COST, LIMIT_COST, LIMIT_COST, DANGER_ZONE_COST * danger_zone_factor] constraint_cost_weights = [LIMIT_COST, LIMIT_COST, LIMIT_COST, DANGER_ZONE_COST]
elif self.mode == 'blended': elif self.mode == 'blended':
a_change_cost = 40.0 if prev_accel_constraint else 0 a_change_cost = 40.0 if prev_accel_constraint else 0
cost_weights = [0., 0.1, 0.2, 5.0, a_change_cost, 1.0] cost_weights = [0., 0.1, 0.2, 5.0, a_change_cost, 1.0]
@@ -432,7 +361,7 @@ class LongitudinalMpc:
self.cruise_min_a = min_a self.cruise_min_a = min_a
self.max_a = max_a self.max_a = max_a
def update(self, radarstate, v_cruise, prev_accel_constraint, x, v, a, j, personality=custom.LongitudinalPersonalitySP.standard, def update(self, radarstate, v_cruise, x, v, a, j, personality=custom.LongitudinalPersonalitySP.standard,
dynamic_personality=False, overtaking_acceleration_assist=False): dynamic_personality=False, overtaking_acceleration_assist=False):
v_ego = self.x0[1] v_ego = self.x0[1]
t_follow = get_dynamic_personality(v_ego, personality) if dynamic_personality else get_T_FOLLOW(personality) t_follow = get_dynamic_personality(v_ego, personality) if dynamic_personality else get_T_FOLLOW(personality)
@@ -442,8 +371,6 @@ class LongitudinalMpc:
lead_xv_0 = self.process_lead(radarstate.leadOne) lead_xv_0 = self.process_lead(radarstate.leadOne)
lead_xv_1 = self.process_lead(radarstate.leadTwo) lead_xv_1 = self.process_lead(radarstate.leadTwo)
self.set_weights(prev_accel_constraint=prev_accel_constraint, v_lead0=lead_xv_0[0, 1], v_lead1=lead_xv_1[0, 1], personality=personality)
# To estimate a safe distance from a moving lead, we calculate how much stopping # To estimate a safe distance from a moving lead, we calculate how much stopping
# distance that lead needs as a minimum. We can add that to the current distance # distance that lead needs as a minimum. We can add that to the current distance
# and then treat that as a stopped car/obstacle at this new distance. # and then treat that as a stopped car/obstacle at this new distance.
@@ -571,4 +498,4 @@ class LongitudinalMpc:
if __name__ == "__main__": if __name__ == "__main__":
ocp = gen_long_ocp() ocp = gen_long_ocp()
AcadosOcpSolver.generate(ocp, json_file=JSON_FILE) AcadosOcpSolver.generate(ocp, json_file=JSON_FILE)
# AcadosOcpSolver.build(ocp.code_export_directory, with_cython=True) # AcadosOcpSolver.build(ocp.code_export_directory, with_cython=True)
@@ -201,7 +201,7 @@ class LongitudinalPlanner:
self.mpc.set_accel_limits(accel_limits_turns[0], accel_limits_turns[1]) self.mpc.set_accel_limits(accel_limits_turns[0], accel_limits_turns[1])
self.mpc.set_cur_state(self.v_desired_filter.x, self.a_desired) self.mpc.set_cur_state(self.v_desired_filter.x, self.a_desired)
x, v, a, j = self.parse_model(sm['modelV2'], self.v_model_error) x, v, a, j = self.parse_model(sm['modelV2'], self.v_model_error)
self.mpc.update(sm['radarState'], v_cruise, prev_accel_constraint, x, v, a, j, personality=sm['controlsStateSP'].personality, self.mpc.update(sm['radarState'], v_cruise, x, v, a, j, personality=sm['controlsStateSP'].personality,
dynamic_personality=sm['controlsStateSP'].dynamicPersonality, overtaking_acceleration_assist=overtaking_accel_engaged) dynamic_personality=sm['controlsStateSP'].dynamicPersonality, overtaking_acceleration_assist=overtaking_accel_engaged)
self.v_desired_trajectory = np.interp(CONTROL_N_T_IDX, T_IDXS_MPC, self.mpc.v_solution) self.v_desired_trajectory = np.interp(CONTROL_N_T_IDX, T_IDXS_MPC, self.mpc.v_solution)
@@ -21,7 +21,7 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE. # THE SOFTWARE.
# Last updated: August 12, 2024 # Last updated: September 29, 2024
from cereal import custom from cereal import custom
from openpilot.common.numpy_fast import interp from openpilot.common.numpy_fast import interp
@@ -29,14 +29,14 @@ from openpilot.common.numpy_fast import interp
AccelPersonality = custom.AccelerationPersonality AccelPersonality = custom.AccelerationPersonality
# accel personality by @arne182 modified by cgw and kumar # accel personality by @arne182 modified by cgw and kumar
_DP_CRUISE_MIN_V = [-1.0, -1.0] _DP_CRUISE_MIN_V = [-1.0, -1.0, -0.88]
_DP_CRUISE_MIN_V_ECO = [-1.0, -1.0] _DP_CRUISE_MIN_V_ECO = [-1.0, -1.0, -0.76]
_DP_CRUISE_MIN_V_SPORT = [-1.0, -1.0] _DP_CRUISE_MIN_V_SPORT = [-1.0, -1.0, -1.0]
_DP_CRUISE_MIN_BP = [0., 20.] _DP_CRUISE_MIN_BP = [0., 11.1, 20.]
_DP_CRUISE_MAX_V = [2.0, 2.0, 2.0, 1.80, 1.03, .62, .47, .36, .11] _DP_CRUISE_MAX_V = [2.0, 2.0, 2.0, 1.75, 1.03, .72, .53, .42, .13]
_DP_CRUISE_MAX_V_ECO = [2.0, 2.0, 2.0, 1.65, 0.92, .532, .432, .32, .095] _DP_CRUISE_MAX_V_ECO = [2.0, 2.0, 2.0, 1.50, 0.92, .54, .43, .32, .088]
_DP_CRUISE_MAX_V_SPORT = [2.0, 2.0, 2.0, 2.00, 1.25, .71, .54, .46, .2] _DP_CRUISE_MAX_V_SPORT = [2.0, 2.0, 2.0, 2.00, 1.25, .96, .78, .60, .4]
_DP_CRUISE_MAX_BP = [0., 1., 6., 8., 11., 20., 25., 30., 55.] _DP_CRUISE_MAX_BP = [0., 1., 6., 8., 11., 20., 25., 30., 55.]
@@ -21,7 +21,7 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE. # THE SOFTWARE.
# #
# Version = 2024-7-11 # Version = 2024-9-28
from common.numpy_fast import interp from common.numpy_fast import interp
import numpy as np import numpy as np
@@ -376,4 +376,4 @@ class DynamicExperimentalController:
self._set_mode_timeout = SET_MODE_TIMEOUT self._set_mode_timeout = SET_MODE_TIMEOUT
if self._set_mode_timeout > 0: if self._set_mode_timeout > 0:
self._set_mode_timeout -= 1 self._set_mode_timeout -= 1
@@ -159,18 +159,6 @@ SPVehiclesTogglesPanel::SPVehiclesTogglesPanel(VehiclePanel *parent) : ListWidge
toyotaTss2LongTune->setConfirmation(true, false); toyotaTss2LongTune->setConfirmation(true, false);
addItem(toyotaTss2LongTune); addItem(toyotaTss2LongTune);
auto toyotaAbh = new ParamControlSP(
"ToyotaAutoHold",
tr("Enable Automatic Brake Hold (AHB)"),
QString("<b>%1</b><br><br>%2<br><br><b>%3</b>")
.arg(tr("WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK."))
.arg(tr("When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold."))
.arg(tr("Changing this setting takes effect when the car is powered off.")),
"../assets/offroad/icon_blank.png"
);
toyotaAbh->setConfirmation(true, false);
addItem(toyotaAbh);
toyotaEnhancedBsm = new ParamControlSP( toyotaEnhancedBsm = new ParamControlSP(
"ToyotaEnhancedBsm", "ToyotaEnhancedBsm",
tr("Enable Enhanced Blind Spot Monitor"), tr("Enable Enhanced Blind Spot Monitor"),
@@ -227,7 +215,6 @@ SPVehiclesTogglesPanel::SPVehiclesTogglesPanel(VehiclePanel *parent) : ListWidge
hkgCustomLongTuning->setEnabled(offroad); hkgCustomLongTuning->setEnabled(offroad);
hyundaiCruiseMainDefault->setEnabled(offroad); hyundaiCruiseMainDefault->setEnabled(offroad);
toyotaTss2LongTune->setEnabled(offroad); toyotaTss2LongTune->setEnabled(offroad);
toyotaAbh->setEnabled(offroad);
toyotaEnhancedBsm->setEnabled(offroad); toyotaEnhancedBsm->setEnabled(offroad);
toyotaSngHack->setEnabled(offroad); toyotaSngHack->setEnabled(offroad);
volkswagenCCOnly->setEnabled(offroad); volkswagenCCOnly->setEnabled(offroad);
@@ -216,7 +216,6 @@ void AnnotatedCameraWidgetSP::updateState(const UIStateSP &s) {
latAccelFactorFiltered = ltp.getLatAccelFactorFiltered(); latAccelFactorFiltered = ltp.getLatAccelFactorFiltered();
frictionCoefficientFiltered = ltp.getFrictionCoefficientFiltered(); frictionCoefficientFiltered = ltp.getFrictionCoefficientFiltered();
liveValid = ltp.getLiveValid(); liveValid = ltp.getLiveValid();
ecoMode = vEgo > 0 && car_state.getEngineRpm() == 0;
// ############################## DEV UI END ############################## // ############################## DEV UI END ##############################
btnPerc = s.scene.sleep_btn_opacity * 0.05; btnPerc = s.scene.sleep_btn_opacity * 0.05;
@@ -524,32 +523,10 @@ void AnnotatedCameraWidgetSP::drawHud(QPainter &p) {
// current speed // current speed
if (!hideVEgoUi) { if (!hideVEgoUi) {
// Set up the font for the speed text
p.setFont(InterFont(176, QFont::Bold)); p.setFont(InterFont(176, QFont::Bold));
drawColoredText(p, rect().center().x(), 210, speedStr, brakeLights ? QColor(0xff, 0, 0, 255) : QColor(0xff, 0xff, 0xff, 255));
// Define text coordinates
int centerX = rect().center().x();
int centerY = 210;
// Draw a red border if brakeLights is active
if (brakeLights) {
for (int offsetX = -6; offsetX <= 6; offsetX++) {
for (int offsetY = -6; offsetY <= 6; offsetY++) {
// Avoid drawing at the original text position
if (offsetX != 0 || offsetY != 0) {
drawColoredText(p, centerX + offsetX, centerY + offsetY, speedStr, QColor(255, 0, 0, 255)); // Red border
}
}
}
}
// Draw the main speed text: green if ecoMode is on, otherwise white
QColor speedTextColor = ecoMode ? QColor(0, 245, 0) : QColor(255, 255, 255, 255);
drawColoredText(p, centerX, centerY, speedStr, speedTextColor);
// Draw the speed unit below the main text
p.setFont(InterFont(66)); p.setFont(InterFont(66));
drawText(p, centerX, 290, speedUnit, 200); drawText(p, rect().center().x(), 290, speedUnit, 200);
} }
if (!reversing) { if (!reversing) {
@@ -1188,7 +1165,7 @@ void AnnotatedCameraWidgetSP::drawLaneLines(QPainter &painter, const UIStateSP *
} }
// TODO: Fix empty spaces when curiving back on itself // TODO: Fix empty spaces when curiving back on itself
painter.setBrush(QColor::fromRgbF(1.0, 0.0, 0.0, 0.4)); painter.setBrush(QColor::fromRgbF(1.0, 0.0, 0.0, 0.2));
if (left_blindspot) painter.drawPolygon(scene.lane_barrier_vertices[0]); if (left_blindspot) painter.drawPolygon(scene.lane_barrier_vertices[0]);
if (right_blindspot) painter.drawPolygon(scene.lane_barrier_vertices[1]); if (right_blindspot) painter.drawPolygon(scene.lane_barrier_vertices[1]);
@@ -176,7 +176,6 @@ private:
float latAccelFactorFiltered; float latAccelFactorFiltered;
float frictionCoefficientFiltered; float frictionCoefficientFiltered;
bool liveValid; bool liveValid;
bool ecoMode;
// ############################## DEV UI END ############################## // ############################## DEV UI END ##############################
float btnPerc; float btnPerc;
+18 -58
View File
@@ -203,14 +203,6 @@
<source>mph</source> <source>mph</source>
<translation type="unfinished">ميل/س</translation> <translation type="unfinished">ميل/س</translation>
</message> </message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>MAX</source> <source>MAX</source>
<translation type="unfinished">MAX</translation> <translation type="unfinished">MAX</translation>
@@ -1474,15 +1466,11 @@ This may take up to a minute.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG: Custom Tuning for New Longitudinal API</source> <source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG CAN: Enable Cruise Main By Default</source> <source>Smoother stopping behind a stopped car or desired stopping event. This is only applicable to HKG CAN platforms using openpilot longitudinal control.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@@ -1529,22 +1517,6 @@ This may take up to a minute.</source>
<source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source> <source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Enable Automatic Brake Hold (AHB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Changing this setting takes effect when the car is powered off.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Enhanced Blind Spot Monitor</source> <source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1611,6 +1583,14 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source> <source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>HKG CAN: Enable Cruise Main By Default</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>SettingsWindow</name> <name>SettingsWindow</name>
@@ -2537,14 +2517,6 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source> <source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>NNLC: Remove Lateral Jerk Response (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enforce Torque Lateral Control</source> <source>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2553,14 +2525,6 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source> <source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Lateral Jerk with Torque Lateral Control (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Self-Tune</source> <source>Enable Self-Tune</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2946,10 +2910,6 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source> This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Experimental Mode</source> <source>Experimental Mode</source>
<translation type="unfinished">الوضع التجريبي</translation> <translation type="unfinished">الوضع التجريبي</translation>
@@ -3317,14 +3277,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source> <source>Speed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Display Metrics Below Chevron</source> <source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -3353,6 +3305,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source> <source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>WiFiPromptWidget</name> <name>WiFiPromptWidget</name>
+18 -58
View File
@@ -203,14 +203,6 @@
<source>mph</source> <source>mph</source>
<translation type="unfinished">mph</translation> <translation type="unfinished">mph</translation>
</message> </message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>MAX</source> <source>MAX</source>
<translation type="unfinished">MAX</translation> <translation type="unfinished">MAX</translation>
@@ -1456,15 +1448,11 @@ This may take up to a minute.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG: Custom Tuning for New Longitudinal API</source> <source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG CAN: Enable Cruise Main By Default</source> <source>Smoother stopping behind a stopped car or desired stopping event. This is only applicable to HKG CAN platforms using openpilot longitudinal control.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@@ -1511,22 +1499,6 @@ This may take up to a minute.</source>
<source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source> <source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Enable Automatic Brake Hold (AHB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Changing this setting takes effect when the car is powered off.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Enhanced Blind Spot Monitor</source> <source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1593,6 +1565,14 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source> <source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>HKG CAN: Enable Cruise Main By Default</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>SettingsWindow</name> <name>SettingsWindow</name>
@@ -2521,14 +2501,6 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source> <source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>NNLC: Remove Lateral Jerk Response (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enforce Torque Lateral Control</source> <source>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2537,14 +2509,6 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source> <source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Lateral Jerk with Torque Lateral Control (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Self-Tune</source> <source>Enable Self-Tune</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2932,10 +2896,6 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source> This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Experimental Mode</source> <source>Experimental Mode</source>
<translation type="unfinished">Experimenteller Modus</translation> <translation type="unfinished">Experimenteller Modus</translation>
@@ -3303,14 +3263,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source> <source>Speed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Display Metrics Below Chevron</source> <source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -3339,6 +3291,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source> <source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>WiFiPromptWidget</name> <name>WiFiPromptWidget</name>
+8 -48
View File
@@ -207,14 +207,6 @@
<source>LIMIT</source> <source>LIMIT</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>AutoLaneChangeTimer</name> <name>AutoLaneChangeTimer</name>
@@ -1453,6 +1445,14 @@ Esto puede tardar un minuto.</translation>
<source>Hyundai/Kia/Genesis</source> <source>Hyundai/Kia/Genesis</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Smoother stopping behind a stopped car or desired stopping event. This is only applicable to HKG CAN platforms using openpilot longitudinal control.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Subaru</source> <source>Subaru</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1571,26 +1571,6 @@ Reboot Required.</source>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source> <source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>HKG: Custom Tuning for New Longitudinal API</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable Automatic Brake Hold (AHB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Changing this setting takes effect when the car is powered off.</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>SettingsWindow</name> <name>SettingsWindow</name>
@@ -2697,22 +2677,6 @@ Reboot Required.</source>
<source>Default is Laneless. In Auto mode, sunnnypilot dynamically chooses between Laneline or Laneless model based on lane recognition confidence level on road and certain conditions.</source> <source>Default is Laneless. In Auto mode, sunnnypilot dynamically chooses between Laneline or Laneless model based on lane recognition confidence level on road and certain conditions.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>NNLC: Remove Lateral Jerk Response (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Lateral Jerk with Torque Lateral Control (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection.</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>TermsPage</name> <name>TermsPage</name>
@@ -3078,10 +3042,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Enable the sunnypilot longitudinal control (alpha) toggle to allow Experimental mode.</source> <source>Enable the sunnypilot longitudinal control (alpha) toggle to allow Experimental mode.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>TorqueFriction</name> <name>TorqueFriction</name>
+18 -58
View File
@@ -203,14 +203,6 @@
<source>mph</source> <source>mph</source>
<translation type="unfinished">mi/h</translation> <translation type="unfinished">mi/h</translation>
</message> </message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>MAX</source> <source>MAX</source>
<translation type="unfinished">MAX</translation> <translation type="unfinished">MAX</translation>
@@ -1458,15 +1450,11 @@ Cela peut prendre jusqu&apos;à une minute.</translation>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG: Custom Tuning for New Longitudinal API</source> <source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG CAN: Enable Cruise Main By Default</source> <source>Smoother stopping behind a stopped car or desired stopping event. This is only applicable to HKG CAN platforms using openpilot longitudinal control.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@@ -1513,22 +1501,6 @@ Cela peut prendre jusqu&apos;à une minute.</translation>
<source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source> <source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Enable Automatic Brake Hold (AHB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Changing this setting takes effect when the car is powered off.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Enhanced Blind Spot Monitor</source> <source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1595,6 +1567,14 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source> <source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>HKG CAN: Enable Cruise Main By Default</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>SettingsWindow</name> <name>SettingsWindow</name>
@@ -2521,14 +2501,6 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source> <source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>NNLC: Remove Lateral Jerk Response (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enforce Torque Lateral Control</source> <source>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2537,14 +2509,6 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source> <source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Lateral Jerk with Torque Lateral Control (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Self-Tune</source> <source>Enable Self-Tune</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2930,10 +2894,6 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source> This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Experimental Mode</source> <source>Experimental Mode</source>
<translation type="unfinished">Mode expérimental</translation> <translation type="unfinished">Mode expérimental</translation>
@@ -3301,14 +3261,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source> <source>Speed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Display Metrics Below Chevron</source> <source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -3337,6 +3289,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source> <source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>WiFiPromptWidget</name> <name>WiFiPromptWidget</name>
+18 -58
View File
@@ -203,14 +203,6 @@
<source>mph</source> <source>mph</source>
<translation type="unfinished">mph</translation> <translation type="unfinished">mph</translation>
</message> </message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>MAX</source> <source>MAX</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1452,15 +1444,11 @@ This may take up to a minute.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG: Custom Tuning for New Longitudinal API</source> <source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG CAN: Enable Cruise Main By Default</source> <source>Smoother stopping behind a stopped car or desired stopping event. This is only applicable to HKG CAN platforms using openpilot longitudinal control.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@@ -1507,22 +1495,6 @@ This may take up to a minute.</source>
<source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source> <source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Enable Automatic Brake Hold (AHB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Changing this setting takes effect when the car is powered off.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Enhanced Blind Spot Monitor</source> <source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1589,6 +1561,14 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source> <source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>HKG CAN: Enable Cruise Main By Default</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>SettingsWindow</name> <name>SettingsWindow</name>
@@ -2515,14 +2495,6 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source> <source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>NNLC: Remove Lateral Jerk Response (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enforce Torque Lateral Control</source> <source>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2531,14 +2503,6 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source> <source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Lateral Jerk with Torque Lateral Control (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Self-Tune</source> <source>Enable Self-Tune</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2924,10 +2888,6 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source> This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Experimental Mode</source> <source>Experimental Mode</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -3295,14 +3255,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source> <source>Speed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Display Metrics Below Chevron</source> <source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -3331,6 +3283,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source> <source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>WiFiPromptWidget</name> <name>WiFiPromptWidget</name>
+18 -58
View File
@@ -203,14 +203,6 @@
<source>mph</source> <source>mph</source>
<translation type="unfinished">mph</translation> <translation type="unfinished">mph</translation>
</message> </message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>MAX</source> <source>MAX</source>
<translation type="unfinished">MAX</translation> <translation type="unfinished">MAX</translation>
@@ -1454,15 +1446,11 @@ This may take up to a minute.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG: Custom Tuning for New Longitudinal API</source> <source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG CAN: Enable Cruise Main By Default</source> <source>Smoother stopping behind a stopped car or desired stopping event. This is only applicable to HKG CAN platforms using openpilot longitudinal control.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@@ -1509,22 +1497,6 @@ This may take up to a minute.</source>
<source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source> <source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Enable Automatic Brake Hold (AHB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Changing this setting takes effect when the car is powered off.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Enhanced Blind Spot Monitor</source> <source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1591,6 +1563,14 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source> <source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>HKG CAN: Enable Cruise Main By Default</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>SettingsWindow</name> <name>SettingsWindow</name>
@@ -2517,14 +2497,6 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source> <source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>NNLC: Remove Lateral Jerk Response (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enforce Torque Lateral Control</source> <source>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2533,14 +2505,6 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source> <source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Lateral Jerk with Torque Lateral Control (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Self-Tune</source> <source>Enable Self-Tune</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2926,10 +2890,6 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source> This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Experimental Mode</source> <source>Experimental Mode</source>
<translation type="unfinished"> </translation> <translation type="unfinished"> </translation>
@@ -3297,14 +3257,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source> <source>Speed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Display Metrics Below Chevron</source> <source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -3333,6 +3285,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source> <source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>WiFiPromptWidget</name> <name>WiFiPromptWidget</name>
+18 -58
View File
@@ -203,14 +203,6 @@
<source>mph</source> <source>mph</source>
<translation type="unfinished">mph</translation> <translation type="unfinished">mph</translation>
</message> </message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>MAX</source> <source>MAX</source>
<translation type="unfinished">LIMITE</translation> <translation type="unfinished">LIMITE</translation>
@@ -1458,15 +1450,11 @@ Isso pode levar até um minuto.</translation>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG: Custom Tuning for New Longitudinal API</source> <source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG CAN: Enable Cruise Main By Default</source> <source>Smoother stopping behind a stopped car or desired stopping event. This is only applicable to HKG CAN platforms using openpilot longitudinal control.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@@ -1513,22 +1501,6 @@ Isso pode levar até um minuto.</translation>
<source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source> <source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Enable Automatic Brake Hold (AHB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Changing this setting takes effect when the car is powered off.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Enhanced Blind Spot Monitor</source> <source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1595,6 +1567,14 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source> <source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>HKG CAN: Enable Cruise Main By Default</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>SettingsWindow</name> <name>SettingsWindow</name>
@@ -2521,14 +2501,6 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source> <source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>NNLC: Remove Lateral Jerk Response (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enforce Torque Lateral Control</source> <source>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2537,14 +2509,6 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source> <source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Lateral Jerk with Torque Lateral Control (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Self-Tune</source> <source>Enable Self-Tune</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2930,10 +2894,6 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source> This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Experimental Mode</source> <source>Experimental Mode</source>
<translation type="unfinished">Modo Experimental</translation> <translation type="unfinished">Modo Experimental</translation>
@@ -3301,14 +3261,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source> <source>Speed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Display Metrics Below Chevron</source> <source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -3337,6 +3289,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source> <source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>WiFiPromptWidget</name> <name>WiFiPromptWidget</name>
+18 -58
View File
@@ -203,14 +203,6 @@
<source>mph</source> <source>mph</source>
<translation type="unfinished">/.</translation> <translation type="unfinished">/.</translation>
</message> </message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>MAX</source> <source>MAX</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1454,15 +1446,11 @@ This may take up to a minute.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG: Custom Tuning for New Longitudinal API</source> <source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG CAN: Enable Cruise Main By Default</source> <source>Smoother stopping behind a stopped car or desired stopping event. This is only applicable to HKG CAN platforms using openpilot longitudinal control.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@@ -1509,22 +1497,6 @@ This may take up to a minute.</source>
<source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source> <source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Enable Automatic Brake Hold (AHB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Changing this setting takes effect when the car is powered off.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Enhanced Blind Spot Monitor</source> <source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1591,6 +1563,14 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source> <source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>HKG CAN: Enable Cruise Main By Default</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>SettingsWindow</name> <name>SettingsWindow</name>
@@ -2517,14 +2497,6 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source> <source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>NNLC: Remove Lateral Jerk Response (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enforce Torque Lateral Control</source> <source>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2533,14 +2505,6 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source> <source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Lateral Jerk with Torque Lateral Control (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Self-Tune</source> <source>Enable Self-Tune</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2926,10 +2890,6 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source> This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Experimental Mode</source> <source>Experimental Mode</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -3297,14 +3257,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source> <source>Speed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Display Metrics Below Chevron</source> <source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -3333,6 +3285,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source> <source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>WiFiPromptWidget</name> <name>WiFiPromptWidget</name>
+18 -58
View File
@@ -203,14 +203,6 @@
<source>mph</source> <source>mph</source>
<translation type="unfinished">mph</translation> <translation type="unfinished">mph</translation>
</message> </message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>MAX</source> <source>MAX</source>
<translation type="unfinished">MAX</translation> <translation type="unfinished">MAX</translation>
@@ -1452,15 +1444,11 @@ This may take up to a minute.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG: Custom Tuning for New Longitudinal API</source> <source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG CAN: Enable Cruise Main By Default</source> <source>Smoother stopping behind a stopped car or desired stopping event. This is only applicable to HKG CAN platforms using openpilot longitudinal control.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@@ -1507,22 +1495,6 @@ This may take up to a minute.</source>
<source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source> <source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Enable Automatic Brake Hold (AHB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Changing this setting takes effect when the car is powered off.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Enhanced Blind Spot Monitor</source> <source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1589,6 +1561,14 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source> <source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>HKG CAN: Enable Cruise Main By Default</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>SettingsWindow</name> <name>SettingsWindow</name>
@@ -2515,14 +2495,6 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source> <source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>NNLC: Remove Lateral Jerk Response (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enforce Torque Lateral Control</source> <source>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2531,14 +2503,6 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source> <source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Lateral Jerk with Torque Lateral Control (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Self-Tune</source> <source>Enable Self-Tune</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2924,10 +2888,6 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source> This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Experimental Mode</source> <source>Experimental Mode</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -3295,14 +3255,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source> <source>Speed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Display Metrics Below Chevron</source> <source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -3331,6 +3283,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source> <source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>WiFiPromptWidget</name> <name>WiFiPromptWidget</name>
+18 -58
View File
@@ -203,14 +203,6 @@
<source>mph</source> <source>mph</source>
<translation type="unfinished">mph</translation> <translation type="unfinished">mph</translation>
</message> </message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>MAX</source> <source>MAX</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1454,15 +1446,11 @@ This may take up to a minute.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG: Custom Tuning for New Longitudinal API</source> <source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG CAN: Enable Cruise Main By Default</source> <source>Smoother stopping behind a stopped car or desired stopping event. This is only applicable to HKG CAN platforms using openpilot longitudinal control.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@@ -1509,22 +1497,6 @@ This may take up to a minute.</source>
<source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source> <source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Enable Automatic Brake Hold (AHB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Changing this setting takes effect when the car is powered off.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Enhanced Blind Spot Monitor</source> <source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1591,6 +1563,14 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source> <source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>HKG CAN: Enable Cruise Main By Default</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>SettingsWindow</name> <name>SettingsWindow</name>
@@ -2517,14 +2497,6 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source> <source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>NNLC: Remove Lateral Jerk Response (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enforce Torque Lateral Control</source> <source>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2533,14 +2505,6 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source> <source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Lateral Jerk with Torque Lateral Control (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Self-Tune</source> <source>Enable Self-Tune</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2926,10 +2890,6 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source> This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Experimental Mode</source> <source>Experimental Mode</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -3297,14 +3257,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source> <source>Speed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Display Metrics Below Chevron</source> <source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -3333,6 +3285,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source> <source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>WiFiPromptWidget</name> <name>WiFiPromptWidget</name>
+18 -58
View File
@@ -203,14 +203,6 @@
<source>mph</source> <source>mph</source>
<translation type="unfinished">mph</translation> <translation type="unfinished">mph</translation>
</message> </message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>MAX</source> <source>MAX</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1454,15 +1446,11 @@ This may take up to a minute.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG: Custom Tuning for New Longitudinal API</source> <source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>HKG CAN: Enable Cruise Main By Default</source> <source>Smoother stopping behind a stopped car or desired stopping event. This is only applicable to HKG CAN platforms using openpilot longitudinal control.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@@ -1509,22 +1497,6 @@ This may take up to a minute.</source>
<source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source> <source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Enable Automatic Brake Hold (AHB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Changing this setting takes effect when the car is powered off.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Enhanced Blind Spot Monitor</source> <source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -1591,6 +1563,14 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source> <source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>HKG CAN: Enable Cruise Main By Default</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>SettingsWindow</name> <name>SettingsWindow</name>
@@ -2517,14 +2497,6 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source> <source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>NNLC: Remove Lateral Jerk Response (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enforce Torque Lateral Control</source> <source>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2533,14 +2505,6 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source> <source>Enable this to enforce sunnypilot to steer with Torque lateral control.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Lateral Jerk with Torque Lateral Control (Alpha)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection.</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Enable Self-Tune</source> <source>Enable Self-Tune</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -2926,10 +2890,6 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source> This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Experimental Mode</source> <source>Experimental Mode</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -3297,14 +3257,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source> <source>Speed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Display Metrics Below Chevron</source> <source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -3333,6 +3285,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source> <source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>WiFiPromptWidget</name> <name>WiFiPromptWidget</name>
+3 -3
View File
@@ -326,7 +326,7 @@ void Device::resetInteractiveTimeout(int timeout) {
void Device::updateBrightness(const UIState &s) { void Device::updateBrightness(const UIState &s) {
clipped_brightness = offroad_brightness; clipped_brightness = offroad_brightness;
if (s.scene.started && s.scene.light_sensor > 0) { if (s.scene.started && s.scene.light_sensor >= 0) {
clipped_brightness = s.scene.light_sensor; clipped_brightness = s.scene.light_sensor;
// CIE 1931 - https://www.photonstophotos.net/GeneralTopics/Exposure/Psychometric_Lightness_and_Gamma.htm // CIE 1931 - https://www.photonstophotos.net/GeneralTopics/Exposure/Psychometric_Lightness_and_Gamma.htm
@@ -337,7 +337,7 @@ void Device::updateBrightness(const UIState &s) {
} }
// Scale back to 10% to 100% // Scale back to 10% to 100%
clipped_brightness = std::clamp(100.0f * clipped_brightness, 10.0f, 100.0f); clipped_brightness = std::clamp(100.0f * clipped_brightness, 5.0f, 100.0f);
} }
RETURN_IF_SUNNYPILOT RETURN_IF_SUNNYPILOT
@@ -377,4 +377,4 @@ Device *device() {
static Device _device; static Device _device;
return &_device; return &_device;
} }
#endif #endif
+1 -1
View File
@@ -45,7 +45,7 @@ def handle_long_poll(ws: WebSocket, exit_event: threading.Event | None) -> None:
threading.Thread(target=ws_ping, args=(ws, end_event), name='ws_ping'), threading.Thread(target=ws_ping, args=(ws, end_event), name='ws_ping'),
threading.Thread(target=ws_queue, args=(end_event,), name='ws_queue'), threading.Thread(target=ws_queue, args=(end_event,), name='ws_queue'),
# threading.Thread(target=upload_handler, args=(end_event,), name='upload_handler'), # threading.Thread(target=upload_handler, args=(end_event,), name='upload_handler'),
# threading.Thread(target=sunny_log_handler, args=(end_event, comma_prime_cellular_end_event), name='log_handler'), threading.Thread(target=sunny_log_handler, args=(end_event, comma_prime_cellular_end_event), name='log_handler'),
# threading.Thread(target=stat_handler, args=(end_event,), name='stat_handler'), # threading.Thread(target=stat_handler, args=(end_event,), name='stat_handler'),
] + [ ] + [
threading.Thread(target=jsonrpc_handler, args=(end_event,), name=f'worker_{x}') threading.Thread(target=jsonrpc_handler, args=(end_event,), name=f'worker_{x}')
-1
View File
@@ -104,7 +104,6 @@ def manager_init() -> None:
("TorqueDeadzoneDeg", "0"), ("TorqueDeadzoneDeg", "0"),
("TorqueFriction", "10"), ("TorqueFriction", "10"),
("TorqueMaxLatAccel", "250"), ("TorqueMaxLatAccel", "250"),
("ToyotaAutoHold", "0"),
("ToyotaAutoLockBySpeed", "0"), ("ToyotaAutoLockBySpeed", "0"),
("ToyotaAutoUnlockByShifter", "0"), ("ToyotaAutoUnlockByShifter", "0"),
("ToyotaDriveMode", "0"), ("ToyotaDriveMode", "0"),
+2 -2
View File
@@ -19,9 +19,9 @@ from openpilot.system.version import get_build_metadata, get_version
class SentryProject(Enum): class SentryProject(Enum):
# python project # python project
SELFDRIVE = "https://7e3be9bfcfe04c9abe58bd25fe290d1a@o1138119.ingest.sentry.io/6191481" SELFDRIVE = "https://3e25e235efe389b74cde72fb0e115aef@o1138119.ingest.us.sentry.io/4509950385979397"
# native project # native project
SELFDRIVE_NATIVE = "https://7e3be9bfcfe04c9abe58bd25fe290d1a@o1138119.ingest.sentry.io/6191481" SELFDRIVE_NATIVE = "https://3e25e235efe389b74cde72fb0e115aef@o1138119.ingest.us.sentry.io/4509950385979397"
CRASHES_DIR = Paths.community_crash_root() CRASHES_DIR = Paths.community_crash_root()