This commit is contained in:
firestar5683
2026-07-05 22:48:58 -05:00
parent 3bcd062eb7
commit 71b5cd8594
2 changed files with 39 additions and 4 deletions
+4 -4
View File
@@ -45,10 +45,10 @@ A_CRUISE_MAX_VALS_STANDARD_GAS = [2.00, 1.80, 1.55, 1.30, 1.05, 0.85, 0.55]
A_CRUISE_MAX_VALS_SPORT_GAS = [2.50, 2.25, 1.95, 1.60, 1.30, 1.05, 0.75]
A_CRUISE_MAX_VALS_SPORT_PLUS_GAS = [3.50, 3.20, 2.80, 2.35, 1.90, 1.55, 1.15]
A_CRUISE_MAX_VALS_ECO_TRUCK = [2.00, 1.50, 1.20, 1.00, 0.82, 0.62, 0.40]
A_CRUISE_MAX_VALS_STANDARD_TRUCK = [2.75, 2.00, 1.65, 1.35, 1.10, 0.88, 0.58]
A_CRUISE_MAX_VALS_SPORT_TRUCK = [3.25, 2.40, 2.00, 1.65, 1.35, 1.10, 0.78]
A_CRUISE_MAX_VALS_SPORT_PLUS_TRUCK = [4.00, 2.80, 2.35, 1.95, 1.60, 1.30, 0.98]
A_CRUISE_MAX_VALS_ECO_TRUCK = [2.00, 1.55, 1.27, 1.07, 0.90, 0.72, 0.46]
A_CRUISE_MAX_VALS_STANDARD_TRUCK = [2.75, 2.05, 1.72, 1.42, 1.18, 0.98, 0.64]
A_CRUISE_MAX_VALS_SPORT_TRUCK = [3.25, 2.45, 2.07, 1.72, 1.43, 1.20, 0.84]
A_CRUISE_MAX_VALS_SPORT_PLUS_TRUCK = [4.00, 2.85, 2.42, 2.02, 1.68, 1.40, 1.04]
def akima_interp(x, xp, fp):
@@ -0,0 +1,35 @@
from openpilot.starpilot.common.accel_profile import (
ACCELERATION_PROFILES,
A_CRUISE_MAX_VALS_ECO_TRUCK,
A_CRUISE_MAX_VALS_STANDARD_TRUCK,
A_CRUISE_MAX_VALS_SPORT_PLUS_TRUCK,
A_CRUISE_MAX_VALS_SPORT_TRUCK,
get_accel_profile_curve_values,
interpolate_accel_profile,
)
def test_truck_curves_match_expected_values():
assert get_accel_profile_curve_values(ACCELERATION_PROFILES["ECO"], ev_tuning=False, truck_tuning=True) == A_CRUISE_MAX_VALS_ECO_TRUCK
values = get_accel_profile_curve_values(ACCELERATION_PROFILES["STANDARD"], ev_tuning=False, truck_tuning=True)
assert values == A_CRUISE_MAX_VALS_STANDARD_TRUCK
assert get_accel_profile_curve_values(ACCELERATION_PROFILES["SPORT"], ev_tuning=False, truck_tuning=True) == A_CRUISE_MAX_VALS_SPORT_TRUCK
assert get_accel_profile_curve_values(ACCELERATION_PROFILES["SPORT_PLUS"], ev_tuning=False, truck_tuning=True) == A_CRUISE_MAX_VALS_SPORT_PLUS_TRUCK
def test_standard_truck_curve_keeps_mid_high_speed_authority():
values = get_accel_profile_curve_values(ACCELERATION_PROFILES["STANDARD"], ev_tuning=False, truck_tuning=True)
assert interpolate_accel_profile(20.0, values) >= 1.18
assert interpolate_accel_profile(25.0, values) >= 0.98
assert interpolate_accel_profile(30.0, values) >= 0.90
def test_truck_profiles_remain_ordered():
eco = get_accel_profile_curve_values(ACCELERATION_PROFILES["ECO"], ev_tuning=False, truck_tuning=True)
standard = get_accel_profile_curve_values(ACCELERATION_PROFILES["STANDARD"], ev_tuning=False, truck_tuning=True)
sport = get_accel_profile_curve_values(ACCELERATION_PROFILES["SPORT"], ev_tuning=False, truck_tuning=True)
sport_plus = get_accel_profile_curve_values(ACCELERATION_PROFILES["SPORT_PLUS"], ev_tuning=False, truck_tuning=True)
for e, s, sp, spp in zip(eco, standard, sport, sport_plus, strict=True):
assert e < s < sp < spp