@ -5,7 +5,7 @@ from cereal import car
from common . conversions import Conversions as CV
from opendbc . can . parser import CANParser
from opendbc . can . can_define import CANDefine
from selfdrive . car . hyundai . values import DBC , STEER_THRESHOLD , FEATURES , HDA2_CAR , EV_CAR , HYBRID_CAR , Buttons
from selfdrive . car . hyundai . values import DBC , FEATURES , HDA2_CAR , EV_CAR , HYBRID_CAR , Buttons , CarControllerParam s
from selfdrive . car . interfaces import CarStateBase
PREV_BUTTON_SAMPLES = 4
@ -32,6 +32,8 @@ class CarState(CarStateBase):
self . park_brake = False
self . buttons_counter = 0
self . params = CarControllerParams ( CP )
def update ( self , cp , cp_cam ) :
if self . CP . carFingerprint in HDA2_CAR :
return self . update_hda2 ( cp , cp_cam )
@ -61,7 +63,7 @@ class CarState(CarStateBase):
50 , cp . vl [ " CGW1 " ] [ " CF_Gway_TurnSigLh " ] , cp . vl [ " CGW1 " ] [ " CF_Gway_TurnSigRh " ] )
ret . steeringTorque = cp . vl [ " MDPS12 " ] [ " CR_Mdps_StrColTq " ]
ret . steeringTorqueEps = cp . vl [ " MDPS12 " ] [ " CR_Mdps_OutTq " ]
ret . steeringPressed = abs ( ret . steeringTorque ) > STEER_THRESHOLD
ret . steeringPressed = abs ( ret . steeringTorque ) > self . params . STEER_THRESHOLD
ret . steerFaultTemporary = cp . vl [ " MDPS12 " ] [ " CF_Mdps_ToiUnavail " ] != 0 or cp . vl [ " MDPS12 " ] [ " CF_Mdps_ToiFlt " ] != 0
# cruise state
@ -157,7 +159,7 @@ class CarState(CarStateBase):
ret . steeringAngleDeg = cp . vl [ " STEERING_SENSORS " ] [ " STEERING_ANGLE " ] * - 1
ret . steeringTorque = cp . vl [ " MDPS " ] [ " STEERING_COL_TORQUE " ]
ret . steeringTorqueEps = cp . vl [ " MDPS " ] [ " STEERING_OUT_TORQUE " ]
ret . steeringPressed = abs ( ret . steeringTorque ) > STEER_THRESHOLD
ret . steeringPressed = abs ( ret . steeringTorque ) > self . params . STEER_THRESHOLD
ret . leftBlinker , ret . rightBlinker = self . update_blinker_from_lamp ( 50 , cp . vl [ " BLINKERS " ] [ " LEFT_LAMP " ] ,
cp . vl [ " BLINKERS " ] [ " RIGHT_LAMP " ] )