@ -49,6 +49,9 @@ class CarInterface(CarInterfaceBase):
if 0x2FF in fingerprint [ 0 ] or ( 0x2AA in fingerprint [ 0 ] and candidate in NO_DSU_CAR ) :
if 0x2FF in fingerprint [ 0 ] or ( 0x2AA in fingerprint [ 0 ] and candidate in NO_DSU_CAR ) :
ret . flags | = ToyotaFlags . SMART_DSU . value
ret . flags | = ToyotaFlags . SMART_DSU . value
if 0x2AA in fingerprint [ 0 ] and candidate in NO_DSU_CAR :
ret . flags | = ToyotaFlags . RADAR_CAN_FILTER . value
# In TSS2 cars, the camera does long control
# In TSS2 cars, the camera does long control
found_ecus = [ fw . ecu for fw in car_fw ]
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 ) \
ret . enableDsu = len ( found_ecus ) > 0 and Ecu . dsu not in found_ecus and candidate not in ( NO_DSU_CAR | UNSUPPORTED_DSU_CAR ) \
@ -173,7 +176,7 @@ class CarInterface(CarInterfaceBase):
def _update ( self , c ) :
def _update ( self , c ) :
ret = self . CS . update ( self . cp , self . cp_cam )
ret = self . CS . update ( self . cp , self . cp_cam )
if self . CP . carFingerprint in ( TSS2_CAR - RADAR_ACC_CAR ) :
if self . CP . carFingerprint in ( TSS2_CAR - RADAR_ACC_CAR ) or ( self . CP . flags & ToyotaFlags . SMART_DSU and not self . CP . flags & ToyotaFlags . RADAR_CAN_FILTER ) :
ret . buttonEvents = create_button_events ( self . CS . distance_button , self . CS . prev_distance_button , { 1 : ButtonType . gapAdjustCruise } )
ret . buttonEvents = create_button_events ( self . CS . distance_button , self . CS . prev_distance_button , { 1 : ButtonType . gapAdjustCruise } )
# events
# events