From 48c0b7394fa7d8a1593a0ae357f33a4bef7cec4d Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Fri, 9 Aug 2024 22:45:38 -0700 Subject: [PATCH] EventName is one of the last things... --- selfdrive/car/__init__.py | 16 ++++++++-------- selfdrive/car/interfaces.py | 7 ++++--- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/selfdrive/car/__init__.py b/selfdrive/car/__init__.py index 8adeb86344..a34452e5ca 100644 --- a/selfdrive/car/__init__.py +++ b/selfdrive/car/__init__.py @@ -10,7 +10,7 @@ import capnp from cereal import car from panda.python.uds import SERVICE_TYPE from openpilot.selfdrive.car.can_definitions import CanData -from openpilot.selfdrive.car.structs import CarParams +from openpilot.selfdrive.car import structs from openpilot.selfdrive.car.docs_definitions import CarDocs from openpilot.selfdrive.car.helpers import clip, interp @@ -24,7 +24,7 @@ DT_CTRL = 0.01 # car state and control loop timestep (s) # kg of standard extra cargo to count for drive, gas, etc... STD_CARGO_KG = 136. -ButtonType = car.CarState.ButtonEvent.Type +ButtonType = structs.CarState.ButtonEvent.Type EventName = car.CarEvent.EventName AngleRateLimit = namedtuple('AngleRateLimit', ['speed_bp', 'angle_v']) @@ -38,7 +38,7 @@ def apply_hysteresis(val: float, val_steady: float, hyst_gap: float) -> float: def create_button_events(cur_btn: int, prev_btn: int, buttons_dict: dict[int, capnp.lib.capnp._EnumModule], - unpressed_btn: int = 0) -> list[capnp.lib.capnp._DynamicStructBuilder]: + unpressed_btn: int = 0) -> list[structs.CarState.ButtonEvent]: events: list[capnp.lib.capnp._DynamicStructBuilder] = [] if cur_btn == prev_btn: @@ -47,8 +47,8 @@ def create_button_events(cur_btn: int, prev_btn: int, buttons_dict: dict[int, ca # Add events for button presses, multiple when a button switches without going to unpressed for pressed, btn in ((False, prev_btn), (True, cur_btn)): if btn != unpressed_btn: - events.append(car.CarState.ButtonEvent(pressed=pressed, - type=buttons_dict.get(btn, ButtonType.unknown))) + events.append(structs.CarState.ButtonEvent(pressed=pressed, + type=buttons_dict.get(btn, ButtonType.unknown))) return events @@ -185,7 +185,7 @@ def rate_limit(new_value, last_value, dw_step, up_step): def get_friction(lateral_accel_error: float, lateral_accel_deadzone: float, friction_threshold: float, - torque_params: CarParams.LateralTorqueTuning, friction_compensation: bool) -> float: + torque_params: structs.CarParams.LateralTorqueTuning, friction_compensation: bool) -> float: friction_interp = interp( apply_center_deadzone(lateral_accel_error, lateral_accel_deadzone), [-friction_threshold, friction_threshold], @@ -205,8 +205,8 @@ def make_tester_present_msg(addr, bus, subaddr=None, suppress_response=False): return CanData(addr, bytes(dat), bus) -def get_safety_config(safety_model: CarParams.SafetyModel, safety_param: int = None) -> CarParams.SafetyConfig: - ret = CarParams.SafetyConfig() +def get_safety_config(safety_model: structs.CarParams.SafetyModel, safety_param: int = None) -> structs.CarParams.SafetyConfig: + ret = structs.CarParams.SafetyConfig() ret.safetyModel = safety_model if safety_param is not None: ret.safetyParam = safety_param diff --git a/selfdrive/car/interfaces.py b/selfdrive/car/interfaces.py index 4cd3aa7e5b..2d40b86f84 100644 --- a/selfdrive/car/interfaces.py +++ b/selfdrive/car/interfaces.py @@ -385,9 +385,10 @@ class CarStateBase(ABC): K = get_kalman_gain(DT_CTRL, np.array(A), np.array(C), np.array(Q), R) self.v_ego_kf = KF1D(x0=x0, A=A, C=C[0], K=K) - @abstractmethod - def update(self, *args) -> structs.CarState: - raise NotImplementedError + # TODO: this + # @abstractmethod + # def update(self, *args) -> structs.CarState: + # raise NotImplementedError def update_speed_kf(self, v_ego_raw): if abs(v_ego_raw - self.v_ego_kf.x[0][0]) > 2.0: # Prevent large accelerations when car starts at non zero speed