mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-09-16 04:13:42 +08:00
Compare commits
11 Commits
lt
..
master-dev-c3
| Author | SHA1 | Date | |
|---|---|---|---|
| bfc9ae2d2f | |||
| acc519daf2 | |||
| a9f2f54bcc | |||
| fa9234afa0 | |||
| 6b789c3380 | |||
| fd4d4eec0d | |||
| c1107924ae | |||
| aa34714b42 | |||
| 674670dfa7 | |||
| 9feffca58a | |||
| a4faa41331 |
+10
-6
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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 opendbc_repo updated: e221b20e96...529474a50e
+1
-1
Submodule panda updated: 827201c04a...55018eafc2
@@ -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
|
||||||
|
|||||||
@@ -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,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
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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'à 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'à 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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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
@@ -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
|
||||||
|
|||||||
@@ -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}')
|
||||||
|
|||||||
@@ -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
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user