mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-08 23:22:04 +08:00
twuck
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user