IQ.Pilot Release Commit @ 98a2c61
This commit is contained in:
@@ -610,7 +610,8 @@ class CarController(CarControllerBase):
|
||||
leadDistance = hud_control.leadDistance if self.CCS is mlbcan else \
|
||||
(min(8, hud_control.leadDistance) if hud_control.leadDistance != 0 else 0)
|
||||
self.leadDistanceBars = min(3, hud_control.leadDistanceBars)
|
||||
acc_hud_status = self.CCS.acc_hud_status_value(CS.out.cruiseState.available, CS.out.accFaulted, CC.longActive, CC.cruiseControl.override)
|
||||
acc_hud_status = self.CCS.acc_hud_status_value(CS.out.cruiseState.available, CS.out.accFaulted, CC.longActive,
|
||||
CC.cruiseControl.override or CS.out.gasPressed)
|
||||
set_speed = hud_control.setSpeed * CV.MS_TO_KPH
|
||||
decel = dVisual(self.CCS, CS)
|
||||
hud_kwargs = {"hud_text": self._mlb_acc_hud_text(hud_control, set_speed),
|
||||
|
||||
@@ -347,4 +347,6 @@ class CarInterface(CarInterfaceBase):
|
||||
@staticmethod
|
||||
def _get_params_iq(stock_cp: structs.CarParams, ret: structs.IQCarParams, candidate, fingerprint: dict[int, dict[int, int]], car_fw: list[structs.CarParams.CarFw], alpha_long: bool, is_release_iq: bool, docs: bool) -> structs.IQCarParams:
|
||||
ret.longitudinalStoppingSpeedOverride = get_longitudinal_stopping_speed_override(candidate, stock_cp.flags)
|
||||
override_excluded_platforms = VolkswagenFlags.MLB | VolkswagenFlags.MEB | VolkswagenFlags.MQB_EVO
|
||||
ret.longActiveWithGasOverride = alpha_long and not bool(stock_cp.flags & override_excluded_platforms)
|
||||
return ret
|
||||
|
||||
@@ -112,7 +112,7 @@ def create_acc_accel_control(packer, bus, acc_type, accel, acc_control, stopping
|
||||
"ACS_Sollbeschl": accel if acc_enabled else 3.01,
|
||||
"ACS_zul_Regelabw": comfortBand if acc_enabled else 1.27,
|
||||
"ACS_max_AendGrad": jerkLimit if acc_enabled else 5.08,
|
||||
"ACS_Schubabsch": 0,
|
||||
"ACS_Schubabsch": 1 if acc_enabled and accel > 0.05 else 0,
|
||||
"ACS_MomEingriff": 0,
|
||||
"ACS_ADR_Schub": 0,
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
"""
|
||||
Copyright © IQ.Lvbs, apart of Project Teal Lvbs, All Rights Reserved, licensed under https://konn3kt.com/tos/
|
||||
"""
|
||||
|
||||
import pytest
|
||||
|
||||
from iqdbc.can import CANPacker
|
||||
from iqdbc.car.volkswagen import pqcan
|
||||
|
||||
|
||||
@pytest.mark.parametrize("accel, acc_control, expected", [
|
||||
(-1.0, 1, False),
|
||||
(0.0, 1, False),
|
||||
(0.05, 1, False),
|
||||
(0.051, 1, True),
|
||||
(1.0, 1, True),
|
||||
(1.0, 0, False),
|
||||
])
|
||||
def test_positive_acceleration_prevents_fuel_cutoff(accel, acc_control, expected):
|
||||
packer = CANPacker("vw_pq")
|
||||
messages = pqcan.create_acc_accel_control(
|
||||
packer, 0, 1, accel, acc_control, False, False, False, 0.2, 0.3, False,
|
||||
)
|
||||
assert len(messages) == 1
|
||||
_, data, _ = messages[0]
|
||||
assert bool(data[1] & 0x80) is expected
|
||||
@@ -100,6 +100,23 @@ class TestVolkswagenPlatformConfigs:
|
||||
assert bool(params.flags & VolkswagenFlagsIQ.IQ_PQ_ACC_FTS_EPB) is expected
|
||||
assert bool(params.safetyConfigs[-1].safetyParam & VolkswagenSafetyFlags.PQ_ACC_FTS_EPB) is expected
|
||||
|
||||
@pytest.mark.parametrize("candidate, alpha_long, expected", (
|
||||
(CAR.VOLKSWAGEN_PASSAT_B7, False, False),
|
||||
(CAR.VOLKSWAGEN_PASSAT_B7, True, True),
|
||||
(CAR.VOLKSWAGEN_GOLF_MK7, False, False),
|
||||
(CAR.VOLKSWAGEN_GOLF_MK7, True, True),
|
||||
(CAR.AUDI_Q5_MK1, True, False),
|
||||
(CAR.VOLKSWAGEN_ID4_MK1, True, False),
|
||||
(CAR.VOLKSWAGEN_GOLF_MK8, True, False),
|
||||
))
|
||||
def test_supported_vw_longitudinal_stays_active_during_gas_override(self, candidate, alpha_long, expected):
|
||||
fingerprints = {bus: {} for bus in range(7)}
|
||||
params = CarInterface.get_params(candidate, fingerprints, [], alpha_long=alpha_long, is_release=False, docs=False)
|
||||
params_iq = CarInterface.get_params_iq(params, candidate, fingerprints, [], alpha_long=alpha_long, is_release_iq=False, docs=False)
|
||||
assert params_iq.longActiveWithGasOverride is expected
|
||||
if expected:
|
||||
assert bool(params.safetyConfigs[-1].safetyParam & VolkswagenSafetyFlags.ALLOW_LONG_ACCEL_WITH_GAS_PRESSED) is alpha_long
|
||||
|
||||
|
||||
@pytest.mark.parametrize("button_type", (
|
||||
structs.CarState.ButtonEvent.Type.setCruise,
|
||||
|
||||
@@ -250,6 +250,8 @@ class TestVolkswagenPqLongSafety(TestVolkswagenPqSafetyBase, common.Longitudinal
|
||||
self._rx(self._user_gas_msg(1))
|
||||
self.safety.set_controls_allowed(True)
|
||||
self.assertTrue(self._tx(self._accel_msg(0.5)))
|
||||
self.assertTrue(self._tx(self._accel_msg(0.0)))
|
||||
self.assertTrue(self._tx(self._accel_msg(-0.5)))
|
||||
|
||||
|
||||
class TestVolkswagenPqLowlineSafety(TestVolkswagenPqSafetyBase):
|
||||
|
||||
1
artifacts/package_sources/tinygrad/.iqpilot-revision
Normal file
1
artifacts/package_sources/tinygrad/.iqpilot-revision
Normal file
@@ -0,0 +1 @@
|
||||
95bfc521351d3acba7338605686155a9ee8b0009
|
||||
Reference in New Issue
Block a user