11#!/usr/bin/env python3
22from parameterized import parameterized_class
33import unittest
4+
5+ from opendbc .car .hyundai .values import HyundaiPandaFlags
46from panda import Panda
57from panda .tests .libpanda import libpanda_py
68import panda .tests .safety .common as common
@@ -107,27 +109,34 @@ def setUp(self):
107109
108110@parameterized_class ([
109111 # Radar SCC, test with long flag to ensure flag is not respected until it is supported
110- {"GAS_MSG" : ("ACCELERATOR_BRAKE_ALT" , "ACCELERATOR_PEDAL_PRESSED" ), "SCC_BUS" : 0 , "SAFETY_PARAM" : Panda .FLAG_HYUNDAI_LONG },
111- {"GAS_MSG" : ("ACCELERATOR" , "ACCELERATOR_PEDAL" ), "SCC_BUS" : 0 , "SAFETY_PARAM" : Panda .FLAG_HYUNDAI_EV_GAS | Panda .FLAG_HYUNDAI_LONG },
112- {"GAS_MSG" : ("ACCELERATOR_ALT" , "ACCELERATOR_PEDAL" ), "SCC_BUS" : 0 , "SAFETY_PARAM" : Panda .FLAG_HYUNDAI_HYBRID_GAS | Panda .FLAG_HYUNDAI_LONG },
112+ {"GAS_MSG" : ("ACCELERATOR_BRAKE_ALT" , "ACCELERATOR_PEDAL_PRESSED" ), "SCC_BUS" : 0 , "SAFETY_PARAM" : HyundaiPandaFlags .FLAG_HYUNDAI_LONG },
113+ {"GAS_MSG" : ("ACCELERATOR" , "ACCELERATOR_PEDAL" ), "SCC_BUS" : 0 , "SAFETY_PARAM" : HyundaiPandaFlags .FLAG_HYUNDAI_EV_GAS |
114+ HyundaiPandaFlags .FLAG_HYUNDAI_LONG },
115+ {"GAS_MSG" : ("ACCELERATOR_ALT" , "ACCELERATOR_PEDAL" ), "SCC_BUS" : 0 , "SAFETY_PARAM" : HyundaiPandaFlags .FLAG_HYUNDAI_HYBRID_GAS |
116+ HyundaiPandaFlags .FLAG_HYUNDAI_LONG },
113117 # Camera SCC
114- {"GAS_MSG" : ("ACCELERATOR_BRAKE_ALT" , "ACCELERATOR_PEDAL_PRESSED" ), "SCC_BUS" : 2 , "SAFETY_PARAM" : Panda .FLAG_HYUNDAI_CAMERA_SCC },
115- {"GAS_MSG" : ("ACCELERATOR" , "ACCELERATOR_PEDAL" ), "SCC_BUS" : 2 , "SAFETY_PARAM" : Panda .FLAG_HYUNDAI_EV_GAS | Panda .FLAG_HYUNDAI_CAMERA_SCC },
116- {"GAS_MSG" : ("ACCELERATOR_ALT" , "ACCELERATOR_PEDAL" ), "SCC_BUS" : 2 , "SAFETY_PARAM" : Panda .FLAG_HYUNDAI_HYBRID_GAS | Panda .FLAG_HYUNDAI_CAMERA_SCC },
118+ {"GAS_MSG" : ("ACCELERATOR_BRAKE_ALT" , "ACCELERATOR_PEDAL_PRESSED" ), "SCC_BUS" : 2 , "SAFETY_PARAM" : HyundaiPandaFlags .FLAG_HYUNDAI_CAMERA_SCC },
119+ {"GAS_MSG" : ("ACCELERATOR" , "ACCELERATOR_PEDAL" ), "SCC_BUS" : 2 , "SAFETY_PARAM" : HyundaiPandaFlags .FLAG_HYUNDAI_EV_GAS |
120+ HyundaiPandaFlags .FLAG_HYUNDAI_CAMERA_SCC },
121+ {"GAS_MSG" : ("ACCELERATOR_ALT" , "ACCELERATOR_PEDAL" ), "SCC_BUS" : 2 , "SAFETY_PARAM" : HyundaiPandaFlags .FLAG_HYUNDAI_HYBRID_GAS |
122+ HyundaiPandaFlags .FLAG_HYUNDAI_CAMERA_SCC },
117123])
118124class TestHyundaiCanfdHDA1 (TestHyundaiCanfdHDA1Base ):
119125 pass
120126
121127
122128@parameterized_class ([
123129 # Radar SCC, test with long flag to ensure flag is not respected until it is supported
124- {"GAS_MSG" : ("ACCELERATOR_BRAKE_ALT" , "ACCELERATOR_PEDAL_PRESSED" ), "SCC_BUS" : 0 , "SAFETY_PARAM" : Panda .FLAG_HYUNDAI_LONG },
125- {"GAS_MSG" : ("ACCELERATOR" , "ACCELERATOR_PEDAL" ), "SCC_BUS" : 0 , "SAFETY_PARAM" : Panda .FLAG_HYUNDAI_EV_GAS | Panda .FLAG_HYUNDAI_LONG },
126- {"GAS_MSG" : ("ACCELERATOR_ALT" , "ACCELERATOR_PEDAL" ), "SCC_BUS" : 0 , "SAFETY_PARAM" : Panda .FLAG_HYUNDAI_HYBRID_GAS | Panda .FLAG_HYUNDAI_LONG },
130+ {"GAS_MSG" : ("ACCELERATOR_BRAKE_ALT" , "ACCELERATOR_PEDAL_PRESSED" ), "SCC_BUS" : 0 , "SAFETY_PARAM" : HyundaiPandaFlags .FLAG_HYUNDAI_LONG },
131+ {"GAS_MSG" : ("ACCELERATOR" , "ACCELERATOR_PEDAL" ), "SCC_BUS" : 0 , "SAFETY_PARAM" : HyundaiPandaFlags .FLAG_HYUNDAI_EV_GAS | HyundaiPandaFlags .FLAG_HYUNDAI_LONG },
132+ {"GAS_MSG" : ("ACCELERATOR_ALT" , "ACCELERATOR_PEDAL" ), "SCC_BUS" : 0 , "SAFETY_PARAM" : HyundaiPandaFlags .FLAG_HYUNDAI_HYBRID_GAS |
133+ HyundaiPandaFlags .FLAG_HYUNDAI_LONG },
127134 # Camera SCC
128- {"GAS_MSG" : ("ACCELERATOR_BRAKE_ALT" , "ACCELERATOR_PEDAL_PRESSED" ), "SCC_BUS" : 2 , "SAFETY_PARAM" : Panda .FLAG_HYUNDAI_CAMERA_SCC },
129- {"GAS_MSG" : ("ACCELERATOR" , "ACCELERATOR_PEDAL" ), "SCC_BUS" : 2 , "SAFETY_PARAM" : Panda .FLAG_HYUNDAI_EV_GAS | Panda .FLAG_HYUNDAI_CAMERA_SCC },
130- {"GAS_MSG" : ("ACCELERATOR_ALT" , "ACCELERATOR_PEDAL" ), "SCC_BUS" : 2 , "SAFETY_PARAM" : Panda .FLAG_HYUNDAI_HYBRID_GAS | Panda .FLAG_HYUNDAI_CAMERA_SCC },
135+ {"GAS_MSG" : ("ACCELERATOR_BRAKE_ALT" , "ACCELERATOR_PEDAL_PRESSED" ), "SCC_BUS" : 2 , "SAFETY_PARAM" : HyundaiPandaFlags .FLAG_HYUNDAI_CAMERA_SCC },
136+ {"GAS_MSG" : ("ACCELERATOR" , "ACCELERATOR_PEDAL" ), "SCC_BUS" : 2 , "SAFETY_PARAM" : HyundaiPandaFlags .FLAG_HYUNDAI_EV_GAS |
137+ HyundaiPandaFlags .FLAG_HYUNDAI_CAMERA_SCC },
138+ {"GAS_MSG" : ("ACCELERATOR_ALT" , "ACCELERATOR_PEDAL" ), "SCC_BUS" : 2 , "SAFETY_PARAM" : HyundaiPandaFlags .FLAG_HYUNDAI_HYBRID_GAS |
139+ HyundaiPandaFlags .FLAG_HYUNDAI_CAMERA_SCC },
131140])
132141class TestHyundaiCanfdHDA1AltButtons (TestHyundaiCanfdHDA1Base ):
133142
@@ -136,7 +145,7 @@ class TestHyundaiCanfdHDA1AltButtons(TestHyundaiCanfdHDA1Base):
136145 def setUp (self ):
137146 self .packer = CANPackerPanda ("hyundai_canfd" )
138147 self .safety = libpanda_py .libpanda
139- self .safety .set_safety_hooks (Panda .SAFETY_HYUNDAI_CANFD , Panda .FLAG_HYUNDAI_CANFD_ALT_BUTTONS | self .SAFETY_PARAM )
148+ self .safety .set_safety_hooks (Panda .SAFETY_HYUNDAI_CANFD , HyundaiPandaFlags .FLAG_HYUNDAI_CANFD_ALT_BUTTONS | self .SAFETY_PARAM )
140149 self .safety .init_tests ()
141150
142151 def _button_msg (self , buttons , main_button = 0 , bus = 1 ):
@@ -171,7 +180,7 @@ class TestHyundaiCanfdHDA2EV(TestHyundaiCanfdBase):
171180 def setUp (self ):
172181 self .packer = CANPackerPanda ("hyundai_canfd" )
173182 self .safety = libpanda_py .libpanda
174- self .safety .set_safety_hooks (Panda .SAFETY_HYUNDAI_CANFD , Panda .FLAG_HYUNDAI_CANFD_HDA2 | Panda .FLAG_HYUNDAI_EV_GAS )
183+ self .safety .set_safety_hooks (Panda .SAFETY_HYUNDAI_CANFD , HyundaiPandaFlags .FLAG_HYUNDAI_CANFD_HDA2 | HyundaiPandaFlags .FLAG_HYUNDAI_EV_GAS )
175184 self .safety .init_tests ()
176185
177186
@@ -191,8 +200,8 @@ class TestHyundaiCanfdHDA2EVAltSteering(TestHyundaiCanfdBase):
191200 def setUp (self ):
192201 self .packer = CANPackerPanda ("hyundai_canfd" )
193202 self .safety = libpanda_py .libpanda
194- self .safety .set_safety_hooks (Panda .SAFETY_HYUNDAI_CANFD , Panda .FLAG_HYUNDAI_CANFD_HDA2 | Panda .FLAG_HYUNDAI_EV_GAS |
195- Panda .FLAG_HYUNDAI_CANFD_HDA2_ALT_STEERING )
203+ self .safety .set_safety_hooks (Panda .SAFETY_HYUNDAI_CANFD , HyundaiPandaFlags .FLAG_HYUNDAI_CANFD_HDA2 | HyundaiPandaFlags .FLAG_HYUNDAI_EV_GAS |
204+ HyundaiPandaFlags .FLAG_HYUNDAI_CANFD_HDA2_ALT_STEERING )
196205 self .safety .init_tests ()
197206
198207
@@ -213,7 +222,8 @@ class TestHyundaiCanfdHDA2LongEV(HyundaiLongitudinalBase, TestHyundaiCanfdHDA2EV
213222 def setUp (self ):
214223 self .packer = CANPackerPanda ("hyundai_canfd" )
215224 self .safety = libpanda_py .libpanda
216- self .safety .set_safety_hooks (Panda .SAFETY_HYUNDAI_CANFD , Panda .FLAG_HYUNDAI_CANFD_HDA2 | Panda .FLAG_HYUNDAI_LONG | Panda .FLAG_HYUNDAI_EV_GAS )
225+ self .safety .set_safety_hooks (Panda .SAFETY_HYUNDAI_CANFD , HyundaiPandaFlags .FLAG_HYUNDAI_CANFD_HDA2 |
226+ HyundaiPandaFlags .FLAG_HYUNDAI_LONG | HyundaiPandaFlags .FLAG_HYUNDAI_EV_GAS )
217227 self .safety .init_tests ()
218228
219229 def _accel_msg (self , accel , aeb_req = False , aeb_decel = 0 ):
@@ -227,9 +237,9 @@ def _accel_msg(self, accel, aeb_req=False, aeb_decel=0):
227237# Tests HDA1 longitudinal for ICE, hybrid, EV
228238@parameterized_class ([
229239 # Camera SCC is the only supported configuration for HDA1 longitudinal, TODO: allow radar SCC
230- {"GAS_MSG" : ("ACCELERATOR_BRAKE_ALT" , "ACCELERATOR_PEDAL_PRESSED" ), "SAFETY_PARAM" : Panda .FLAG_HYUNDAI_LONG },
231- {"GAS_MSG" : ("ACCELERATOR" , "ACCELERATOR_PEDAL" ), "SAFETY_PARAM" : Panda .FLAG_HYUNDAI_LONG | Panda .FLAG_HYUNDAI_EV_GAS },
232- {"GAS_MSG" : ("ACCELERATOR_ALT" , "ACCELERATOR_PEDAL" ), "SAFETY_PARAM" : Panda .FLAG_HYUNDAI_LONG | Panda .FLAG_HYUNDAI_HYBRID_GAS },
240+ {"GAS_MSG" : ("ACCELERATOR_BRAKE_ALT" , "ACCELERATOR_PEDAL_PRESSED" ), "SAFETY_PARAM" : HyundaiPandaFlags .FLAG_HYUNDAI_LONG },
241+ {"GAS_MSG" : ("ACCELERATOR" , "ACCELERATOR_PEDAL" ), "SAFETY_PARAM" : HyundaiPandaFlags .FLAG_HYUNDAI_LONG | HyundaiPandaFlags .FLAG_HYUNDAI_EV_GAS },
242+ {"GAS_MSG" : ("ACCELERATOR_ALT" , "ACCELERATOR_PEDAL" ), "SAFETY_PARAM" : HyundaiPandaFlags .FLAG_HYUNDAI_LONG | HyundaiPandaFlags .FLAG_HYUNDAI_HYBRID_GAS },
233243])
234244class TestHyundaiCanfdHDA1Long (HyundaiLongitudinalBase , TestHyundaiCanfdHDA1Base ):
235245
@@ -253,7 +263,7 @@ def setUpClass(cls):
253263 def setUp (self ):
254264 self .packer = CANPackerPanda ("hyundai_canfd" )
255265 self .safety = libpanda_py .libpanda
256- self .safety .set_safety_hooks (Panda .SAFETY_HYUNDAI_CANFD , Panda .FLAG_HYUNDAI_CAMERA_SCC | self .SAFETY_PARAM )
266+ self .safety .set_safety_hooks (Panda .SAFETY_HYUNDAI_CANFD , HyundaiPandaFlags .FLAG_HYUNDAI_CAMERA_SCC | self .SAFETY_PARAM )
257267 self .safety .init_tests ()
258268
259269 def _accel_msg (self , accel , aeb_req = False , aeb_decel = 0 ):
0 commit comments