Compare commits

..

79 Commits

Author SHA1 Message Date
firestar5683 47e207aa29 accel 2026-02-09 12:15:47 -06:00
firestar5683 163f768ffb User adjustable offsets 2026-02-07 23:33:31 -06:00
firestar5683 d60f4595ff Integrator Smooth On Handoff 2026-02-06 15:47:02 -06:00
firestar5683 6143fe7c87 Lights 2026-02-05 22:40:07 -06:00
firestar5683 c38671aae6 Update frogpilot_acceleration.py 2026-02-05 15:50:08 -06:00
firestar5683 92b6b140cc New Models 2026-02-05 15:08:19 -06:00
firestar5683 fd346ea3ad Revert "merry christmas"
This reverts commit 8a9d0e5e6a.
2026-02-05 13:34:07 -06:00
firestar5683 7ec34af976 Increase Fault Resilience 2026-02-05 13:18:47 -06:00
firestarsdog 14eaee6e80 Stats 2026-02-02 01:05:19 -05:00
firestarsdog 16a8210468 Stats 2026-02-01 22:46:38 -06:00
firestar5683 3fcc4c558d Update interface.py 2026-02-01 20:49:46 -06:00
firestar5683 e292376101 Update interface.py 2026-02-01 18:48:29 -06:00
firestar5683 e79ef1e4c4 Update latcontrol_torque.py 2026-02-01 18:45:24 -06:00
firestar5683 3ff1087662 Update interface.py 2026-02-01 18:43:18 -06:00
firestar5683 cf91ba0d41 Revert "Silverado Update"
This reverts commit 07c2e32ec4.
2026-02-01 18:39:55 -06:00
firestar5683 38cf9c653b Revert "Silverado"
This reverts commit 2e37b1e5ac.
2026-02-01 18:39:51 -06:00
firestar5683 59288e7c43 Revert "Silverado"
This reverts commit 1c9c8fe8e4.
2026-02-01 18:39:45 -06:00
firestar5683 5bed72a2ce silverado 2026-01-30 00:20:24 -06:00
firestar5683 e913cf5cde friction threshold 2026-01-29 11:28:08 -06:00
firestar5683 0b8559f706 tune 2026-01-29 11:28:03 -06:00
firestar5683 de334b2ffd lat updates 2026-01-28 23:52:08 -06:00
firestar5683 1c9c8fe8e4 Silverado 2026-01-25 23:45:52 -06:00
firestar5683 2e37b1e5ac Silverado 2026-01-22 01:20:44 -06:00
firestar5683 07c2e32ec4 Silverado Update 2026-01-21 00:07:38 -06:00
firestar5683 d42cbb8f76 TorqueController 2026-01-20 13:26:13 -06:00
firestar5683 0f58f6a199 Revert "Mac Update"
This reverts commit 0c2b627a1d.
2026-01-19 11:42:20 -06:00
firestarsdog c40a88c048 Add SASCM to vehicle settings detection/stats 2026-01-19 10:38:25 -06:00
firestar5683 0c2b627a1d Mac Update 2026-01-18 22:23:13 -06:00
firestar5683 8cc5592f88 Update redneck 2026-01-15 22:50:37 -06:00
firestar5683 c019f3348d fix redneck v2 2026-01-14 22:55:17 -06:00
firestar5683 5e0ff7b8df Revert "Redneck v1?"
This reverts commit b69f21419e.
2026-01-14 13:58:09 -06:00
firestar5683 18ebdf9502 Remove lat smooth seconds 2026-01-14 13:50:43 -06:00
firestar5683 b69f21419e Redneck v1? 2026-01-13 20:22:26 -06:00
firestar5683 aec5b51020 frogpilot migration 2026-01-13 09:28:31 -05:00
firestar5683 a939da3fa4 More defaults 2026-01-13 09:28:31 -05:00
firestar5683 eddd8ff2a5 Update defaults 2026-01-13 09:28:31 -05:00
firestarsdog 35d399ed72 Upstream sound handling, sound check removal
match upstream for sound handling

Add to sound check removal
2026-01-13 09:28:31 -05:00
firestar5683 16130e7c03 Big Mac 2026-01-11 16:59:19 -06:00
firestar5683 8ad0572903 Try Higher Friction 2026-01-10 14:04:21 -06:00
firestar5683 5f860eb328 Autotune Off 2026-01-09 22:41:59 -06:00
firestar5683 fb672f847e Revert "Pedal Braking Limits"
This reverts commit f0313b8412.
2025-12-31 20:55:54 -06:00
firestar5683 f0313b8412 Pedal Braking Limits 2025-12-30 20:18:11 -06:00
firestar5683 5aee03c725 merry christmas 2025-12-24 22:05:16 -06:00
firestar5683 6f39a74ff6 ds2 2025-12-24 21:30:46 -06:00
firestar5683 6c87878b8c Adjust sport gas acceleration values for precision 2025-12-19 19:43:37 -06:00
firestar5683 40812cd312 Adjust sport gas acceleration values for tuning 2025-12-18 16:05:34 -06:00
firestar5683 1d8399c0ed Adjust sport gas acceleration values for tuning 2025-12-18 12:16:55 -06:00
firestar5683 2a7f160d08 Update frogpilot_acceleration.py 2025-12-17 16:25:57 -06:00
firestar5683 16c366312a Update frogpilot_acceleration.py 2025-12-17 15:29:19 -06:00
firestar5683 76abbf754f Update sport gas acceleration values 2025-12-17 14:28:16 -06:00
firestar5683 c42c2ef805 Try friction adjustment 2025-12-16 14:39:55 -06:00
firestar5683 8edaa33a27 Update frogpilot_tracking.py 2025-12-15 00:55:07 -06:00
firestar5683 843423e871 minsteer speed 2025-12-14 14:47:50 -06:00
firestar5683 69d6977a1b Update Percentages 2025-12-13 19:13:54 -06:00
firestar5683 511a6da0e3 ITS GASSY 2025-12-12 22:59:32 -06:00
firestar5683 69dc9eb6c0 Update frogpilot_acceleration.py 2025-12-12 16:35:46 -06:00
firestar5683 aa6b4d3fdd Revert "Silverado trailer fingerprint"
This reverts commit f97dfeb79d.
2025-12-12 12:05:51 -06:00
firestar5683 9b9f4f7cce Revert "Update substitute.toml"
This reverts commit 60c0c0ee8a.
2025-12-12 12:05:48 -06:00
firestar5683 052f1beda4 Trailer Load Gas Tuning 2025-12-12 10:51:10 -06:00
firestar5683 60c0c0ee8a Update substitute.toml 2025-12-11 20:00:10 -06:00
firestar5683 cfb634a606 Live Friction 2025-12-11 16:56:05 -06:00
firestar5683 f531d34f20 Zero error 2025-12-11 15:12:34 -06:00
firestar5683 f97dfeb79d Silverado trailer fingerprint 2025-12-10 16:28:42 -06:00
firestar5683 9356f9b721 Revert "Update values.py"
This reverts commit 8524406485.
2025-12-10 15:50:45 -06:00
firestar5683 8524406485 Update values.py 2025-12-10 15:48:01 -06:00
firestar5683 ee842127df Updates
Update latcontrol_torque.py

interp friction threshold
2025-12-09 19:59:23 -06:00
firestar5683 c8c50c6a9e Change NoEntryAlert message to 'Reverse Gear' 2025-12-06 16:46:01 -06:00
firestar5683 a6be6867e2 Update events.py 2025-12-05 20:14:03 -06:00
firestar5683 d9f2a62771 LattyBoi2.0 2025-12-03 23:30:41 -06:00
firestar5683 27a3625ee2 Latty Boi
Revert "Latty Boi"

This reverts commit af687e501cc4bdcda7840453d06595d7ea674148.

Reapply "Latty Boi"

This reverts commit ff5566d4439f5e4997fe83f4f21d0be62b75d75d.
2025-12-02 20:31:12 -06:00
firestar5683 e564936f28 Recovery Power 2025-12-02 17:20:08 -06:00
firestar5683 f0b6df65a0 New planplus 2025-12-02 12:10:17 -06:00
Woohyun Rho de1e30bef6 Update 2025-11-28 17:13:02 -06:00
firestar5683 f4d11d19fe New Lateral Changes 2025-11-18 20:50:49 -06:00
firestar5683 dd12f8d655 Update 2025-11-15 14:46:02 -06:00
firestar5683 087ea11142 Accel Tests 2025-11-14 20:33:08 -06:00
firestar5683 1a73798784 Paddle Planner 2025-11-14 01:26:14 -06:00
firestar5683 ac652ebd32 Revert "Upstream Lateral"
This reverts commit e54ab5e3aa.
2025-11-10 18:33:09 -06:00
firestar5683 e54ab5e3aa Upstream Lateral
Revert "Upstream Lateral"

This reverts commit 20f7d6631bb152860781b46533bb0e96223be132.

Reapply "Upstream Lateral"

This reverts commit 2a7a563e219a1b688529d341919fc377fed5038e.

Update latcontrol_torque.py

more lateral

Update ui
2025-11-07 00:15:09 -06:00
17 changed files with 43 additions and 75 deletions
@@ -49,8 +49,8 @@ A_CRUISE_MIN_SPORT = A_CRUISE_MIN * 2
A_CRUISE_MAX_BP_CUSTOM = [0.0, 5., 10., 15., 20., 25., 40.]
A_CRUISE_MAX_VALS_ECO_EV = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
A_CRUISE_MAX_VALS_SPORT_EV = [1.25, 1.25, 1.25, 1.25, 1.5, 1.5, 2.0]
A_CRUISE_MAX_VALS_ECO_GAS = [2.0, 1.5, 1.0, 0.8, 0.6, 0.4, 0.2]
A_CRUISE_MAX_VALS_SPORT_GAS = [3.0, 2.5, 2.0, 1.5, 1.0, 0.8, 0.6]
A_CRUISE_MAX_VALS_ECO_GAS = [6.0, 1.40, 0.90, 0.65, 0.60, 0.55, 0.42]
A_CRUISE_MAX_VALS_SPORT_GAS = [6.0, 1.50, 1.00, 0.72, 0.65, 0.60, 0.45]
def get_max_accel_eco(v_ego, ev_tuning=True):
cruise_vals = A_CRUISE_MAX_VALS_ECO_EV if ev_tuning else A_CRUISE_MAX_VALS_ECO_GAS
BIN
View File
Binary file not shown.
Binary file not shown.
+8 -8
View File
@@ -120,14 +120,14 @@ def get_city_center(latitude, longitude):
def update_branch_commits(now):
points = []
branch = get_build_metadata().channel # Current running branch
try:
response = requests.get(f"https://api.github.com/repos/firestar5683/StarPilot/commits/{branch}")
response.raise_for_status()
sha = response.json()["sha"]
points.append(Point("branch_commits").field("commit", sha).tag("branch", branch).time(now))
except Exception as e:
print(f"Failed to fetch commit for {branch}: {e}")
for branch in ["FrogPilot", "FrogPilot-Staging", "FrogPilot-Testing"]:
try:
response = requests.get(f"https://api.github.com/repos/FrogAi/FrogPilot/commits/{branch}")
response.raise_for_status()
sha = response.json()["sha"]
points.append(Point("branch_commits").field("commit", sha).tag("branch", branch).time(now))
except Exception as e:
print(f"Failed to fetch commit for {branch}: {e}")
return points
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+4 -30
View File
@@ -10,14 +10,14 @@ const SteeringLimits GM_STEERING_LIMITS = {
};
const LongitudinalLimits GM_ASCM_LONG_LIMITS = {
.max_gas = 8191,
.max_gas = 7168,
.min_gas = 5500,
.inactive_gas = 5500,
.max_brake = 400,
};
const LongitudinalLimits GM_CAM_LONG_LIMITS = {
.max_gas = 8848,
.max_gas = 7496,
.min_gas = 5610,
.inactive_gas = 5650,
.max_brake = 400,
@@ -172,13 +172,6 @@ static void gm_rx_hook(const CANPacket_t *to_push) {
}
}
// Cruise check for ACC models with pedal interceptor - block stock ACC
if ((addr == 0x1C4) && gm_has_acc && enable_gas_interceptor) {
// When pedal interceptor is active on ACC models, ignore stock cruise state
// to prevent conflicts between pedal interceptor and stock ACC
cruise_engaged_prev = false;
}
if (addr == 0xBD) {
regen_braking = (GET_BYTE(to_push, 0) >> 4) != 0U;
}
@@ -199,12 +192,6 @@ static void gm_rx_hook(const CANPacket_t *to_push) {
}
generic_rx_checks(stock_ecu_detected);
}
// Cruise check for Gen2 Bolt (ASCMActiveCruiseControlStatus on bus 2)
int addr = GET_ADDR(to_push);
if ((addr == 0x370) && (GET_BUS(to_push) == 2U)) {
bool cruise_engaged = (GET_BYTE(to_push, 2) >> 7) != 0U; // ACCCmdActive
cruise_engaged_prev = cruise_engaged;
}
}
static bool gm_tx_hook(const CANPacket_t *to_send) {
@@ -259,11 +246,6 @@ static bool gm_tx_hook(const CANPacket_t *to_send) {
int button = (GET_BYTE(to_send, 5) >> 4) & 0x7U;
bool allowed_btn = (button == GM_BTN_CANCEL) && cruise_engaged_prev;
// For ACC cars with pedal interceptor, allow cancel even if cruise_engaged_prev is false
// (since we set it to false to prevent conflicts, but still need to cancel cruise)
if (gm_hw == GM_CAM && enable_gas_interceptor && button == GM_BTN_CANCEL) {
allowed_btn = true;
}
// For standard CC, allow spamming of SET / RESUME
if (gm_cc_long) {
allowed_btn |= cruise_engaged_prev && (button == GM_BTN_SET || button == GM_BTN_RESUME || button == GM_BTN_UNPRESS);
@@ -306,13 +288,9 @@ static int gm_fwd_hook(int bus_num, int addr) {
}
if (bus_num == 2) {
// block lkas message and acc messages
// Block 0x370 only for experimental long without pedal interceptor
// block lkas message and acc messages if gm_cam_long, forward all others
bool is_lkas_msg = (addr == 0x180);
bool is_acc_msg = (addr == 0x315) || (addr == 0x2CB);
if (gm_cam_long && !enable_gas_interceptor) {
is_acc_msg = is_acc_msg || (addr == 0x370);
}
bool is_acc_msg = (addr == 0x315) || (addr == 0x2CB) || (addr == 0x370);
bool block_msg = is_lkas_msg || (is_acc_msg && gm_cam_long);
if (!block_msg) {
bus_fwd = 0;
@@ -344,10 +322,6 @@ static safety_config gm_init(uint16_t param) {
gm_pedal_long = GET_FLAG(param, GM_PARAM_PEDAL_LONG);
gm_cc_long = GET_FLAG(param, GM_PARAM_CC_LONG);
gm_cam_long = GET_FLAG(param, GM_PARAM_HW_CAM_LONG) && !gm_cc_long;
// Block ACC messages when pedal interceptor is active on ACC models
if (gm_hw == GM_CAM && enable_gas_interceptor) {
gm_cam_long = true;
}
gm_pcm_cruise = ((gm_hw == GM_CAM) && (!gm_cam_long || gm_cc_long) && !gm_force_ascm && !gm_pedal_long) || (gm_hw == GM_SDGM);
gm_skip_relay_check = GET_FLAG(param, GM_PARAM_NO_CAMERA);
gm_has_acc = !GET_FLAG(param, GM_PARAM_NO_ACC);
+1 -1
View File
@@ -467,7 +467,7 @@ class CarController(CarControllerBase):
) and CS.out.cruiseState.enabled:
if (self.frame - self.last_button_frame) * DT_CTRL > 0.04:
self.last_button_frame = self.frame
can_sends.append(gmcan.create_buttons(self.packer_pt, CanBus.CAMERA, (CS.buttons_counter + 1) % 4, CruiseButtons.CANCEL))
can_sends.append(gmcan.create_buttons(self.packer_pt, CanBus.POWERTRAIN, (CS.buttons_counter + 1) % 4, CruiseButtons.CANCEL))
else:
# While car is braking, cancel button causes ECM to enter a soft disable state with a fault status.
+3 -3
View File
@@ -163,11 +163,11 @@ class CarState(CarStateBase):
if self.CP.carFingerprint in CC_ONLY_CAR:
ret.accFaulted = False
ret.cruiseState.speed = pt_cp.vl["ECMCruiseControl"]["CruiseSetSpeed"] * CV.KPH_TO_MS
# Try ASCM first for cars that might have it (like misfingerprinted Bolts), fall back to ECM
# Try ECM first for cars that might have it (like most GMs), fall back to ASCM
try:
ret.cruiseState.enabled = cam_cp.vl["ASCMActiveCruiseControlStatus"]["ACCCmdActive"] != 0
except:
ret.cruiseState.enabled = pt_cp.vl["ECMCruiseControl"]["CruiseActive"] != 0
except:
ret.cruiseState.enabled = cam_cp.vl["ASCMActiveCruiseControlStatus"]["ACCCmdActive"] != 0
if self.CP.enableBsm:
if self.CP.carFingerprint not in SDGM_CAR:
+12 -9
View File
@@ -40,8 +40,8 @@ NON_LINEAR_TORQUE_PARAMS = {
"right": [4.78003305, 1.0, 0.3122, 0.05591772],
},
CAR.CHEVROLET_SILVERADO: {
"left": [3.29974374, 1.0, 0.25571356, 0.0465122],
"right": [3.29974374, 1.0, 0.25571356, 0.0465122],
"left": [3.8, 0.81, 0.24, 0.0465122],
"right": [3.8, 0.81, 0.24, 0.0465122],
},
}
@@ -142,11 +142,12 @@ class CarInterface(CarInterfaceBase):
ret.longitudinalTuning.kiBP = [5., 35., 60.]
if candidate in CAMERA_ACC_CAR:
ret.experimentalLongitudinalAvailable = candidate not in CC_ONLY_CAR
# For ACC models with pedal interceptor, behave like CC_ONLY_CAR
ret.experimentalLongitudinalAvailable = (candidate not in CC_ONLY_CAR) and not ret.enableGasInterceptor
ret.networkLocation = NetworkLocation.fwdCamera
ret.radarUnavailable = True # no radar
# Use pcmCruise by default; this may be overridden below if a pedal interceptor is detected
ret.pcmCruise = True
# Only use pcmCruise if no pedal interceptor (bolt_cc style behavior)
ret.pcmCruise = not ret.enableGasInterceptor
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_GM_HW_CAM
# Use default minEnableSpeed for ACC models (will be overridden by pedal interceptor section if present)
ret.minEnableSpeed = 5 * CV.KPH_TO_MS
@@ -247,9 +248,11 @@ class CarInterface(CarInterfaceBase):
ret.lateralTuning.torque.kd = 0.93
ret.lateralTuning.torque.kfDEPRECATED = 0.02
if ret.enableGasInterceptor:
# ACC Bolts use pedal for full longitudinal control, not just sng
ret.flags |= GMFlags.PEDAL_LONG.value
# Enable pedal interceptor for ACC models when detected
if candidate in CAMERA_ACC_CAR and ret.enableGasInterceptor:
# ACC models with pedal interceptor get full pedal longitudinal control
ret.flags |= GMFlags.PEDAL_LONG.value
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_GM_NO_ACC
if candidate == CAR.CHEVROLET_SILVERADO:
# On the Bolt, the ECM and camera independently check that you are either above 5 kph or at a stop
@@ -311,7 +314,7 @@ class CarInterface(CarInterfaceBase):
ret.stoppingControl = True
ret.autoResumeSng = True
if candidate in CC_ONLY_CAR: #pedal interceptor tuning
if candidate in CC_ONLY_CAR or (candidate in CAMERA_ACC_CAR and ret.enableGasInterceptor): #pedal interceptor tuning
ret.flags |= GMFlags.PEDAL_LONG.value
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_GM_PEDAL_LONG
# Note: Low speed, stop and go not tested. Should be fairly smooth on highway
+7 -7
View File
@@ -52,17 +52,17 @@ class CarControllerParams:
self.BRAKE_SWITCH_MAX = self.MAX_ACC_REGEN if CP.carFingerprint in EV_CAR else self.ZERO_GAS
elif CP.carFingerprint in SDGM_CAR:
self.MAX_GAS = 7496
self.MAX_GAS_PLUS = 7496
self.MAX_ACC_REGEN = 5610
self.INACTIVE_REGEN = 5650
self.MAX_GAS = 8191
self.MAX_GAS_PLUS = 8191
self.MAX_ACC_REGEN = 5500
self.INACTIVE_REGEN = 5500
max_regen_acceleration = 0.
self.BRAKE_SWITCH = self.ZERO_GAS
else:
self.MAX_GAS = 8191 # Safety limit, not ACC max. Stock ACC >8192 from standstill.
self.MAX_GAS_PLUS = 8191 # 8292 uses new bit, possible but not tested. Matches Twilsonco tw-main max
self.MAX_ACC_REGEN = 7110 # Max ACC regen is slightly less than max paddle regen
self.MAX_GAS = 7168 # Safety limit, not ACC max. Stock ACC >8192 from standstill.
self.MAX_GAS_PLUS = 7168 # 8292 uses new bit, possible but not tested. Matches Twilsonco tw-main max
self.MAX_ACC_REGEN = 5500 # Max ACC regen is slightly less than max paddle regen
self.INACTIVE_REGEN = 5500
# ICE has much less engine braking force compared to regen in EVs,
# lower threshold removes some braking deadzone
+1 -1
View File
@@ -45,7 +45,7 @@ legend = ["LAT_ACCEL_FACTOR", "MAX_LAT_ACCEL_MEASURED", "FRICTION"]
"CADILLAC_XT4" = [1.45, 1.6, 0.2]
"CHEVROLET_BOLT_EUV" = [2.0, 2.0, 0.09]
"CHEVROLET_MALIBU_CC" = [1.85, 1.85, 0.075]
"CHEVROLET_SILVERADO" = [1.9, 1.9, 0.112]
"CHEVROLET_SILVERADO" = [2.014, 1.9, 0.125]
"CHEVROLET_TRAILBLAZER" = [1.33, 1.9, 0.16]
"CHEVROLET_TRAVERSE" = [1.33, 1.33, 0.18]
"CHEVROLET_EQUINOX" = [2.5, 2.5, 0.05]
+2 -7
View File
@@ -44,7 +44,7 @@ CAMERA_OFFSET = 0.04
REPLAY = "REPLAY" in os.environ
SIMULATION = "SIMULATION" in os.environ
TESTING_CLOSET = "TESTING_CLOSET" in os.environ
IGNORE_PROCESSES = {"loggerd", "encoderd", "statsd"}
IGNORE_PROCESSES = {"loggerd", "encoderd", "statsd", "micd", "soundd"}
ThermalStatus = log.DeviceState.ThermalStatus
State = log.ControlsState.OpenpilotState
@@ -117,9 +117,6 @@ class Controls:
self.is_metric = self.params.get_bool("IsMetric")
self.is_ldw_enabled = self.params.get_bool("IsLdwEnabled")
# detect sound card presence and ensure successful init
sounds_available = HARDWARE.get_sound_card_online()
car_recognized = self.CP.carName != 'mock'
# cleanup old params
@@ -173,8 +170,6 @@ class Controls:
else:
self.startup_event = get_startup_event(car_recognized, not self.CP.passive, len(self.CP.carFw) > 0)
if not sounds_available:
self.events.add(EventName.soundsUnavailable, static=True)
if not car_recognized:
self.events.add(EventName.carUnrecognized, static=True)
if len(self.CP.carFw) > 0:
@@ -199,7 +194,7 @@ class Controls:
self.event_names_to_clear = set()
self.has_menu = self.CP.carName == "gm" and not (self.CP.flags & GMFlags.NO_CAMERA.value)
self.has_menu = self.CP.carName == "gm" and not (self.CP.flags & GMFlags.NO_CAMERA.value or self.CP.carFingerprint in CC_ONLY_CAR)
self.frogpilot_AM = AlertManager()
self.frogpilot_events = Events(frogpilot=True)
-5
View File
@@ -779,11 +779,6 @@ EVENTS: dict[int, dict[str, Alert | AlertCallbackType]] = {
Priority.LOWER, VisualAlert.none, AudibleAlert.none, .2, creation_delay=600.)
},
EventName.soundsUnavailable: {
ET.PERMANENT: NormalPermanentAlert("Speaker not found", "Reboot your Device"),
ET.NO_ENTRY: NoEntryAlert("Speaker not found"),
},
EventName.tooDistracted: {
ET.NO_ENTRY: NoEntryAlert("Distraction Level Too High"),
},
+3 -2
View File
@@ -42,7 +42,6 @@ FF_SCALE_BLEND_LAT_ACCEL = 0.05
DEADZONE_BOOST_LAT_ACCEL = 0.08
UNWIND_D_DES_THRESHOLD = -1.0
UNWIND_LAT_ACCEL_NEAR_ZERO = 0.3
BOLT_CARS = (GM_CAR.CHEVROLET_BOLT_EUV, GM_CAR.CHEVROLET_BOLT_CC)
class LatControlTorque(LatControl):
@@ -143,7 +142,9 @@ class LatControlTorque(LatControl):
ff_scale = np.interp(ff, [-FF_SCALE_BLEND_LAT_ACCEL, 0.0, FF_SCALE_BLEND_LAT_ACCEL],
[self.torque_ff_scale_neg, 1.0, self.torque_ff_scale_pos])
ff *= ff_scale
ff += get_friction(error_with_lsf + JERK_GAIN * desired_lateral_jerk, lateral_accel_deadzone, get_friction_threshold(CS.vEgo), self.torque_params)
friction = get_friction(error_with_lsf + JERK_GAIN * desired_lateral_jerk, lateral_accel_deadzone,
get_friction_threshold(CS.vEgo), self.torque_params)
ff += friction
deadzone_boost_active = False
if self.is_bolt and self.torque_deadzone_boost_neg > 0.0 and gravity_adjusted_future_lateral_accel < 0.0:
if abs(gravity_adjusted_future_lateral_accel) < DEADZONE_BOOST_LAT_ACCEL: