Skip to content

Commit bae78dd

Browse files
don't read params in car interfaces (commaai#23978)
1 parent 20db452 commit bae78dd

File tree

15 files changed

+26
-29
lines changed

15 files changed

+26
-29
lines changed

selfdrive/car/car_helpers.py

+8-6
Original file line numberDiff line numberDiff line change
@@ -173,11 +173,13 @@ def get_car(logcan, sendcan):
173173
cloudlog.warning("car doesn't match any fingerprints: %r", fingerprints)
174174
candidate = "mock"
175175

176+
disable_radar = Params().get_bool("DisableRadar")
177+
176178
CarInterface, CarController, CarState = interfaces[candidate]
177-
car_params = CarInterface.get_params(candidate, fingerprints, car_fw)
178-
car_params.carVin = vin
179-
car_params.carFw = car_fw
180-
car_params.fingerprintSource = source
181-
car_params.fuzzyFingerprint = not exact_match
179+
CP = CarInterface.get_params(candidate, fingerprints, car_fw, disable_radar)
180+
CP.carVin = vin
181+
CP.carFw = car_fw
182+
CP.fingerprintSource = source
183+
CP.fuzzyFingerprint = not exact_match
182184

183-
return CarInterface(car_params, CarController, CarState), car_params
185+
return CarInterface(CP, CarController, CarState), CP

selfdrive/car/chrysler/interface.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
class CarInterface(CarInterfaceBase):
99
@staticmethod
10-
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None):
10+
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None, disable_radar=False):
1111
ret = CarInterfaceBase.get_std_params(candidate, fingerprint)
1212
ret.carName = "chrysler"
1313
ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.chrysler)]

selfdrive/car/ford/interface.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
class CarInterface(CarInterfaceBase):
1010
@staticmethod
11-
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None):
11+
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None, disable_radar=False):
1212
ret = CarInterfaceBase.get_std_params(candidate, fingerprint)
1313
ret.carName = "ford"
1414
ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.ford)]

selfdrive/car/gm/interface.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def get_steer_feedforward_function(self):
3939
return CarInterfaceBase.get_steer_feedforward_default
4040

4141
@staticmethod
42-
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None):
42+
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None, disable_radar=False):
4343
ret = CarInterfaceBase.get_std_params(candidate, fingerprint)
4444
ret.carName = "gm"
4545
ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.gm)]

selfdrive/car/honda/interface.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
from panda import Panda
44
from common.conversions import Conversions as CV
55
from common.numpy_fast import interp
6-
from common.params import Params
76
from selfdrive.car.honda.values import CarControllerParams, CruiseButtons, HondaFlags, CAR, HONDA_BOSCH, HONDA_NIDEC_ALT_SCM_MESSAGES, HONDA_BOSCH_ALT_BRAKE_SIGNAL
87
from selfdrive.car import STD_CARGO_KG, CivicParams, scale_rot_inertia, scale_tire_stiffness, gen_empty_fingerprint, get_safety_config
98
from selfdrive.car.interfaces import CarInterfaceBase
@@ -28,7 +27,7 @@ def get_pid_accel_limits(CP, current_speed, cruise_speed):
2827
return CarControllerParams.NIDEC_ACCEL_MIN, interp(current_speed, ACCEL_MAX_BP, ACCEL_MAX_VALS)
2928

3029
@staticmethod
31-
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=[]): # pylint: disable=dangerous-default-value
30+
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=[], disable_radar=False): # pylint: disable=dangerous-default-value
3231
ret = CarInterfaceBase.get_std_params(candidate, fingerprint)
3332
ret.carName = "honda"
3433

@@ -38,7 +37,7 @@ def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=[]): # py
3837

3938
# Disable the radar and let openpilot control longitudinal
4039
# WARNING: THIS DISABLES AEB!
41-
ret.openpilotLongitudinalControl = Params().get_bool("DisableRadar")
40+
ret.openpilotLongitudinalControl = disable_radar
4241

4342
ret.pcmCruise = not ret.openpilotLongitudinalControl
4443
else:

selfdrive/car/hyundai/interface.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
#!/usr/bin/env python3
22
from cereal import car
33
from panda import Panda
4-
from common.params import Params
54
from common.conversions import Conversions as CV
65
from selfdrive.car.hyundai.values import CAR, EV_CAR, HYBRID_CAR, LEGACY_SAFETY_MODE_CAR, Buttons, CarControllerParams
76
from selfdrive.car.hyundai.radar_interface import RADAR_START_ADDR
@@ -18,15 +17,15 @@ def get_pid_accel_limits(CP, current_speed, cruise_speed):
1817
return CarControllerParams.ACCEL_MIN, CarControllerParams.ACCEL_MAX
1918

2019
@staticmethod
21-
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=[]): # pylint: disable=dangerous-default-value
20+
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=[], disable_radar=False): # pylint: disable=dangerous-default-value
2221
ret = CarInterfaceBase.get_std_params(candidate, fingerprint)
2322

2423
ret.carName = "hyundai"
2524
ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.hyundai, 0)]
2625
ret.radarOffCan = RADAR_START_ADDR not in fingerprint[1]
2726

2827
# WARNING: disabling radar also disables AEB (and we show the same warning on the instrument cluster as if you manually disabled AEB)
29-
ret.openpilotLongitudinalControl = Params().get_bool("DisableRadar") and (candidate not in LEGACY_SAFETY_MODE_CAR)
28+
ret.openpilotLongitudinalControl = disable_radar and (candidate not in LEGACY_SAFETY_MODE_CAR)
3029

3130
ret.pcmCruise = not ret.openpilotLongitudinalControl
3231

selfdrive/car/interfaces.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def get_pid_accel_limits(CP, current_speed, cruise_speed):
5050

5151
@staticmethod
5252
@abstractmethod
53-
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None):
53+
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None, disable_radar=False):
5454
pass
5555

5656
@staticmethod

selfdrive/car/mazda/interface.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def compute_gb(accel, speed):
1515
return float(accel) / 4.0
1616

1717
@staticmethod
18-
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None):
18+
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None, disable_radar=False):
1919
ret = CarInterfaceBase.get_std_params(candidate, fingerprint)
2020

2121
ret.carName = "mazda"

selfdrive/car/mock/interface.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def compute_gb(accel, speed):
3333
return accel
3434

3535
@staticmethod
36-
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None):
36+
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None, disable_radar=False):
3737
ret = CarInterfaceBase.get_std_params(candidate, fingerprint)
3838
ret.carName = "mock"
3939
ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.noOutput)]

selfdrive/car/nissan/interface.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ def __init__(self, CP, CarController, CarState):
1010
self.cp_adas = self.CS.get_adas_can_parser(CP)
1111

1212
@staticmethod
13-
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None):
13+
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None, disable_radar=False):
1414

1515
ret = CarInterfaceBase.get_std_params(candidate, fingerprint)
1616
ret.carName = "nissan"

selfdrive/car/subaru/interface.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
class CarInterface(CarInterfaceBase):
88

99
@staticmethod
10-
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None):
10+
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None, disable_radar=False):
1111
ret = CarInterfaceBase.get_std_params(candidate, fingerprint)
1212

1313
ret.carName = "subaru"

selfdrive/car/tesla/interface.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
class CarInterface(CarInterfaceBase):
1010
@staticmethod
11-
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None):
11+
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None, disable_radar=False):
1212
ret = CarInterfaceBase.get_std_params(candidate, fingerprint)
1313
ret.carName = "tesla"
1414

selfdrive/car/tests/test_models.py

+3-6
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
from parameterized import parameterized_class
99

1010
from cereal import log, car
11-
from common.params import Params
1211
from common.realtime import DT_CTRL
1312
from selfdrive.boardd.boardd import can_capnp_to_can_list, can_list_to_can_capnp
1413
from selfdrive.car.fingerprints import all_known_cars
@@ -56,9 +55,7 @@ def setUpClass(cls):
5655
raise unittest.SkipTest
5756
raise Exception(f"missing test route for {cls.car_model}")
5857

59-
params = Params()
60-
params.clear_all()
61-
58+
disable_radar = False
6259
for seg in (2, 1, 0):
6360
try:
6461
lr = LogReader(get_url(cls.route, seg))
@@ -75,7 +72,7 @@ def setUpClass(cls):
7572
can_msgs.append(msg)
7673
elif msg.which() == "carParams":
7774
if msg.carParams.openpilotLongitudinalControl:
78-
params.put_bool("DisableRadar", True)
75+
disable_radar = True
7976

8077
if len(can_msgs) > int(50 / DT_CTRL):
8178
break
@@ -85,7 +82,7 @@ def setUpClass(cls):
8582
cls.can_msgs = sorted(can_msgs, key=lambda msg: msg.logMonoTime)
8683

8784
cls.CarInterface, cls.CarController, cls.CarState = interfaces[cls.car_model]
88-
cls.CP = cls.CarInterface.get_params(cls.car_model, fingerprint, [])
85+
cls.CP = cls.CarInterface.get_params(cls.car_model, fingerprint, [], disable_radar)
8986
assert cls.CP
9087
assert cls.CP.carFingerprint == cls.car_model
9188

selfdrive/car/toyota/interface.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def get_pid_accel_limits(CP, current_speed, cruise_speed):
1515
return CarControllerParams.ACCEL_MIN, CarControllerParams.ACCEL_MAX
1616

1717
@staticmethod
18-
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=[]): # pylint: disable=dangerous-default-value
18+
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=[], disable_radar=False): # pylint: disable=dangerous-default-value
1919
ret = CarInterfaceBase.get_std_params(candidate, fingerprint)
2020

2121
ret.carName = "toyota"

selfdrive/car/volkswagen/interface.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def __init__(self, CP, CarController, CarState):
2121
self.cp_ext = self.cp_cam
2222

2323
@staticmethod
24-
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None):
24+
def get_params(candidate, fingerprint=gen_empty_fingerprint(), car_fw=None, disable_radar=False):
2525
ret = CarInterfaceBase.get_std_params(candidate, fingerprint)
2626
ret.carName = "volkswagen"
2727
ret.radarOffCan = True

0 commit comments

Comments
 (0)