@ -6,7 +6,7 @@ from common.realtime import DT_CTRL
from opendbc . can . can_define import CANDefine
from opendbc . can . can_define import CANDefine
from opendbc . can . parser import CANParser
from opendbc . can . parser import CANParser
from selfdrive . car . interfaces import CarStateBase
from selfdrive . car . interfaces import CarStateBase
from selfdrive . car . toyota . values import ToyotaFlags , CAR , DBC , STEER_THRESHOLD , NO_STOP_TIMER_CAR , TSS2_CAR , RADAR_ACC_CAR , EPS_SCALE
from selfdrive . car . toyota . values import ToyotaFlags , DBC , STEER_THRESHOLD , NO_STOP_TIMER_CAR , TSS2_CAR , RADAR_ACC_CAR , EPS_SCALE , UNSUPPORTED_DSU_CAR
class CarState ( CarStateBase ) :
class CarState ( CarStateBase ) :
@ -87,7 +87,7 @@ class CarState(CarStateBase):
# 17 is a fault from a prolonged high torque delta between cmd and user
# 17 is a fault from a prolonged high torque delta between cmd and user
ret . steerFaultPermanent = cp . vl [ " EPS_STATUS " ] [ " LKA_STATE " ] == 17
ret . steerFaultPermanent = cp . vl [ " EPS_STATUS " ] [ " LKA_STATE " ] == 17
if self . CP . carFingerprint in ( CAR . LEXUS_IS , CAR . LEXUS_RC ) :
if self . CP . carFingerprint in UNSUPPORTED_DSU_CAR :
ret . cruiseState . available = cp . vl [ " DSU_CRUISE " ] [ " MAIN_ON " ] != 0
ret . cruiseState . available = cp . vl [ " DSU_CRUISE " ] [ " MAIN_ON " ] != 0
ret . cruiseState . speed = cp . vl [ " DSU_CRUISE " ] [ " SET_SPEED " ] * CV . KPH_TO_MS
ret . cruiseState . speed = cp . vl [ " DSU_CRUISE " ] [ " SET_SPEED " ] * CV . KPH_TO_MS
cluster_set_speed = cp . vl [ " PCM_CRUISE_ALT " ] [ " UI_SET_SPEED " ]
cluster_set_speed = cp . vl [ " PCM_CRUISE_ALT " ] [ " UI_SET_SPEED " ]
@ -112,7 +112,7 @@ class CarState(CarStateBase):
# these cars are identified by an ACC_TYPE value of 2.
# these cars are identified by an ACC_TYPE value of 2.
# TODO: it is possible to avoid the lockout and gain stop and go if you
# TODO: it is possible to avoid the lockout and gain stop and go if you
# send your own ACC_CONTROL msg on startup with ACC_TYPE set to 1
# send your own ACC_CONTROL msg on startup with ACC_TYPE set to 1
if ( self . CP . carFingerprint not in TSS2_CAR and self . CP . carFingerprint not in ( CAR . LEXUS_IS , CAR . LEXUS_RC ) ) or \
if ( self . CP . carFingerprint not in TSS2_CAR and self . CP . carFingerprint not in UNSUPPORTED_DSU_CAR ) or \
( self . CP . carFingerprint in TSS2_CAR and self . acc_type == 1 ) :
( self . CP . carFingerprint in TSS2_CAR and self . acc_type == 1 ) :
self . low_speed_lockout = cp . vl [ " PCM_CRUISE_2 " ] [ " LOW_SPEED_LOCKOUT " ] == 2
self . low_speed_lockout = cp . vl [ " PCM_CRUISE_2 " ] [ " LOW_SPEED_LOCKOUT " ] == 2
@ -196,7 +196,7 @@ class CarState(CarStateBase):
signals . append ( ( " GAS_PEDAL " , " GAS_PEDAL " ) )
signals . append ( ( " GAS_PEDAL " , " GAS_PEDAL " ) )
checks . append ( ( " GAS_PEDAL " , 33 ) )
checks . append ( ( " GAS_PEDAL " , 33 ) )
if CP . carFingerprint in ( CAR . LEXUS_IS , CAR . LEXUS_RC ) :
if CP . carFingerprint in UNSUPPORTED_DSU_CAR :
signals . append ( ( " MAIN_ON " , " DSU_CRUISE " ) )
signals . append ( ( " MAIN_ON " , " DSU_CRUISE " ) )
signals . append ( ( " SET_SPEED " , " DSU_CRUISE " ) )
signals . append ( ( " SET_SPEED " , " DSU_CRUISE " ) )
signals . append ( ( " UI_SET_SPEED " , " PCM_CRUISE_ALT " ) )
signals . append ( ( " UI_SET_SPEED " , " PCM_CRUISE_ALT " ) )