|
|
|
@ -225,10 +225,6 @@ class CarInterface(CarInterfaceBase): |
|
|
|
|
found_ecus = [fw.ecu for fw in car_fw] |
|
|
|
|
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) |
|
|
|
|
ret.enableGasInterceptor = 0x201 in fingerprint[0] |
|
|
|
|
|
|
|
|
|
if ret.enableGasInterceptor: |
|
|
|
|
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_TOYOTA_GAS_INTERCEPTOR |
|
|
|
|
|
|
|
|
|
# if the smartDSU is detected, openpilot can send ACC_CONTROL and the smartDSU will block it from the DSU or radar. |
|
|
|
|
# since we don't yet parse radar on TSS2/TSS-P radar-based ACC cars, gate longitudinal behind experimental toggle |
|
|
|
@ -253,10 +249,14 @@ class CarInterface(CarInterfaceBase): |
|
|
|
|
# - TSS-P DSU-less cars w/ CAN filter installed (no radar parser yet) |
|
|
|
|
ret.openpilotLongitudinalControl = use_sdsu or ret.enableDsu or candidate in (TSS2_CAR - RADAR_ACC_CAR) or bool(ret.flags & ToyotaFlags.DISABLE_RADAR.value) |
|
|
|
|
ret.autoResumeSng = ret.openpilotLongitudinalControl and candidate in NO_STOP_TIMER_CAR |
|
|
|
|
ret.enableGasInterceptor = 0x201 in fingerprint[0] and ret.openpilotLongitudinalControl |
|
|
|
|
|
|
|
|
|
if not ret.openpilotLongitudinalControl: |
|
|
|
|
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_TOYOTA_STOCK_LONGITUDINAL |
|
|
|
|
|
|
|
|
|
if ret.enableGasInterceptor: |
|
|
|
|
ret.safetyConfigs[0].safetyParam |= Panda.FLAG_TOYOTA_GAS_INTERCEPTOR |
|
|
|
|
|
|
|
|
|
# min speed to enable ACC. if car can do stop and go, then set enabling speed |
|
|
|
|
# to a negative value, so it won't matter. |
|
|
|
|
ret.minEnableSpeed = -1. if (stop_and_go or ret.enableGasInterceptor) else MIN_ACC_SPEED |
|
|
|
|