Compare commits

..

156 Commits

Author SHA1 Message Date
rav4kumar
893132d0aa cleanup 2024-09-28 05:51:23 -07:00
rav4kumar
cf9f10a16d Re-apply "Lexus ES TSS2: improve start from stop response time" (#1303)
Beta
2024-09-28 05:28:36 -07:00
rav4kumar
060ef30223 Revert "Lexus ES TSS2: improve start from stop response time (#1301)"
This reverts commit fd6004b475.
2024-09-28 05:21:56 -07:00
rav4kumar
599fd9801e allow all platform 2024-09-27 21:55:39 -07:00
rav4kumar
fd6004b475 Lexus ES TSS2: improve start from stop response time (#1301) 2024-09-27 21:51:27 -07:00
Kumar
1aeebaa074 Update long_mpc.py 2024-09-27 17:00:34 -07:00
rav4kumar
f8fca88c45 Lexus ES TSS2: compensate for creeping force (#1271) 2024-09-26 22:05:31 -07:00
Kumar
26d20e68e0 Allow Lexus rx lss2 2024-09-25 19:46:15 -07:00
Kumar
d15652f4f0 Update accel_controller.py 2024-09-25 19:16:09 -07:00
Kumar
116edceba5 Update interface.py 2024-09-25 19:03:04 -07:00
Kumar
a502281dcd cstm 2024-09-25 16:00:48 -07:00
rav4kumar
36ec53563f allow corolla tss2 2024-09-25 07:38:43 -07:00
rav4kumar
2f8a6796a2 fine tune 2024-09-25 07:36:32 -07:00
rav4kumar
1f9ea6628a Toyota: prevent lagged gas after heavy braking (#1279) 2024-09-24 19:35:30 -07:00
Kumar
47f54326f5 Update accel_controller.py 2024-09-24 16:46:33 -07:00
rav4kumar
237dd0aeea tiny bit 2024-09-24 07:47:03 -07:00
rav4kumar
6ffea11910 remove 2024-09-23 21:13:27 -07:00
rav4kumar
e5027e0035 shane update 2024-09-23 21:10:34 -07:00
rav4kumar
47f9b248c9 fix drive mode 2024-09-18 07:36:28 -07:00
rav4kumar
7f29e30cd0 not needed 2024-09-18 07:22:47 -07:00
rav4kumar
e58c509d98 bump ref 2024-09-17 21:16:50 -07:00
rav4kumar
f6831f420e Lexus ES TSS2: improve start from stop for ICE variants #1248 2024-09-17 21:15:29 -07:00
rav4kumar
21d4bd4779 Revert "no shane"
This reverts commit f08c90209b.
2024-09-17 20:49:58 -07:00
rav4kumar
6e775c1768 fix drive mode 2024-09-17 07:16:08 -07:00
rav4kumar
10baad1d23 tt 2024-09-17 07:06:48 -07:00
Kumar
a5450a1dd0 Update interface.py 2024-09-16 16:25:51 -07:00
Kumar
e7ad4ab7c5 Update long_mpc.py 2024-09-16 16:12:46 -07:00
Kumar
1557662393 Update accel_controller.py 2024-09-16 16:11:09 -07:00
Kumar
38d4cba5be Update interface.py 2024-09-16 16:10:31 -07:00
Kumar
f08c90209b no shane 2024-09-16 09:12:01 -07:00
rav4kumar
4ec3d78e3d tune 2024-09-16 07:39:04 -07:00
rav4kumar
4726c05dfa shanes changes 2024-09-16 07:36:22 -07:00
rav4kumar
7b384185a6 hard code 2024-09-15 20:41:39 -07:00
rav4kumar
1400df2789 drive mode selector 2024-09-15 20:26:41 -07:00
Kumar
a925ad1fa7 fix 2024-09-15 16:54:46 -07:00
Kumar
e2ca21f605 ffer 2024-09-15 15:01:36 -07:00
rav4kumar
0a55f898d5 bump ref 2024-09-14 20:16:54 -07:00
Kumar
b73eb6e6db Update accel_controller.py 2024-09-14 16:47:13 -07:00
Kumar
e78e1ee8c8 Update accel_controller.py 2024-09-14 15:56:52 -07:00
rav4kumar
0765267cb2 readd from openpilot.selfdrive.controls.lib.pid import PIDController 2024-09-14 04:11:55 -07:00
rav4kumar
4a07ec504f 9-9-sm 2024-09-13 17:41:33 -07:00
Kumar
187cefb2df Update interface.py 2024-09-13 11:42:37 -07:00
Kumar
ce268cbc61 Update long_mpc.py 2024-09-13 11:41:48 -07:00
rav4kumar
404148cb3c no shane 2024-09-13 07:49:28 -07:00
rav4kumar
17a20291e2 Merge branch 'lt' of https://github.com/sunnypilot/sunnypilot into lt 2024-09-12 17:30:08 -07:00
rav4kumar
5afc2a3c62 revert "Toyota: API is now gas/brake #1189" 2024-09-12 17:29:30 -07:00
Kumar
ee9353480d Update accel_controller.py 2024-09-11 18:23:07 -07:00
rav4kumar
dced58dc34 highspeed 2024-09-11 07:21:13 -07:00
rav4kumar
98d72bba3d dec: bp - large=low, small=high 2024-09-11 07:20:02 -07:00
rav4kumar
a0dac9282e dec: contextual check before setting true 2024-09-10 07:20:52 -07:00
rav4kumar
2dcc838f73 less bp 2024-09-10 07:03:32 -07:00
Kumar
0b4170dcc2 gd 2024-09-09 15:39:25 -07:00
Kumar
143ac94ba9 Update accel_controller.py 2024-09-09 13:29:34 -07:00
Kumar
876a500cfb Update accel_controller.py 2024-09-09 13:02:40 -07:00
Kumar
06726c4b92 Update accel_controller.py 2024-09-09 13:01:46 -07:00
Kumar
e03b640bf8 Update accel_controller.py 2024-09-09 07:48:30 -07:00
Kumar
f97e2fa4bd Update interface.py 2024-09-09 07:40:27 -07:00
Kumar
bda7abf354 Update accel_controller.py 2024-09-08 16:59:47 -07:00
Kumar
af9a9d50cc Update interface.py 2024-09-08 16:58:36 -07:00
Kumar
5b62bd4033 Update interface.py 2024-09-06 16:24:30 -07:00
Kumar
9ed43705c4 finnefriyah! 2024-09-06 07:27:07 -07:00
Kumar
e30ae2e70e Update accel_controller.py 2024-09-05 16:42:44 -07:00
Kumar
e08a8552e0 Update interface.py 2024-09-05 16:41:17 -07:00
Kumar
235048ab9d Update interface.py 2024-09-05 08:03:58 -07:00
Kumar
e13b70f88b shane 2024-09-05 07:44:07 -07:00
Kumar
265e1ae7ce ff 2024-09-04 16:45:43 -07:00
Kumar
929ea507f2 tt 2024-09-04 07:33:11 -07:00
Kumar
3d06292c7e Update long_mpc.py 2024-09-03 16:37:03 -07:00
Kumar
f8ee6f60ff Update accel_controller.py 2024-09-03 16:35:49 -07:00
Kumar
725fcea452 Update interface.py 2024-09-03 08:26:20 -07:00
rav4kumar
acb894a678 reset 2024-09-02 20:03:09 -07:00
Kumar
c574fd0b5b Update long_mpc.py 2024-09-02 17:04:08 -07:00
Kumar
cf36500aef Update accel_controller.py 2024-09-02 17:02:52 -07:00
rav4kumar
17829703ee import params 2024-09-01 21:39:55 -07:00
rav4kumar
c854c9763d Toyota: API is now gas/brake #1189 2024-09-01 21:31:12 -07:00
rav4kumar
a0bbe2a126 ui: eco status 2024-09-01 12:10:39 -07:00
rav4kumar
77259f26d0 faster deteceted for slowdown 2024-08-30 06:58:38 -07:00
rav4kumar
f093f460a3 firyahhhhh! 2024-08-23 07:42:48 -07:00
Kumar
bbbbe3b8ef Update interface.py 2024-08-22 13:10:32 -07:00
rav4kumar
4182f29840 low speed 2024-08-22 07:04:35 -07:00
Stupefacient
2d4f31bcec Remove device (#416) 2024-08-22 07:46:37 +02:00
Kumar
5e798af4a1 Update dynamic_experimental_controller.py 2024-08-21 17:41:52 -07:00
Kumar
dd40b8a1e8 Update accel_controller.py 2024-08-21 16:43:58 -07:00
Kumar
202ea9141f Update dynamic_experimental_controller.py 2024-08-21 08:24:42 -07:00
Kumar
1e8a276027 Update dynamic_experimental_controller.py 2024-08-21 08:17:47 -07:00
rav4kumar
817592c184 tune 2024-08-21 07:51:07 -07:00
rav4kumar
1797d978a4 dec: use "WeightedMovingAverageCalculator" for more responsiveness and for smoohter transtion 2024-08-21 07:48:25 -07:00
rav4kumar
df8046ec8c dec: use anomaly to filter noise 2024-08-20 07:40:33 -07:00
rav4kumar
ba52a42514 ll 2024-08-20 07:16:41 -07:00
rav4kumar
c1cc78d401 tiny tiny 2024-08-18 20:13:24 -07:00
Kumar
3281ab4b84 gg 2024-08-17 20:44:11 -07:00
Kumar
d00d623173 staged 2024-08-17 13:01:01 -07:00
Kumar
36109bc743 Update accel_controller.py 2024-08-16 13:59:08 -07:00
Kumar
4c198769b1 Update long_mpc.py 2024-08-16 08:16:33 -07:00
Kumar
57fce9f3a4 Update long_mpc.py 2024-08-16 07:09:54 -07:00
Kumar
852302b97b Update accel_controller.py 2024-08-15 16:36:44 -07:00
rav4kumar
a176851afe readjust low speed 2024-08-15 05:32:29 -07:00
Kumar
ce4d1f8505 142 2024-08-14 07:55:54 -07:00
rav4kumar
a0f2b086c7 Merge remote-tracking branch 'origin/master-dev-c3' into lt 2024-08-13 17:58:07 -07:00
Kumar
59ad1b0926 readjust ll 2024-08-13 16:35:41 -07:00
Kumar
add019179f tt 2024-08-12 13:28:29 -07:00
rav4kumar
4a51023102 low low lose 2024-08-11 12:12:54 -07:00
rav4kumar
1f0415e310 Merge remote-tracking branch 'origin/master-dev-c3' into lt 2024-08-11 11:54:03 -07:00
Kumar
1937140890 Update long_mpc.py 2024-08-10 22:17:14 -07:00
Kumar
b9d1980f6e Update accel_controller.py 2024-08-10 22:16:08 -07:00
Kumar
0b766c67b3 fine tune - cutin 2024-08-10 09:47:59 -07:00
rav4kumar
f31bd02087 Merge remote-tracking branch 'origin/master-dev-c3' into lt 2024-08-09 20:01:06 -07:00
Kumar
f9a195bab7 safety 2024-08-09 07:45:19 -07:00
Jason Wen
21a2aa79b2 Merge branch 'hkg-can-jerk' into lt 2024-08-08 21:01:09 -04:00
rav4kumar
31ba711819 dec 2024-08-08 07:22:09 -07:00
rav4kumar
805fd9a290 low speed 2024-08-08 07:13:50 -07:00
Jason Wen
b8f63740bc Merge branch 'hkg-can-jerk' into lt 2024-08-07 13:23:46 -04:00
Jason Wen
c5ebb3a5a1 Merge branch 'hkg-can-jerk' into lt 2024-08-07 11:21:22 -04:00
Jason Wen
c365aac60a Merge branch 'hkg-can-jerk' into lt 2024-08-07 07:48:09 -04:00
Jason Wen
98e9890004 Merge branch 'hkg-can-jerk' into lt 2024-08-07 07:16:59 -04:00
Kumar
8b976ee3ac Lt (#402) 2024-08-06 21:42:51 -07:00
Kumar
c0d5f23ac0 Merge branch 'lt' into lt 2024-08-06 21:42:26 -07:00
Jason Wen
5341eb30fe Merge branch 'hkg-can-jerk' into lt 2024-08-07 00:16:36 -04:00
Jason Wen
a07bb99d0c Merge branch 'hkg-can-jerk' into lt
# Conflicts:
#	selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py
#	selfdrive/controls/lib/longitudinal_planner.py
2024-08-06 23:45:29 -04:00
rav4kumar
bc65566017 Revert "dynamically change *coast @cydia2020"
This reverts commit c831b5f2af.
2024-08-06 17:36:53 -07:00
Kumar
db684508da Update accel_controller.py 2024-08-06 16:48:44 -07:00
cgw1968acc
94fc8a9b5a Update accel_controller.py 2024-08-07 00:01:57 +08:00
cgw1968acc
080ca6e62f Update accel_controller.py 2024-08-06 23:59:42 +08:00
cgw1968acc
4e3e220f37 Update accel_controller.py 2024-08-06 23:54:51 +08:00
cgw1968acc
b2dfc01469 Update accel_controller.py 2024-08-06 23:29:32 +08:00
Kumar
3413f077fb Simplify 2024-08-06 08:20:37 -07:00
cgw1968acc
c32595e63f Update accel_controller.py 2024-08-06 23:04:49 +08:00
rav4kumar
cae49279e5 Merge remote-tracking branch 'origin/master-dev-c3' into lt 2024-08-06 07:37:56 -07:00
rav4kumar
72deb320a7 Merge remote-tracking branch 'origin/master' into lt 2024-08-06 07:06:04 -07:00
rav4kumar
f532c73c60 accel 2024-08-06 07:05:50 -07:00
rav4kumar
bb3d041bb1 rockettttt 2024-08-06 07:00:38 -07:00
cgw1968acc
f7da0a2af5 Update accel_controller.py 2024-08-06 21:24:23 +08:00
cgw1968acc
2773e214a8 Update accel_controller.py 2024-08-06 21:09:51 +08:00
Kumar
d0608fc987 Update long_mpc.py 2024-08-05 17:37:22 -07:00
Kumar
2f56309bb6 Update long_mpc.py 2024-08-05 17:17:27 -07:00
Jason Wen
e602ac636c Merge branch 'hkg-can-jerk' into lt 2024-08-05 13:44:01 -04:00
Kumar
1ce2ecd153 Update accel_controller.py 2024-08-05 08:09:38 -07:00
Kumar
b4fd05617c Update long_mpc.py 2024-08-04 08:06:12 -07:00
Jason Wen
373d6c2e59 Merge branch 'hkg-can-jerk' into lt 2024-08-04 11:02:14 -04:00
rav4kumar
7aef4728ca low speed breakpoints / closer stop to the lead in front 2024-08-04 06:16:49 -07:00
Jason Wen
ca5fa0e6d9 Merge branch 'hkg-can-jerk' into lt 2024-08-04 09:11:32 -04:00
rav4kumar
0c76a761ce Merge remote-tracking branch 'origin/master' into lt 2024-08-04 06:07:41 -07:00
rav4kumar
dee11f6d54 bump ref 2024-08-03 22:13:26 -07:00
rav4kumar
76efd9e8ae fix ui 2024-08-03 22:02:51 -07:00
rav4kumar
2721e85275 gg 2024-08-03 21:51:24 -07:00
rav4kumar
dd08146711 tune 2024-08-03 21:50:54 -07:00
rav4kumar
c219ba7c79 ttttttt 2024-08-03 21:50:47 -07:00
rav4kumar
ee67635e8d tune 2024-08-03 21:50:40 -07:00
rav4kumar
972c69bd2a df 2024-08-03 21:50:16 -07:00
rav4kumar
16e9625626 stop distance tune 2024-08-03 21:49:55 -07:00
rav4 kumar
6b71d82019 vroom vroom vroom vroom vroom 2024-08-03 21:49:33 -07:00
rav4kumar
8d693e1d41 dec update 2024-08-03 21:49:10 -07:00
rav4kumar
cab9ccf0d8 prius glides tunes 2024-08-03 21:48:19 -07:00
rav4kumar
c831b5f2af dynamically change *coast @cydia2020 2024-08-03 21:47:38 -07:00
rav4kumar
58f994496c bsm 2024-08-03 21:20:43 -07:00
rav4kumar
2e15f519bc Reapply "Toyota: Auto Brake Hold"
This reverts commit be72a8ed06.
2024-08-03 21:19:27 -07:00
34 changed files with 941 additions and 283 deletions

View File

@@ -5,16 +5,9 @@ sunnypilot - 0.9.8.0 (2024-xx-xx)
* UPDATED: Synced with commaai's openpilot
* master commit 4ef757c (July 06, 2024)
* NEW❗: Default Driving Model: Notre Dame (July 01, 2024)
* NEW❗: Longitudinal: Acceleration Personality thanks to kegman, rav4kumar, and arne1282! (CTV 2.0: GlideTech)
* NEW❗: Longitudinal: Acceleration Personality thanks to kegman, rav4kumar, and arne1282!
* 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!
* 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!
* 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
@@ -33,8 +26,8 @@ sunnypilot - 0.9.8.0 (2024-xx-xx)
* Toyota TSS1/1.5, 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
* UPDATED: Toyota: TSS2 longitudinal: Custom Tuning (CTV 2.0: GlideTech)
* Re-tuned and tested by the community (September 29, 2024)
* UPDATED: Toyota: TSS2 longitudinal: Custom Tuning
* Re-tuned and tested by the community (July 1, 2024)
* UPDATED: Driving Model Selector v5
* NEW❗: Driving Model additions
* Notre Dame (July 01, 2024) - NDv3
@@ -45,6 +38,9 @@ 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
* 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
* 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!
* 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

View File

@@ -138,6 +138,7 @@ struct CarEvent @0x9b1657f34caf3ad3 {
speedLimitConfirmed @140;
torqueNNLoad @141;
hyundaiRadarTracksAvailable @142;
spAutoBrakeHold @143;
radarCanErrorDEPRECATED @15;
communityFeatureDisallowedDEPRECATED @62;

View File

@@ -330,6 +330,7 @@ std::unordered_map<std::string, uint32_t> keys = {
{"TorqueLateralJerk", PERSISTENT | BACKUP},
{"TorqueMaxLatAccel", PERSISTENT | BACKUP},
{"TorquedOverride", PERSISTENT | BACKUP},
{"ToyotaAutoHold", PERSISTENT | BACKUP},
{"ToyotaAutoLockBySpeed", PERSISTENT | BACKUP},
{"ToyotaAutoUnlockByShifter", PERSISTENT | BACKUP},
{"ToyotaDriveMode", PERSISTENT | BACKUP},

2
panda

Submodule panda updated: 55018eafc2...827201c04a

View File

@@ -60,6 +60,7 @@ class Car:
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_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
if not self.disengage_on_accelerator:
self.CP.alternativeExperience |= ALTERNATIVE_EXPERIENCE.DISABLE_DISENGAGE_ON_GAS
@@ -67,6 +68,8 @@ class Car:
self.CP.alternativeExperience |= ALTERNATIVE_EXPERIENCE.ENABLE_MADS
elif self.mads_ndlob:
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"):
self.CP.pcmCruiseSpeed = False

View File

@@ -126,7 +126,7 @@ class CarInterface(CarInterfaceBase):
if 0x1fa in fingerprint[CAN.ECAN]:
ret.spFlags |= HyundaiFlagsSP.SP_NAV_MSG.value
if Params().get("DongleId", encoding='utf8') in ("012c95f06918eca4", "68d6a96e703c00c9", "11c1f1909ca37bca"):
if Params().get("DongleId", encoding='utf8') in ("012c95f06918eca4", "68d6a96e703c00c9"):
ret.spFlags |= HyundaiFlagsSP.SP_UPSTREAM_TACO.value
else:
ret.enableBsm = 0x58b in fingerprint[0]

View File

@@ -1,8 +1,11 @@
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 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, \
create_gas_interceptor_command
create_gas_interceptor_command, rate_limit
from openpilot.selfdrive.car.interfaces import CarControllerBase
from openpilot.selfdrive.car.toyota import toyotacan
from openpilot.selfdrive.car.toyota.values import CAR, STATIC_DSU_MSGS, NO_STOP_TIMER_CAR, TSS2_CAR, \
@@ -13,6 +16,11 @@ from opendbc.can.packer import CANPacker
GearShifter = car.CarState.GearShifter
SteerControlType = car.CarParams.SteerControlType
VisualAlert = car.CarControl.HUDControl.VisualAlert
LongCtrlState = car.CarControl.Actuators.LongControlState
ACCELERATION_DUE_TO_GRAVITY = 9.81 # m/s^2
ACCEL_WINDUP_LIMIT = 0.5 # m/s^2 / frame
# LKA limits
# EPS faults if you apply torque while the steering rate is above 100 deg/s for too long
@@ -46,6 +54,9 @@ class CarController(CarControllerBase):
self.steer_rate_counter = 0
self.distance_button = 0
self.pcm_accel_compensation = 0.0
self.permit_braking = 0.0
self.packer = CANPacker(dbc_name)
self.gas = 0
self.accel = 0
@@ -55,6 +66,13 @@ class CarController(CarControllerBase):
self.last_blindspot_frame = 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._gear_prev = GearShifter.park
@@ -133,6 +151,39 @@ class CarController(CarControllerBase):
lta_active, self.frame // 2, torque_wind_down))
# *** gas and brake ***
# For cars where we allow a higher max acceleration of 2.0 m/s^2, compensate for PCM request overshoot and imprecise braking
# TODO: sometimes when switching from brake to gas quickly, CLUTCH->ACCEL_NET shows a slow unwind. make it go to 0 immediately
if self.CP.flags & ToyotaFlags.RAISED_ACCEL_LIMIT and CC.longActive and not CS.out.cruiseState.standstill:
# calculate amount of acceleration PCM should apply to reach target, given pitch
accel_due_to_pitch = math.sin(CS.slope_angle) * ACCELERATION_DUE_TO_GRAVITY
net_acceleration_request = actuators.accel + accel_due_to_pitch
# let PCM handle stopping for now
pcm_accel_compensation = 0.0
if actuators.longControlState != LongCtrlState.stopping:
pcm_accel_compensation = 2.0 * (CS.pcm_accel_net - net_acceleration_request)
# prevent compensation windup
pcm_accel_compensation = clip(pcm_accel_compensation, actuators.accel - self.params.ACCEL_MAX,
actuators.accel - self.params.ACCEL_MIN)
self.pcm_accel_compensation = rate_limit(pcm_accel_compensation, self.pcm_accel_compensation, -0.01, 0.01)
pcm_accel_cmd = actuators.accel - self.pcm_accel_compensation
# Along with rate limiting positive jerk below, this greatly improves gas response time
# Consider the net acceleration request that the PCM should be applying (pitch included)
if net_acceleration_request < 0.1:
self.permit_braking = True
elif net_acceleration_request > 0.2:
self.permit_braking = False
else:
self.pcm_accel_compensation = 0.0
pcm_accel_cmd = actuators.accel
self.permit_braking = True
pcm_accel_cmd = clip(pcm_accel_cmd, self.params.ACCEL_MIN, self.params.ACCEL_MAX)
if self.CP.enableGasInterceptorDEPRECATED and CC.longActive:
MAX_INTERCEPTOR_GAS = 0.5
# RAV4 has very sensitive gas pedal
@@ -148,7 +199,6 @@ class CarController(CarControllerBase):
interceptor_gas_cmd = clip(pedal_command, 0., MAX_INTERCEPTOR_GAS)
else:
interceptor_gas_cmd = 0.
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
# than CS.cruiseState.enabled. confirm they're not meaningfully different
@@ -168,6 +218,9 @@ class CarController(CarControllerBase):
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
fcw_alert = hud_control.visualAlert == VisualAlert.fcw
steer_alert = hud_control.visualAlert in (VisualAlert.steerRequired, VisualAlert.ldw)
@@ -189,11 +242,14 @@ class CarController(CarControllerBase):
if pcm_cancel_cmd and self.CP.carFingerprint in UNSUPPORTED_DSU_CAR:
can_sends.append(toyotacan.create_acc_cancel_command(self.packer))
elif self.CP.openpilotLongitudinalControl:
can_sends.append(toyotacan.create_accel_command(self.packer, pcm_accel_cmd, pcm_cancel_cmd, self.standstill_req, lead, CS.acc_type, fcw_alert,
self.distance_button, reverse_acc))
# internal PCM gas command can get stuck unwinding from negative accel so we apply a generous rate limit
pcm_accel_cmd = min(pcm_accel_cmd, self.accel + ACCEL_WINDUP_LIMIT) if CC.longActive else 0.0
can_sends.append(toyotacan.create_accel_command(self.packer, pcm_accel_cmd, pcm_cancel_cmd, self.permit_braking, self.standstill_req, lead,
CS.acc_type, fcw_alert, self.distance_button, reverse_acc))
self.accel = pcm_accel_cmd
else:
can_sends.append(toyotacan.create_accel_command(self.packer, 0, pcm_cancel_cmd, False, lead, CS.acc_type, False, self.distance_button, reverse_acc))
can_sends.append(toyotacan.create_accel_command(self.packer, 0, pcm_cancel_cmd, True, False, lead, CS.acc_type, False, self.distance_button, reverse_acc))
if self.frame % 2 == 0 and self.CP.enableGasInterceptorDEPRECATED and self.CP.openpilotLongitudinalControl:
# send exactly zero if gas cmd is zero. Interceptor will send the max between read value and gas cmd.
@@ -286,3 +342,25 @@ class CarController(CarControllerBase):
# print("bsm poll right")
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

View File

@@ -57,6 +57,8 @@ class CarState(CarStateBase):
self.low_speed_lockout = False
self.acc_type = 1
self.lkas_hud = {}
self.pcm_accel_net = 0.0
self.slope_angle = 0.0
self.lkas_enabled = None
self.prev_lkas_enabled = None
@@ -87,6 +89,10 @@ class CarState(CarStateBase):
self.prev_accel_profile = None
self.accel_profile_init = False
self.toyota_drive_mode = Params().get_bool('ToyotaDriveMode')
if CP.spFlags & ToyotaFlagsSP.SP_AUTO_BRAKE_HOLD:
self.pre_collision_2 = {}
self.frame = 0
def update(self, cp, cp_cam):
@@ -96,6 +102,24 @@ class CarState(CarStateBase):
self.prev_lkas_enabled = self.lkas_enabled
self.prev_lta_status = self.lta_status
# Describes the acceleration request from the PCM if on flat ground, may be higher or lower if pitched
# CLUTCH->ACCEL_NET is only accurate for gas, PCM_CRUISE->ACCEL_NET is only accurate for brake
# These signals only have meaning when ACC is active
if self.CP.flags & ToyotaFlags.RAISED_ACCEL_LIMIT:
self.pcm_accel_net = max(cp.vl["CLUTCH"]["ACCEL_NET"], 0.0)
# Sometimes ACC_BRAKING can be 1 while showing we're applying gas already
if cp.vl["PCM_CRUISE"]["ACC_BRAKING"]:
self.pcm_accel_net += min(cp.vl["PCM_CRUISE"]["ACCEL_NET"], 0.0)
# add creeping force at low speeds only for braking, CLUTCH->ACCEL_NET already shows this
neutral_accel = max(cp.vl["PCM_CRUISE"]["NEUTRAL_FORCE"] / self.CP.mass, 0.0)
if self.pcm_accel_net + neutral_accel < 0.0:
self.pcm_accel_net += neutral_accel
# filtered pitch estimate from the car, negative is a downward slope
self.slope_angle = cp.vl["VSC1S07"]["ASLP"] * CV.DEG_TO_RAD
ret.doorOpen = any([cp.vl["BODY_CONTROL_STATE"]["DOOR_OPEN_FL"], cp.vl["BODY_CONTROL_STATE"]["DOOR_OPEN_FR"],
cp.vl["BODY_CONTROL_STATE"]["DOOR_OPEN_RL"], cp.vl["BODY_CONTROL_STATE"]["DOOR_OPEN_RR"]])
ret.seatbeltUnlatched = cp.vl["BODY_CONTROL_STATE"]["SEATBELT_DRIVER_UNLATCHED"] != 0
@@ -186,37 +210,29 @@ class CarState(CarStateBase):
if self.toyota_drive_mode:
# Determine sport signal based on car model
sport_signal = 'SPORT_ON_2' if self.CP.carFingerprint in (CAR.TOYOTA_RAV4_TSS2, CAR.LEXUS_ES_TSS2, CAR.TOYOTA_HIGHLANDER_TSS2) else 'SPORT_ON'
sport_signal = 'SPORT_ON_2' if self.CP.carFingerprint in (CAR.TOYOTA_RAV4_TSS2, CAR.LEXUS_ES_TSS2) else 'SPORT_ON'
# Check signals once
if not self.signals_checked:
self.signals_checked = True
# Try to detect sport mode signal, handle missing signal with a fallback
try:
sport_mode = cp.vl["GEAR_PACKET"][sport_signal]
self.sport_signal_seen = True
except KeyError:
sport_mode = 0
self.sport_signal_seen = False
# Get sport and eco signals, handling missing signals
sport_mode = cp.vl["GEAR_PACKET"].get(sport_signal, 0)
eco_mode = cp.vl["GEAR_PACKET"].get('ECON_ON', 0)
# Try to detect eco mode signal, handle missing signal with a fallback
try:
eco_mode = cp.vl["GEAR_PACKET"]['ECON_ON']
self.eco_signal_seen = True
except KeyError:
eco_mode = 0
self.eco_signal_seen = False
# Track if signals were detected
self.sport_signal_seen = sport_mode == 1
self.eco_signal_seen = eco_mode == 1
else:
# Always re-check the signals to account for mode changes
sport_mode = cp.vl["GEAR_PACKET"][sport_signal] if self.sport_signal_seen else 0
eco_mode = cp.vl["GEAR_PACKET"]['ECON_ON'] if self.eco_signal_seen else 0
# Use previously detected signals if they were seen
sport_mode = 1 if self.sport_signal_seen else 0
eco_mode = 1 if self.eco_signal_seen else 0
# Set acceleration profile based on detected modes, with sport mode having higher priority
if sport_mode == 1:
self.accel_profile = AccelPersonality.sport
elif eco_mode == 1:
# Set acceleration profile based on detected modes, prioritize eco over sport if both are detected
if eco_mode == 1:
self.accel_profile = AccelPersonality.eco
elif sport_mode == 1:
self.accel_profile = AccelPersonality.sport
else:
self.accel_profile = AccelPersonality.normal
@@ -226,8 +242,9 @@ class CarState(CarStateBase):
if not self.accel_profile_init or self.accel_profile != self.prev_accel_profile:
Params().put_nonblocking('AccelPersonality', str(self.accel_profile))
self.accel_profile_init = True
# Update the previous profile to prevent unnecessary re-syncing
self.prev_accel_profile = self.accel_profile
# Update the previous profile
self.prev_accel_profile = self.accel_profile
if self.CP.carFingerprint != CAR.TOYOTA_MIRAI:
ret.engineRpm = cp.vl["ENGINE_RPM"]["RPM"]
@@ -313,6 +330,9 @@ class CarState(CarStateBase):
if self.CP.spFlags & ToyotaFlagsSP.SP_ENHANCED_BSM and self.frame > 199:
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)
ret.cruiseState.speedLimit = self._calculate_speed_limit()
self.frame += 1
@@ -443,6 +463,7 @@ class CarState(CarStateBase):
("BODY_CONTROL_STATE", 3),
("BODY_CONTROL_STATE_2", 2),
("ESP_CONTROL", 3),
("VSC1S07", 20),
("EPS_STATUS", 25),
("BRAKE_MODULE", 40),
("WHEEL_SPEEDS", 80),
@@ -452,6 +473,9 @@ class CarState(CarStateBase):
("STEER_TORQUE_SENSOR", 50),
]
if CP.flags & ToyotaFlags.RAISED_ACCEL_LIMIT:
messages.append(("CLUTCH", 15))
if CP.carFingerprint != CAR.TOYOTA_MIRAI:
messages.append(("ENGINE_RPM", 42))
@@ -516,4 +540,7 @@ class CarState(CarStateBase):
("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)

View File

@@ -17,7 +17,7 @@ GearShifter = car.CarState.GearShifter
class CarInterface(CarInterfaceBase):
@staticmethod
def get_pid_accel_limits(CP, current_speed, cruise_speed):
return CarControllerParams.ACCEL_MIN, CarControllerParams.ACCEL_MAX
return CarControllerParams(CP).ACCEL_MIN, CarControllerParams(CP).ACCEL_MAX
@staticmethod
def _get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs):
@@ -63,6 +63,9 @@ class CarInterface(CarInterfaceBase):
ret.enableDsu = len(found_ecus) > 0 and Ecu.dsu not in found_ecus and candidate not in (NO_DSU_CAR | UNSUPPORTED_DSU_CAR) \
and not (ret.flags & ToyotaFlags.SMART_DSU)
if True: # candidate in (CAR.LEXUS_ES_TSS2, CAR.TOYOTA_COROLLA_TSS2, CAR.TOYOTA_PRIUS_TSS2, CAR.LEXUS_RX_TSS2) and Ecu.hybrid not in found_ecus:
ret.flags |= ToyotaFlags.RAISED_ACCEL_LIMIT.value
if candidate == CAR.TOYOTA_PRIUS:
zss = ret.spFlags & ToyotaFlagsSP.SP_ZSS
stop_and_go = True
@@ -160,30 +163,39 @@ class CarInterface(CarInterfaceBase):
sp_tss2_long_tune = Params().get_bool("ToyotaTSS2Long")
# Last updated: September 29, 2024
def custom_tss2_longitudinal_tuning(): # hand tuned
ret.vEgoStopping = 0.25
ret.vEgoStarting = 0.01
ret.stoppingDecelRate = 0.006
# hand tuned (August 12, 2024)
def custom_tss2_longitudinal_tuning():
ret.vEgoStopping = 0.15
ret.vEgoStarting = 0.05
ret.stopAccel = -2.0
ret.stoppingDecelRate = 0.005 # reach stopping target smoothly
def default_tss2_longitudinal_tuning(): # stock comma
def default_tss2_longitudinal_tuning():
ret.vEgoStopping = 0.25
ret.vEgoStarting = 0.10
ret.stoppingDecelRate = 0.007 # reach stopping target smoothly
ret.vEgoStarting = 0.25
ret.stoppingDecelRate = 0.3 # reach stopping target smoothly
def default_longitudinal_tuning(): # stock comma
def default_longitudinal_tuning():
tune.kiBP = [0., 5., 35.]
tune.kiV = [3.6, 2.4, 1.5]
tune = ret.longitudinalTuning
if candidate in TSS2_CAR or ret.enableGasInterceptorDEPRECATED:
if sp_tss2_long_tune:
tune.kiBP = [0., 5., 12., 20., 27., 36., 40.]
tune.kiV = [0.34, 0.234, 0.20, 0.17, 0.105, 0.09, 0.08]
#tune.kiBP = [0., 0.03, 5., 10., 15., 30.]
#tune.kiV = [0.1, 0.12, 0.08, 0.06, 0.5, 1.0]
#tune.kpBP = [0., 5., 20.]
#tune.kpV = [2.3, 1.0, 0.7]
tune.kiBP = [0., 3., 8., 20., 27., 40.]
tune.kiV = [.35, .24, .20, .17, .10, .06]
custom_tss2_longitudinal_tuning()
else:
tune.kpV = [0.0]
tune.kiV = [0.5]
# Since we compensate for imprecise acceleration in carcontroller, we can be less aggressive with tuning
# This also prevents unnecessary request windup due to internal car jerk limits
if ret.flags & ToyotaFlags.RAISED_ACCEL_LIMIT:
tune.kiV = [0.25]
if candidate in TSS2_CAR:
default_tss2_longitudinal_tuning()
else:
@@ -195,6 +207,9 @@ class CarInterface(CarInterfaceBase):
if candidate == CAR.TOYOTA_PRIUS_TSS2:
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
@staticmethod
@@ -268,6 +283,11 @@ class CarInterface(CarInterfaceBase):
# while in standstill, send a user alert
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()
return ret

View File

@@ -34,14 +34,14 @@ def create_lta_steer_command(packer, steer_control_type, steer_angle, steer_req,
return packer.make_can_msg("STEERING_LTA", 0, values)
def create_accel_command(packer, accel, pcm_cancel, standstill_req, lead, acc_type, fcw_alert, distance, reverse_acc):
def create_accel_command(packer, accel, pcm_cancel, permit_braking, standstill_req, lead, acc_type, fcw_alert, distance, reverse_acc):
# TODO: find the exact canceling bit that does not create a chime
values = {
"ACCEL_CMD": 0 if pcm_cancel else accel,
"ACC_TYPE": acc_type,
"DISTANCE": distance,
"MINI_CAR": lead,
"PERMIT_BRAKING": 1,
"PERMIT_BRAKING": permit_braking,
"RELEASE_STANDSTILL": not standstill_req,
"CANCEL_REQ": pcm_cancel,
"ALLOW_LONG_PRESS": reverse_acc,
@@ -130,3 +130,37 @@ def create_set_bsm_debug_mode(lr_blindspot, enabled):
def create_bsm_polling_status(lr_blindspot):
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)

View File

@@ -16,9 +16,6 @@ PEDAL_TRANSITION = 10. * CV.MPH_TO_MS
class CarControllerParams:
ACCEL_MAX = 1.5 # m/s2, lower than allowed 2.0 m/s2 for tuning reasons
ACCEL_MIN = -3.5 # m/s2
STEER_STEP = 1
STEER_MAX = 1500
STEER_ERROR_MAX = 350 # max delta between torque cmd and torque motor
@@ -33,6 +30,12 @@ class CarControllerParams:
ANGLE_RATE_LIMIT_DOWN = AngleRateLimit(speed_bp=[5, 25], angle_v=[0.36, 0.26])
def __init__(self, CP):
if CP.flags & ToyotaFlags.RAISED_ACCEL_LIMIT:
self.ACCEL_MAX = 2.0
else:
self.ACCEL_MAX = 1.5 # m/s2, lower than allowed 2.0 m/s^2 for tuning reasons
self.ACCEL_MIN = -3.5 # m/s2
if CP.lateralTuning.which == 'torque':
self.STEER_DELTA_UP = 15 # 1.0s time to peak torque
self.STEER_DELTA_DOWN = 25 # always lower than 45 otherwise the Rav4 faults (Prius seems ok with 50)
@@ -58,12 +61,15 @@ class ToyotaFlags(IntFlag):
NO_STOP_TIMER = 256
# these cars are speculated to allow stop and go when the DSU is unplugged or disabled with sDSU
SNG_WITHOUT_DSU = 512
# these cars can utilize 2.0 m/s^2
RAISED_ACCEL_LIMIT = 1024
class ToyotaFlagsSP(IntFlag):
SP_ZSS = 1
SP_ENHANCED_BSM = 2
SP_NEED_DEBUG_BSM = 4
SP_AUTO_BRAKE_HOLD = 8
class Footnote(Enum):

View File

@@ -744,6 +744,14 @@ EVENTS: dict[int, dict[str, Alert | AlertCallbackType]] = {
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: {
ET.USER_DISABLE: EngagementAlert(AudibleAlert.disengage),
ET.NO_ENTRY: NoEntryAlert("Parking Brake Engaged"),

View File

@@ -63,9 +63,9 @@ def get_jerk_factor(personality=custom.LongitudinalPersonalitySP.standard):
elif personality==custom.LongitudinalPersonalitySP.standard:
return 1.0
elif personality==custom.LongitudinalPersonalitySP.moderate:
return 0.9
return 0.5
elif personality==custom.LongitudinalPersonalitySP.aggressive:
return 0.8
return 0.2
elif personality==custom.LongitudinalPersonalitySP.overtake:
return 0.1
else:
@@ -74,37 +74,36 @@ def get_jerk_factor(personality=custom.LongitudinalPersonalitySP.standard):
def get_T_FOLLOW(personality=custom.LongitudinalPersonalitySP.standard):
if personality==custom.LongitudinalPersonalitySP.relaxed:
return 1.75
return 1.80
elif personality==custom.LongitudinalPersonalitySP.standard:
return 1.45
return 1.55
elif personality==custom.LongitudinalPersonalitySP.moderate:
return 1.25
return 1.35
elif personality==custom.LongitudinalPersonalitySP.aggressive:
return 1.0
return 1.20
elif personality==custom.LongitudinalPersonalitySP.overtake:
return 0.25
else:
raise NotImplementedError("Longitudinal personality not supported")
# Last updated: September 29, 2024
def get_dynamic_personality(v_ego, personality=custom.LongitudinalPersonalitySP.standard):
if personality==custom.LongitudinalPersonalitySP.relaxed:
x_vel = [0, 14., 27.7]
y_dist = [1.75, 1.75, 2.00]
x_vel = [0, 5., 5.01, 8.33, 8.34, 27.69, 27.7]
y_dist = [0.0, 1.2, 1.7, 1.7, 1.75, 1.75, 1.83]
elif personality==custom.LongitudinalPersonalitySP.standard:
x_vel = [0, 14., 27.7]
y_dist = [1.75, 1.75, 1.70]
x_vel = [0, 5.0, 5.01, 8.33, 8.34, 27.69, 27.7]
y_dist = [0.0, 1.6, 1.6, 1.6, 1.75, 1.75, 1.80]
elif personality==custom.LongitudinalPersonalitySP.moderate:
x_vel = [0, 14., 27.7]
y_dist = [1.45, 1.45, 1.48]
x_vel = [0, 5., 5.01, 8.33, 8.34, 27.69, 27.7]
y_dist = [0.0, 1.4, 1.4, 1.4, 1.45, 1.45, 1.50]
elif personality==custom.LongitudinalPersonalitySP.aggressive:
x_vel = [0, 14., 27.7]
y_dist = [1.25, 1.25, 1.28]
x_vel = [0, 5., 5.01, 17.0, 17.01, 27.69, 27.7]
y_dist = [0.0, 1.2, 1.2, 1.2, 1.25, 1.25, 1.3]
else:
raise NotImplementedError("Dynamic personality not supported")
return np.interp(v_ego, x_vel, y_dist)
def get_stopped_equivalence_factor(v_lead):
return (v_lead**2) / (2 * COMFORT_BRAKE)

View File

@@ -21,7 +21,7 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
# Last updated: September 29, 2024
# Last updated: August 12, 2024
from cereal import custom
from openpilot.common.numpy_fast import interp
@@ -29,15 +29,22 @@ from openpilot.common.numpy_fast import interp
AccelPersonality = custom.AccelerationPersonality
# accel personality by @arne182 modified by cgw and kumar
_DP_CRUISE_MIN_V = [-1.0, -1.0, -0.88]
_DP_CRUISE_MIN_V_ECO = [-1.0, -1.0, -0.76]
_DP_CRUISE_MIN_V_SPORT = [-1.0, -1.0, -1.0]
_DP_CRUISE_MIN_BP = [0., 11.1, 20.]
_DP_CRUISE_MIN_V = [-0.12, -0.12, -0.08, -0.08, -0.14, -0.14, -0.16, -0.16, -0.24, -0.24, -1.0, -1.0, -1.15]
_DP_CRUISE_MIN_V_ECO = [-0.11, -0.11, -0.07, -0.07, -0.13, -0.13, -0.15, -0.15, -0.23, -0.23, -1.0, -1.0, -1.10]
_DP_CRUISE_MIN_V_SPORT = [-0.13, -0.13, -0.09, -0.09, -0.15, -0.15, -0.17, -0.17, -0.25, -0.25, -1.0, -1.0, -1.20]
_DP_CRUISE_MIN_BP = [0., 0.08, 0.09, 2.77, 2.78, 8.33, 8.34, 13.88, 13.89, 19.44, 25.01, 30.55, 30.56]
#_DP_CRUISE_MIN_BP in kph[0., 0.3, 0.3, 10, 10, 30, 30, 50, 50, 70, 90, 110, >110]
#_DP_CRUISE_MIN_V = [-1.0, -0.88]
#_DP_CRUISE_MIN_V_ECO = [-1.0, -0.76]
#_DP_CRUISE_MIN_V_SPORT = [-1.0, -1.0]
#_DP_CRUISE_MIN_BP = [0., 40.]
_DP_CRUISE_MAX_V = [2.0, 2.0, 1.75, 0.96, .65, .53, .38, .17]
_DP_CRUISE_MAX_V_ECO = [2.0, 1.98, 1.67, 0.92, .58, .47, .32, .09]
_DP_CRUISE_MAX_V_SPORT = [2.0, 2.0, 1.95, 1.15, .84, .70, .50, .30]
_DP_CRUISE_MAX_BP = [0., 6.0, 8., 11., 20., 25., 30., 40.]
_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.50, 0.92, .54, .43, .32, .088]
_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.]
class AccelController:

View File

@@ -21,7 +21,7 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#
# Version = 2024-9-28
# Version = 2024-7-11
from common.numpy_fast import interp
import numpy as np
@@ -376,4 +376,4 @@ class DynamicExperimentalController:
self._set_mode_timeout = SET_MODE_TIMEOUT
if self._set_mode_timeout > 0:
self._set_mode_timeout -= 1
self._set_mode_timeout -= 1

View File

@@ -159,6 +159,18 @@ SPVehiclesTogglesPanel::SPVehiclesTogglesPanel(VehiclePanel *parent) : ListWidge
toyotaTss2LongTune->setConfirmation(true, false);
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",
tr("Enable Enhanced Blind Spot Monitor"),
@@ -215,6 +227,7 @@ SPVehiclesTogglesPanel::SPVehiclesTogglesPanel(VehiclePanel *parent) : ListWidge
hkgCustomLongTuning->setEnabled(offroad);
hyundaiCruiseMainDefault->setEnabled(offroad);
toyotaTss2LongTune->setEnabled(offroad);
toyotaAbh->setEnabled(offroad);
toyotaEnhancedBsm->setEnabled(offroad);
toyotaSngHack->setEnabled(offroad);
volkswagenCCOnly->setEnabled(offroad);

View File

@@ -216,6 +216,7 @@ void AnnotatedCameraWidgetSP::updateState(const UIStateSP &s) {
latAccelFactorFiltered = ltp.getLatAccelFactorFiltered();
frictionCoefficientFiltered = ltp.getFrictionCoefficientFiltered();
liveValid = ltp.getLiveValid();
ecoMode = vEgo > 0 && car_state.getEngineRpm() == 0;
// ############################## DEV UI END ##############################
btnPerc = s.scene.sleep_btn_opacity * 0.05;
@@ -523,10 +524,32 @@ void AnnotatedCameraWidgetSP::drawHud(QPainter &p) {
// current speed
if (!hideVEgoUi) {
// Set up the font for the speed text
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));
drawText(p, rect().center().x(), 290, speedUnit, 200);
drawText(p, centerX, 290, speedUnit, 200);
}
if (!reversing) {
@@ -1165,7 +1188,7 @@ void AnnotatedCameraWidgetSP::drawLaneLines(QPainter &painter, const UIStateSP *
}
// TODO: Fix empty spaces when curiving back on itself
painter.setBrush(QColor::fromRgbF(1.0, 0.0, 0.0, 0.2));
painter.setBrush(QColor::fromRgbF(1.0, 0.0, 0.0, 0.4));
if (left_blindspot) painter.drawPolygon(scene.lane_barrier_vertices[0]);
if (right_blindspot) painter.drawPolygon(scene.lane_barrier_vertices[1]);

View File

@@ -176,6 +176,7 @@ private:
float latAccelFactorFiltered;
float frictionCoefficientFiltered;
bool liveValid;
bool ecoMode;
// ############################## DEV UI END ##############################
float btnPerc;

View File

@@ -203,6 +203,14 @@
<source>mph</source>
<translation type="unfinished">ميل/س</translation>
</message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>MAX</source>
<translation type="unfinished">MAX</translation>
@@ -1466,11 +1474,15 @@ This may take up to a minute.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<source>HKG: Custom Tuning for New Longitudinal API</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>
<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>
<message>
@@ -1517,6 +1529,22 @@ 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>
<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>
<message>
<source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation>
@@ -1583,14 +1611,6 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation>
</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>
<name>SettingsWindow</name>
@@ -2517,6 +2537,14 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation>
</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>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation>
@@ -2525,6 +2553,14 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</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>
<message>
<source>Enable Self-Tune</source>
<translation type="unfinished"></translation>
@@ -2910,6 +2946,10 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Experimental Mode</source>
<translation type="unfinished">الوضع التجريبي</translation>
@@ -3277,6 +3317,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation>
@@ -3305,14 +3353,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WiFiPromptWidget</name>

View File

@@ -203,6 +203,14 @@
<source>mph</source>
<translation type="unfinished">mph</translation>
</message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>MAX</source>
<translation type="unfinished">MAX</translation>
@@ -1448,11 +1456,15 @@ This may take up to a minute.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<source>HKG: Custom Tuning for New Longitudinal API</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>
<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>
<message>
@@ -1499,6 +1511,22 @@ 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>
<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>
<message>
<source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation>
@@ -1565,14 +1593,6 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation>
</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>
<name>SettingsWindow</name>
@@ -2501,6 +2521,14 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation>
</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>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation>
@@ -2509,6 +2537,14 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</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>
<message>
<source>Enable Self-Tune</source>
<translation type="unfinished"></translation>
@@ -2896,6 +2932,10 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Experimental Mode</source>
<translation type="unfinished">Experimenteller Modus</translation>
@@ -3263,6 +3303,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation>
@@ -3291,14 +3339,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WiFiPromptWidget</name>

View File

@@ -207,6 +207,14 @@
<source>LIMIT</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>AutoLaneChangeTimer</name>
@@ -1445,14 +1453,6 @@ Esto puede tardar un minuto.</translation>
<source>Hyundai/Kia/Genesis</source>
<translation type="unfinished"></translation>
</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>
<source>Subaru</source>
<translation type="unfinished"></translation>
@@ -1571,6 +1571,26 @@ 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>
<translation type="unfinished"></translation>
</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>
<name>SettingsWindow</name>
@@ -2677,6 +2697,22 @@ 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>
<translation type="unfinished"></translation>
</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>
<name>TermsPage</name>
@@ -3042,6 +3078,10 @@ 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>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TorqueFriction</name>

View File

@@ -203,6 +203,14 @@
<source>mph</source>
<translation type="unfinished">mi/h</translation>
</message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>MAX</source>
<translation type="unfinished">MAX</translation>
@@ -1450,11 +1458,15 @@ Cela peut prendre jusqu&apos;à une minute.</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<source>HKG: Custom Tuning for New Longitudinal API</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>
<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>
<message>
@@ -1501,6 +1513,22 @@ Cela peut prendre jusqu&apos;à une minute.</translation>
<source>Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation.</source>
<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>
<message>
<source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation>
@@ -1567,14 +1595,6 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation>
</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>
<name>SettingsWindow</name>
@@ -2501,6 +2521,14 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation>
</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>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation>
@@ -2509,6 +2537,14 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</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>
<message>
<source>Enable Self-Tune</source>
<translation type="unfinished"></translation>
@@ -2894,6 +2930,10 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Experimental Mode</source>
<translation type="unfinished">Mode expérimental</translation>
@@ -3261,6 +3301,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation>
@@ -3289,14 +3337,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WiFiPromptWidget</name>

View File

@@ -203,6 +203,14 @@
<source>mph</source>
<translation type="unfinished">mph</translation>
</message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>MAX</source>
<translation type="unfinished"></translation>
@@ -1444,11 +1452,15 @@ This may take up to a minute.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<source>HKG: Custom Tuning for New Longitudinal API</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>
<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>
<message>
@@ -1495,6 +1507,22 @@ 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>
<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>
<message>
<source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation>
@@ -1561,14 +1589,6 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation>
</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>
<name>SettingsWindow</name>
@@ -2495,6 +2515,14 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation>
</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>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation>
@@ -2503,6 +2531,14 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</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>
<message>
<source>Enable Self-Tune</source>
<translation type="unfinished"></translation>
@@ -2888,6 +2924,10 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Experimental Mode</source>
<translation type="unfinished"></translation>
@@ -3255,6 +3295,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation>
@@ -3283,14 +3331,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WiFiPromptWidget</name>

View File

@@ -203,6 +203,14 @@
<source>mph</source>
<translation type="unfinished">mph</translation>
</message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>MAX</source>
<translation type="unfinished">MAX</translation>
@@ -1446,11 +1454,15 @@ This may take up to a minute.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<source>HKG: Custom Tuning for New Longitudinal API</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>
<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>
<message>
@@ -1497,6 +1509,22 @@ 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>
<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>
<message>
<source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation>
@@ -1563,14 +1591,6 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation>
</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>
<name>SettingsWindow</name>
@@ -2497,6 +2517,14 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation>
</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>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation>
@@ -2505,6 +2533,14 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</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>
<message>
<source>Enable Self-Tune</source>
<translation type="unfinished"></translation>
@@ -2890,6 +2926,10 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Experimental Mode</source>
<translation type="unfinished"> </translation>
@@ -3257,6 +3297,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation>
@@ -3285,14 +3333,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WiFiPromptWidget</name>

View File

@@ -203,6 +203,14 @@
<source>mph</source>
<translation type="unfinished">mph</translation>
</message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>MAX</source>
<translation type="unfinished">LIMITE</translation>
@@ -1450,11 +1458,15 @@ Isso pode levar até um minuto.</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<source>HKG: Custom Tuning for New Longitudinal API</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>
<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>
<message>
@@ -1501,6 +1513,22 @@ 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>
<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>
<message>
<source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation>
@@ -1567,14 +1595,6 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation>
</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>
<name>SettingsWindow</name>
@@ -2501,6 +2521,14 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation>
</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>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation>
@@ -2509,6 +2537,14 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</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>
<message>
<source>Enable Self-Tune</source>
<translation type="unfinished"></translation>
@@ -2894,6 +2930,10 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Experimental Mode</source>
<translation type="unfinished">Modo Experimental</translation>
@@ -3261,6 +3301,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation>
@@ -3289,14 +3337,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WiFiPromptWidget</name>

View File

@@ -203,6 +203,14 @@
<source>mph</source>
<translation type="unfinished">/.</translation>
</message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>MAX</source>
<translation type="unfinished"></translation>
@@ -1446,11 +1454,15 @@ This may take up to a minute.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<source>HKG: Custom Tuning for New Longitudinal API</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>
<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>
<message>
@@ -1497,6 +1509,22 @@ 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>
<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>
<message>
<source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation>
@@ -1563,14 +1591,6 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation>
</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>
<name>SettingsWindow</name>
@@ -2497,6 +2517,14 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation>
</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>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation>
@@ -2505,6 +2533,14 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</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>
<message>
<source>Enable Self-Tune</source>
<translation type="unfinished"></translation>
@@ -2890,6 +2926,10 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Experimental Mode</source>
<translation type="unfinished"></translation>
@@ -3257,6 +3297,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation>
@@ -3285,14 +3333,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WiFiPromptWidget</name>

View File

@@ -203,6 +203,14 @@
<source>mph</source>
<translation type="unfinished">mph</translation>
</message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>MAX</source>
<translation type="unfinished">MAX</translation>
@@ -1444,11 +1452,15 @@ This may take up to a minute.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<source>HKG: Custom Tuning for New Longitudinal API</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>
<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>
<message>
@@ -1495,6 +1507,22 @@ 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>
<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>
<message>
<source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation>
@@ -1561,14 +1589,6 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation>
</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>
<name>SettingsWindow</name>
@@ -2495,6 +2515,14 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation>
</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>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation>
@@ -2503,6 +2531,14 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</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>
<message>
<source>Enable Self-Tune</source>
<translation type="unfinished"></translation>
@@ -2888,6 +2924,10 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Experimental Mode</source>
<translation type="unfinished"></translation>
@@ -3255,6 +3295,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation>
@@ -3283,14 +3331,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WiFiPromptWidget</name>

View File

@@ -203,6 +203,14 @@
<source>mph</source>
<translation type="unfinished">mph</translation>
</message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>MAX</source>
<translation type="unfinished"></translation>
@@ -1446,11 +1454,15 @@ This may take up to a minute.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<source>HKG: Custom Tuning for New Longitudinal API</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>
<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>
<message>
@@ -1497,6 +1509,22 @@ 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>
<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>
<message>
<source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation>
@@ -1563,14 +1591,6 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation>
</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>
<name>SettingsWindow</name>
@@ -2497,6 +2517,14 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation>
</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>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation>
@@ -2505,6 +2533,14 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</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>
<message>
<source>Enable Self-Tune</source>
<translation type="unfinished"></translation>
@@ -2890,6 +2926,10 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Experimental Mode</source>
<translation type="unfinished"></translation>
@@ -3257,6 +3297,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation>
@@ -3285,14 +3333,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WiFiPromptWidget</name>

View File

@@ -203,6 +203,14 @@
<source>mph</source>
<translation type="unfinished">mph</translation>
</message>
<message>
<source>blended</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>acc</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>MAX</source>
<translation type="unfinished"></translation>
@@ -1446,11 +1454,15 @@ This may take up to a minute.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>HKG CAN: Smoother Stopping Performance (Beta)</source>
<source>HKG: Custom Tuning for New Longitudinal API</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>
<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>
<message>
@@ -1497,6 +1509,22 @@ 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>
<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>
<message>
<source>Enable Enhanced Blind Spot Monitor</source>
<translation type="unfinished"></translation>
@@ -1563,14 +1591,6 @@ Reboot Required.</source>
<source>Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2.</source>
<translation type="unfinished"></translation>
</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>
<name>SettingsWindow</name>
@@ -2497,6 +2517,14 @@ Reboot Required.</source>
<source>Neural Network Lateral Control (NNLC)</source>
<translation type="unfinished"></translation>
</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>Enforce Torque Lateral Control</source>
<translation type="unfinished"></translation>
@@ -2505,6 +2533,14 @@ Reboot Required.</source>
<source>Enable this to enforce sunnypilot to steer with Torque lateral control.</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>
<message>
<source>Enable Self-Tune</source>
<translation type="unfinished"></translation>
@@ -2890,6 +2926,10 @@ Reboot Required.</source>
This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use Planner Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Experimental Mode</source>
<translation type="unfinished"></translation>
@@ -3257,6 +3297,14 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Display Metrics Below Chevron</source>
<translation type="unfinished"></translation>
@@ -3285,14 +3333,6 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC.</source>
<source>Display Temperature on Sidebar</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WiFiPromptWidget</name>

View File

@@ -326,7 +326,7 @@ void Device::resetInteractiveTimeout(int timeout) {
void Device::updateBrightness(const UIState &s) {
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;
// 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%
clipped_brightness = std::clamp(100.0f * clipped_brightness, 5.0f, 100.0f);
clipped_brightness = std::clamp(100.0f * clipped_brightness, 10.0f, 100.0f);
}
RETURN_IF_SUNNYPILOT
@@ -377,4 +377,4 @@ Device *device() {
static Device _device;
return &_device;
}
#endif
#endif

View File

@@ -45,7 +45,7 @@ def handle_long_poll(ws: WebSocket, exit_event: threading.Event | None) -> None:
threading.Thread(target=ws_ping, args=(ws, end_event), name='ws_ping'),
threading.Thread(target=ws_queue, args=(end_event,), name='ws_queue'),
# 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=jsonrpc_handler, args=(end_event,), name=f'worker_{x}')

View File

@@ -104,6 +104,7 @@ def manager_init() -> None:
("TorqueDeadzoneDeg", "0"),
("TorqueFriction", "10"),
("TorqueMaxLatAccel", "250"),
("ToyotaAutoHold", "0"),
("ToyotaAutoLockBySpeed", "0"),
("ToyotaAutoUnlockByShifter", "0"),
("ToyotaDriveMode", "0"),

View File

@@ -19,9 +19,9 @@ from openpilot.system.version import get_build_metadata, get_version
class SentryProject(Enum):
# python project
SELFDRIVE = "https://3e25e235efe389b74cde72fb0e115aef@o1138119.ingest.us.sentry.io/4509950385979397"
SELFDRIVE = "https://7e3be9bfcfe04c9abe58bd25fe290d1a@o1138119.ingest.sentry.io/6191481"
# native project
SELFDRIVE_NATIVE = "https://3e25e235efe389b74cde72fb0e115aef@o1138119.ingest.us.sentry.io/4509950385979397"
SELFDRIVE_NATIVE = "https://7e3be9bfcfe04c9abe58bd25fe290d1a@o1138119.ingest.sentry.io/6191481"
CRASHES_DIR = Paths.community_crash_root()