Skip to content

Commit 2a75806

Browse files
sunnyhaibinsshane
andauthored
Hyundai CAN FD: ADAS steering API updates (commaai#1873)
* Hyundai CAN FD: Steering API updates * comments * comments * keep it for now * not used * should use DBC spec * consistent --------- Co-authored-by: Shane Smiskol <[email protected]>
1 parent e43a2eb commit 2a75806

File tree

4 files changed

+55
-12
lines changed

4 files changed

+55
-12
lines changed

opendbc/car/hyundai/hyundaicanfd.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ def create_steering_messages(packer, CP, CAN, enabled, lat_active, apply_torque)
4141
values = {
4242
"LKA_MODE": 2,
4343
"LKA_ICON": 2 if enabled else 1,
44-
"TORQUE_REQUEST": apply_torque,
44+
"ADAS_StrTqReqVal": apply_torque,
4545
"LKA_ASSIST": 0,
46-
"STEER_REQ": 1 if lat_active else 0,
46+
"ADAS_ActToiSta": 1 if lat_active else 0,
4747
"STEER_MODE": 0,
4848
"HAS_LANE_SAFETY": 0, # hide LKAS settings
4949
"NEW_SIGNAL_1": 0,

opendbc/dbc/generator/hyundai/_hyundai_common.dbc

+7-2
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,9 @@ BO_ 80 LKAS: 16 XXX
4444
SG_ LKA_WARNING : 32|1@1+ (1,0) [0|1] "" XXX
4545
SG_ LKA_ICON : 38|2@1+ (1,0) [0|255] "" XXX
4646
SG_ FCA_SYSWARN : 40|1@0+ (1,0) [0|1] "" XXX
47-
SG_ TORQUE_REQUEST : 41|11@1+ (1,-1024) [0|4095] "" XXX
48-
SG_ STEER_REQ : 52|1@1+ (1,0) [0|1] "" XXX
47+
SG_ ADAS_StrTqReqVal : 41|11@1+ (1,-1024) [0|4095] "Nm" GW_RGW,ICSC,MDPS,SFA
48+
SG_ ADAS_ActToiSta : 52|1@1+ (1,0) [0|1] "" ESC,GW_RGW,ICSC,MDPS,RWS,SFA
49+
SG_ ADAS_ToiFltSta : 54|2@1+ (1,0) [0|1] "" GW_RGW,MDPS,RWS,SFA
4950
SG_ LFA_BUTTON : 56|1@1+ (1,0) [0|255] "" XXX
5051
SG_ LKA_ASSIST : 62|1@1+ (1,0) [0|1] "" XXX
5152
SG_ STEER_MODE : 65|3@1+ (1,0) [0|1] "" XXX
@@ -224,6 +225,10 @@ BO_ 702 CAM_0x2be: 32 CAMERA
224225
CM_ BO_ 676 "Contains signals with detailed lane line information. Used by ADAS ECU on HDA 2 vehicles to operate LFA.";
225226

226227
CM_ SG_ 80 HAS_LANE_SAFETY "If 0, hides LKAS 'Lane Safety' menu from vehicle settings";
228+
CM_ SG_ 80 ADAS_StrTqReqVal "LKA_SteeringTorqueRequestValue ##2G##LDW_LKA - LKA11 - CR_LKA_StrToqReq";
229+
CM_ SG_ 80 ADAS_StrTqReqVal "FIXME: Factor and offsets are wrong";
230+
CM_ SG_ 80 ADAS_ActToiSta "ADAS_ActiveTorqueOverlayInterfaceStatus ##2G##LDW_LKA - LKA11 - CF_LKA_ActToi";
231+
CM_ SG_ 80 ADAS_ToiFltSta "ADAS_TorqueOverlayInterfaceFaultStatus ##2G##LDW_LKA - LKA11 - CF_LKA_ToiFlt";
227232
CM_ SG_ 676 LEFT_LANE_LINE "Left lane line confidence";
228233
CM_ SG_ 676 RIGHT_LANE_LINE "Right lane line confidence";
229234
VAL_ 80 LKA_ICON 0 "hidden" 1 "grey" 2 "green" 3 "flashing green" ;

opendbc/dbc/generator/hyundai/hyundai_canfd.dbc

+45-7
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,16 @@ BO_ 160 WHEEL_SPEEDS: 24 XXX
4646
SG_ WHL_SpdRLVal : 96|14@1+ (0.03125,0) [0|0] "km^h" XXX
4747
SG_ WHL_SpdRRVal : 112|14@1+ (0.03125,0) [0|0] "km^h" XXX
4848

49+
BO_ 203 LFA_ALT: 24 CGW_CCU
50+
SG_ CHECKSUM : 0|16@1+ (1,0) [0|65535] "0" FCU_C,GW_RGW,MDPS,SFA
51+
SG_ COUNTER : 16|8@1+ (1,0) [0|255] "0" FCU_C,GW_RGW,MDPS,SFA
52+
SG_ ADAS_ActvACISta : 24|4@1+ (1,0) [0|0] "" GW_RGW,MDPS,SFA
53+
SG_ ADAS_ActvACILvl2Sta : 28|4@1+ (1,0) [0|0] "" ESC,FCU_C,GW_RGW,MDPS,SFA,VPC_C
54+
SG_ ADAS_StrAnglReqVal : 32|14@1- (0.1,0) [0|0] "Deg" GW_RGW,MDPS,SFA
55+
SG_ ADAS_ACIAnglTqRedcGainVal : 48|8@1+ (0.004,0) [0|0] "" GW_RGW,MDPS,SFA
56+
SG_ FCA_ESA_ActvSta : 56|2@1+ (1,0) [0|0] "" GW_RGW,MDPS,SFA
57+
SG_ FCA_ESA_TqBstGainVal : 64|8@1+ (0.004,0) [0|0] "" GW_RGW,MDPS,SFA
58+
4959
BO_ 234 MDPS: 24 XXX
5060
SG_ CHECKSUM : 0|16@1+ (1,0) [0|65535] "" XXX
5161
SG_ COUNTER : 16|8@1+ (1,0) [0|255] "" XXX
@@ -75,30 +85,35 @@ BO_ 272 LKAS_ALT: 32 XXX
7585
SG_ LKA_WARNING : 32|1@1+ (1,0) [0|1] "" XXX
7686
SG_ LKA_ICON : 38|2@1+ (1,0) [0|255] "" XXX
7787
SG_ FCA_SYSWARN : 40|1@0+ (1,0) [0|1] "" XXX
78-
SG_ TORQUE_REQUEST : 41|11@1+ (1,-1024) [0|4095] "" XXX
79-
SG_ STEER_REQ : 52|1@1+ (1,0) [0|1] "" XXX
88+
SG_ ADAS_StrTqReqVal : 41|11@1+ (1,-1024) [0|4095] "Nm" GW_RGW,ICSC,MDPS,SFA
89+
SG_ ADAS_ActToiSta : 52|1@1+ (1,0) [0|1] "" ESC,GW_RGW,ICSC,MDPS,RWS,SFA
90+
SG_ ADAS_ToiFltSta : 54|2@1+ (1,0) [0|1] "" GW_RGW,MDPS,RWS,SFA
8091
SG_ LFA_BUTTON : 56|1@1+ (1,0) [0|255] "" XXX
8192
SG_ LKA_ASSIST : 62|1@1+ (1,0) [0|1] "" XXX
8293
SG_ STEER_MODE : 65|3@1+ (1,0) [0|1] "" XXX
8394
SG_ NEW_SIGNAL_2 : 70|2@0+ (1,0) [0|3] "" XXX
8495
SG_ HAS_LANE_SAFETY : 80|1@0+ (1,0) [0|1] "" XXX
8596
SG_ NEW_SIGNAL_3 : 111|8@0+ (1,0) [0|255] "" XXX
97+
SG_ ADAS_ActvACILvl2Sta : 77|2@0+ (1,0) [0|3] "" XXX
98+
SG_ ADAS_StrAnglReqVal : 82|14@1- (0.1,0) [0|0] "Deg" GW_RGW,MDPS,SFA
99+
SG_ ADAS_ACIAnglTqRedcGainVal : 96|8@1+ (0.004,0) [0|0] "" GW_RGW,MDPS,SFA
86100

87101
BO_ 293 STEERING_SENSORS: 16 XXX
88102
SG_ CHECKSUM : 0|16@1+ (1,0) [0|65535] "" XXX
89103
SG_ COUNTER : 16|8@1+ (1,0) [0|255] "" XXX
90104
SG_ STEERING_ANGLE : 24|16@1- (0.1,0) [0|255] "deg" XXX
91105
SG_ STEERING_RATE : 40|8@1+ (4,0) [0|1016] "deg/s" XXX
92106

93-
BO_ 298 LFA: 16 ADRV
94-
SG_ CHECKSUM : 0|16@1+ (1,0) [0|65535] "" XXX
95-
SG_ COUNTER : 16|8@1+ (1,0) [0|255] "" XXX
107+
BO_ 298 LFA: 16 CGW_CCU
108+
SG_ CHECKSUM : 0|16@1+ (1,0) [0|65535] "" FCU_C,GW_RGW,ICSC,MDPS,RWS,SFA,VPC_C
109+
SG_ COUNTER : 16|8@1+ (1,0) [0|255] "" FCU_C,GW_RGW,ICSC,MDPS,RWS,SFA,VPC_C
96110
SG_ LKA_MODE : 24|3@1+ (1,0) [0|7] "" XXX
97111
SG_ NEW_SIGNAL_1 : 27|2@1+ (1,0) [0|255] "" XXX
98112
SG_ LKA_WARNING : 32|1@1+ (1,0) [0|1] "" XXX
99113
SG_ LKA_ICON : 38|2@1+ (1,0) [0|255] "" XXX
100-
SG_ TORQUE_REQUEST : 41|11@1+ (1,-1024) [0|4095] "" XXX
101-
SG_ STEER_REQ : 52|1@1+ (1,0) [0|1] "" XXX
114+
SG_ ADAS_StrTqReqVal : 41|11@1+ (1,-1024) [0|4095] "Nm" GW_RGW,ICSC,MDPS,SFA
115+
SG_ ADAS_ActToiSta : 52|1@1+ (1,0) [0|1] "" ESC,GW_RGW,ICSC,MDPS,RWS,SFA
116+
SG_ ADAS_ToiFltSta : 54|2@1+ (1,0) [0|1] "" GW_RGW,MDPS,RWS,SFA
102117
SG_ LFA_BUTTON : 56|1@1+ (1,0) [0|255] "" XXX
103118
SG_ LKA_ASSIST : 62|1@1+ (1,0) [0|1] "" XXX
104119
SG_ STEER_MODE : 65|3@1+ (1,0) [0|1] "" XXX
@@ -576,8 +591,25 @@ BO_ 1264 LOCAL_TIME: 8 XXX
576591

577592
CM_ SG_ 96 BRAKE_PRESSURE "User applied brake pedal pressure. Ramps from computer applied pressure on falling edge of cruise. Cruise cancels if !=0";
578593
CM_ SG_ 101 BRAKE_POSITION "User applied brake pedal position, max is ~700. Signed on some vehicles";
594+
CM_ SG_ 203 ADAS_ActvACISta "ADAS Active AngleControlInterface State";
595+
CM_ SG_ 203 ADAS_ActvACILvl2Sta "ADAS Active AngleControlInterface Level 2 State";
596+
CM_ SG_ 203 ADAS_StrAnglReqVal "ADAS Steering Angle Request Value";
597+
CM_ SG_ 203 ADAS_ACIAnglTqRedcGainVal "ADAS AngleControlInterface Angle Torque Reduction Gain Value";
598+
CM_ SG_ 203 FCA_ESA_ActvSta "FCA_ESA Active State";
599+
CM_ SG_ 203 FCA_ESA_TqBstGainVal "FCA_ESA Torque Boost Gain Value";
579600
CM_ BO_ 272 "Alternative LKAS message, used on cars such as 2023 Ioniq 6, 2nd gen Kona. Matches LKAS except size is 32 bytes";
601+
CM_ SG_ 272 ADAS_StrTqReqVal "LKA_SteeringTorqueRequestValue ##2G##LDW_LKA - LKA11 - CR_LKA_StrToqReq";
602+
CM_ SG_ 272 ADAS_StrTqReqVal "FIXME: Factor and offsets are wrong";
603+
CM_ SG_ 272 ADAS_ActToiSta "ADAS_ActiveTorqueOverlayInterfaceStatus ##2G##LDW_LKA - LKA11 - CF_LKA_ActToi";
604+
CM_ SG_ 272 ADAS_ToiFltSta "ADAS_TorqueOverlayInterfaceFaultStatus ##2G##LDW_LKA - LKA11 - CF_LKA_ToiFlt";
605+
CM_ SG_ 272 ADAS_ActvACILvl2Sta "ADAS Active AngleControlInterface Level 2 State";
606+
CM_ SG_ 272 ADAS_StrAnglReqVal "ADAS Steering Angle Request Value";
607+
CM_ SG_ 272 ADAS_ACIAnglTqRedcGainVal "ADAS AngleControlInterface Angle Torque Reduction Gain Value";
580608
CM_ SG_ 298 NEW_SIGNAL_4 "todo: figure out why always set to 9";
609+
CM_ SG_ 298 ADAS_StrTqReqVal "LKA_SteeringTorqueRequestValue ##2G##LDW_LKA - LKA11 - CR_LKA_StrToqReq";
610+
CM_ SG_ 298 ADAS_StrTqReqVal "FIXME: Factor and offsets are wrong";
611+
CM_ SG_ 298 ADAS_ActToiSta "ADAS_ActiveTorqueOverlayInterfaceStatus ##2G##LDW_LKA - LKA11 - CF_LKA_ActToi";
612+
CM_ SG_ 298 ADAS_ToiFltSta "ADAS_TorqueOverlayInterfaceFaultStatus ##2G##LDW_LKA - LKA11 - CF_LKA_ToiFlt";
581613
CM_ SG_ 352 SET_ME_9 "has something to do with AEB settings";
582614
CM_ SG_ 373 ACCEnable "Likely a copy of CAN's TCS13->ACCEnable";
583615
CM_ SG_ 373 DriverBraking "Likely derived from BRAKE->BRAKE_POSITION";
@@ -599,6 +631,12 @@ VAL_ 64 GEAR 0 "P" 5 "D" 6 "N" 7 "R";
599631
VAL_ 69 GEAR 0 "P" 5 "D" 6 "N" 7 "R";
600632
VAL_ 96 TRACTION_AND_STABILITY_CONTROL 0 "On" 5 "Limited" 1 "Off";
601633
VAL_ 112 GEAR 0 "P" 5 "D" 6 "N" 7 "R";
634+
VAL_ 203 ADAS_ActvACISta 0 "INIT" 1 "INACTIVE" 2 "ACTIVE35(ACTIVE)" 3 "ACTIVE33(Redundancy)" ;
635+
VAL_ 203 ADAS_ActvACILvl2Sta 0 "INIT" 1 "INACTIVE" 2 "ACTIVE35(ACTIVE)" ;
636+
VAL_ 203 ADAS_StrAnglReqVal 0 "0x0x000~0x3FFF:Real Values" 16383 "0x0x000~0x3FFF:Real Values" ;
637+
VAL_ 203 ADAS_ACIAnglTqRedcGainVal 0 "0x0x00~0xFA:Real Values" 250 "0x0x00~0xFA:Real Values" ;
638+
VAL_ 203 FCA_ESA_ActvSta 0 "Inactive" 1 "Active" ;
639+
VAL_ 203 FCA_ESA_TqBstGainVal 0 "0x0x00~0xFA:Real Values" 250 "0x0x00~0xFA:Real Values" 251 ;
602640
VAL_ 234 LKA_FAULT 0 "ok" 1 "lka fault";
603641
VAL_ 272 LKA_MODE 1 "warning only" 2 "assist" 6 "off";
604642
VAL_ 272 LKA_ICON 0 "hidden" 1 "grey" 2 "green" 3 "flashing green";

opendbc/safety/tests/test_hyundai_canfd.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def _torque_driver_msg(self, torque):
5252
return self.packer.make_can_msg_panda("MDPS", self.PT_BUS, values)
5353

5454
def _torque_cmd_msg(self, torque, steer_req=1):
55-
values = {"TORQUE_REQUEST": torque, "STEER_REQ": steer_req}
55+
values = {"ADAS_StrTqReqVal": torque, "ADAS_ActToiSta": steer_req}
5656
return self.packer.make_can_msg_panda(self.STEER_MSG, self.STEER_BUS, values)
5757

5858
def _speed_msg(self, speed):

0 commit comments

Comments
 (0)