From eb52d701de9e38ebfb95870156c46dd5814289e3 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Fri, 9 Aug 2024 23:03:34 -0700 Subject: [PATCH] replace a bunch more cereal.car --- selfdrive/car/body/carstate.py | 5 ++--- selfdrive/car/chrysler/carstate.py | 2 +- selfdrive/car/chrysler/interface.py | 11 +++++------ selfdrive/car/chrysler/radar_interface.py | 6 +++--- selfdrive/car/ford/carstate.py | 9 ++++----- selfdrive/car/ford/interface.py | 17 ++++++++--------- selfdrive/car/ford/radar_interface.py | 8 ++++---- selfdrive/car/gm/carstate.py | 9 ++++----- selfdrive/car/gm/interface.py | 19 +++++++++---------- selfdrive/car/gm/radar_interface.py | 6 +++--- selfdrive/car/honda/carstate.py | 2 +- selfdrive/car/honda/interface.py | 13 ++++++------- selfdrive/car/honda/radar_interface.py | 6 +++--- selfdrive/car/hyundai/carstate.py | 4 ++-- selfdrive/car/hyundai/interface.py | 17 ++++++++--------- selfdrive/car/hyundai/radar_interface.py | 6 +++--- selfdrive/car/mazda/carstate.py | 2 +- selfdrive/car/mazda/interface.py | 9 ++++----- selfdrive/car/mock/interface.py | 3 +-- selfdrive/car/nissan/carstate.py | 4 ++-- selfdrive/car/nissan/interface.py | 13 ++++++------- selfdrive/car/subaru/carstate.py | 4 ++-- selfdrive/car/tesla/carstate.py | 2 +- selfdrive/car/volkswagen/carstate.py | 4 ++-- selfdrive/car/volkswagen/interface.py | 11 +++++------ 25 files changed, 90 insertions(+), 102 deletions(-) diff --git a/selfdrive/car/body/carstate.py b/selfdrive/car/body/carstate.py index fca9bcc627..e64cff4ca5 100644 --- a/selfdrive/car/body/carstate.py +++ b/selfdrive/car/body/carstate.py @@ -1,4 +1,3 @@ -from cereal import car from opendbc.can.parser import CANParser from openpilot.selfdrive.car.interfaces import CarStateBase from openpilot.selfdrive.car.body.values import DBC @@ -7,7 +6,7 @@ STARTUP_TICKS = 100 class CarState(CarStateBase): def update(self, cp): - ret = car.CarState.new_message() + ret = CarState.new_message() ret.wheelSpeeds.fl = cp.vl['MOTORS_DATA']['SPEED_L'] ret.wheelSpeeds.fr = cp.vl['MOTORS_DATA']['SPEED_R'] @@ -24,7 +23,7 @@ class CarState(CarStateBase): ret.fuelGauge = cp.vl["BODY_DATA"]["BATT_PERCENTAGE"] / 100 # irrelevant for non-car - ret.gearShifter = car.CarState.GearShifter.drive + ret.gearShifter = CarState.GearShifter.drive ret.cruiseState.enabled = True ret.cruiseState.available = True diff --git a/selfdrive/car/chrysler/carstate.py b/selfdrive/car/chrysler/carstate.py index c8b084aa62..4ba4e30823 100644 --- a/selfdrive/car/chrysler/carstate.py +++ b/selfdrive/car/chrysler/carstate.py @@ -26,7 +26,7 @@ class CarState(CarStateBase): def update(self, cp, cp_cam): - ret = car.CarState.new_message() + ret = structs.CarState() self.prev_distance_button = self.distance_button self.distance_button = cp.vl["CRUISE_BUTTONS"]["ACC_Distance_Dec"] diff --git a/selfdrive/car/chrysler/interface.py b/selfdrive/car/chrysler/interface.py index aa193523d7..6644c117db 100755 --- a/selfdrive/car/chrysler/interface.py +++ b/selfdrive/car/chrysler/interface.py @@ -1,17 +1,16 @@ #!/usr/bin/env python3 from cereal import car from panda import Panda -from openpilot.selfdrive.car import create_button_events, get_safety_config +from openpilot.selfdrive.car import create_button_events, get_safety_config, structs from openpilot.selfdrive.car.chrysler.values import CAR, RAM_HD, RAM_DT, RAM_CARS, ChryslerFlags -from openpilot.selfdrive.car.structs import CarParams from openpilot.selfdrive.car.interfaces import CarInterfaceBase -ButtonType = car.CarState.ButtonEvent.Type +ButtonType = structs.CarState.ButtonEvent.Type class CarInterface(CarInterfaceBase): @staticmethod - def _get_params(ret: CarParams, candidate, fingerprint, car_fw, experimental_long, docs): + def _get_params(ret: structs.CarParams, candidate, fingerprint, car_fw, experimental_long, docs): ret.carName = "chrysler" ret.dashcamOnly = candidate in RAM_HD @@ -21,7 +20,7 @@ class CarInterface(CarInterfaceBase): ret.steerLimitTimer = 0.4 # safety config - ret.safetyConfigs = [get_safety_config(CarParams.SafetyModel.chrysler)] + ret.safetyConfigs = [get_safety_config(structs.CarParams.SafetyModel.chrysler)] if candidate in RAM_HD: ret.safetyConfigs[0].safetyParam |= Panda.FLAG_CHRYSLER_RAM_HD elif candidate in RAM_DT: @@ -83,7 +82,7 @@ class CarInterface(CarInterfaceBase): ret.buttonEvents = create_button_events(self.CS.distance_button, self.CS.prev_distance_button, {1: ButtonType.gapAdjustCruise}) # events - events = self.create_common_events(ret, extra_gears=[car.CarState.GearShifter.low]) + events = self.create_common_events(ret, extra_gears=[structs.CarState.GearShifter.low]) # Low speed steer alert hysteresis logic if self.CP.minSteerSpeed > 0. and ret.vEgo < (self.CP.minSteerSpeed + 0.5): diff --git a/selfdrive/car/chrysler/radar_interface.py b/selfdrive/car/chrysler/radar_interface.py index f1d863d1e1..c386274c5c 100755 --- a/selfdrive/car/chrysler/radar_interface.py +++ b/selfdrive/car/chrysler/radar_interface.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 from opendbc.can.parser import CANParser -from cereal import car +from openpilot.selfdrive.car import structs from openpilot.selfdrive.car.interfaces import RadarInterfaceBase from openpilot.selfdrive.car.chrysler.values import DBC @@ -53,7 +53,7 @@ class RadarInterface(RadarInterfaceBase): if self.trigger_msg not in self.updated_messages: return None - ret = car.RadarData.new_message() + ret = structs.RadarData() errors = [] if not self.rcp.can_valid: errors.append("canError") @@ -64,7 +64,7 @@ class RadarInterface(RadarInterfaceBase): trackId = _address_to_track(ii) if trackId not in self.pts: - self.pts[trackId] = car.RadarData.RadarPoint.new_message() + self.pts[trackId] = structs.RadarData.RadarPoint() self.pts[trackId].trackId = trackId self.pts[trackId].aRel = float('nan') self.pts[trackId].yvRel = float('nan') diff --git a/selfdrive/car/ford/carstate.py b/selfdrive/car/ford/carstate.py index 1a5b5c3a84..64d7e4e782 100644 --- a/selfdrive/car/ford/carstate.py +++ b/selfdrive/car/ford/carstate.py @@ -1,14 +1,13 @@ -from cereal import car from opendbc.can.can_define import CANDefine from opendbc.can.parser import CANParser from openpilot.selfdrive.car.conversions import Conversions as CV -from openpilot.selfdrive.car.structs import CarParams +from openpilot.selfdrive.car import structs from openpilot.selfdrive.car.ford.fordcan import CanBus from openpilot.selfdrive.car.ford.values import DBC, CarControllerParams, FordFlags from openpilot.selfdrive.car.interfaces import CarStateBase -GearShifter = car.CarState.GearShifter -TransmissionType = CarParams.TransmissionType +GearShifter = structs.CarState.GearShifter +TransmissionType = structs.CarParams.TransmissionType class CarState(CarStateBase): @@ -24,7 +23,7 @@ class CarState(CarStateBase): self.distance_button = 0 def update(self, cp, cp_cam): - ret = car.CarState.new_message() + ret = structs.CarState() # Occasionally on startup, the ABS module recalibrates the steering pinion offset, so we need to block engagement # The vehicle usually recovers out of this state within a minute of normal driving diff --git a/selfdrive/car/ford/interface.py b/selfdrive/car/ford/interface.py index dd22be6da2..60309e19b7 100644 --- a/selfdrive/car/ford/interface.py +++ b/selfdrive/car/ford/interface.py @@ -1,32 +1,31 @@ from cereal import car from panda import Panda -from openpilot.selfdrive.car import create_button_events, get_safety_config +from openpilot.selfdrive.car import create_button_events, get_safety_config, structs from openpilot.selfdrive.car.conversions import Conversions as CV -from openpilot.selfdrive.car.structs import CarParams from openpilot.selfdrive.car.ford.fordcan import CanBus from openpilot.selfdrive.car.ford.values import Ecu, FordFlags from openpilot.selfdrive.car.interfaces import CarInterfaceBase -ButtonType = car.CarState.ButtonEvent.Type -TransmissionType = CarParams.TransmissionType -GearShifter = car.CarState.GearShifter +ButtonType = structs.CarState.ButtonEvent.Type +TransmissionType = structs.CarParams.TransmissionType +GearShifter = structs.CarState.GearShifter class CarInterface(CarInterfaceBase): @staticmethod - def _get_params(ret: CarParams, candidate, fingerprint, car_fw, experimental_long, docs): + def _get_params(ret: structs.CarParams, candidate, fingerprint, car_fw, experimental_long, docs): ret.carName = "ford" ret.dashcamOnly = bool(ret.flags & FordFlags.CANFD) ret.radarUnavailable = True - ret.steerControlType = CarParams.SteerControlType.angle + ret.steerControlType = structs.CarParams.SteerControlType.angle ret.steerActuatorDelay = 0.2 ret.steerLimitTimer = 1.0 CAN = CanBus(fingerprint=fingerprint) - cfgs = [get_safety_config(CarParams.SafetyModel.ford)] + cfgs = [get_safety_config(structs.CarParams.SafetyModel.ford)] if CAN.main >= 4: - cfgs.insert(0, get_safety_config(CarParams.SafetyModel.noOutput)) + cfgs.insert(0, get_safety_config(structs.CarParams.SafetyModel.noOutput)) ret.safetyConfigs = cfgs ret.experimentalLongitudinalAvailable = True diff --git a/selfdrive/car/ford/radar_interface.py b/selfdrive/car/ford/radar_interface.py index f405373661..a4e80380e7 100644 --- a/selfdrive/car/ford/radar_interface.py +++ b/selfdrive/car/ford/radar_interface.py @@ -1,6 +1,6 @@ from math import cos, sin -from cereal import car from opendbc.can.parser import CANParser +from openpilot.selfdrive.car import structs from openpilot.selfdrive.car.conversions import Conversions as CV from openpilot.selfdrive.car.ford.fordcan import CanBus from openpilot.selfdrive.car.ford.values import DBC, RADAR @@ -58,7 +58,7 @@ class RadarInterface(RadarInterfaceBase): if self.trigger_msg not in self.updated_messages: return None - ret = car.RadarData.new_message() + ret = structs.RadarData() errors = [] if not self.rcp.can_valid: errors.append("canError") @@ -89,7 +89,7 @@ class RadarInterface(RadarInterfaceBase): # radar point only valid if there have been enough valid measurements if self.valid_cnt[ii] > 0: if ii not in self.pts: - self.pts[ii] = car.RadarData.RadarPoint.new_message() + self.pts[ii] = structs.RadarData.RadarPoint() self.pts[ii].trackId = self.track_id self.track_id += 1 self.pts[ii].dRel = cpt['X_Rel'] # from front of car @@ -112,7 +112,7 @@ class RadarInterface(RadarInterfaceBase): i = (ii - 1) * 4 + scanIndex if i not in self.pts: - self.pts[i] = car.RadarData.RadarPoint.new_message() + self.pts[i] = structs.RadarData.RadarPoint() self.pts[i].trackId = self.track_id self.pts[i].aRel = float('nan') self.pts[i].yvRel = float('nan') diff --git a/selfdrive/car/gm/carstate.py b/selfdrive/car/gm/carstate.py index f3f74f9861..03c681b5c4 100644 --- a/selfdrive/car/gm/carstate.py +++ b/selfdrive/car/gm/carstate.py @@ -1,15 +1,14 @@ import copy -from cereal import car from opendbc.can.can_define import CANDefine from opendbc.can.parser import CANParser +from openpilot.selfdrive.car import structs from openpilot.selfdrive.car.conversions import Conversions as CV -from openpilot.selfdrive.car.structs import CarParams from openpilot.selfdrive.car.helpers import mean from openpilot.selfdrive.car.interfaces import CarStateBase from openpilot.selfdrive.car.gm.values import DBC, AccState, CanBus, STEER_THRESHOLD -TransmissionType = CarParams.TransmissionType -NetworkLocation = CarParams.NetworkLocation +TransmissionType = structs.CarParams.TransmissionType +NetworkLocation = structs.CarParams.NetworkLocation STANDSTILL_THRESHOLD = 10 * 0.0311 * CV.KPH_TO_MS @@ -31,7 +30,7 @@ class CarState(CarStateBase): self.distance_button = 0 def update(self, pt_cp, cam_cp, loopback_cp): - ret = car.CarState.new_message() + ret = structs.CarState() self.prev_cruise_buttons = self.cruise_buttons self.prev_distance_button = self.distance_button diff --git a/selfdrive/car/gm/interface.py b/selfdrive/car/gm/interface.py index a33eb09278..13731a7bba 100755 --- a/selfdrive/car/gm/interface.py +++ b/selfdrive/car/gm/interface.py @@ -6,18 +6,17 @@ from math import fabs, exp from panda import Panda from openpilot.common.basedir import BASEDIR -from openpilot.selfdrive.car import create_button_events, get_safety_config, get_friction +from openpilot.selfdrive.car import create_button_events, get_safety_config, get_friction, structs from openpilot.selfdrive.car.conversions import Conversions as CV -from openpilot.selfdrive.car.structs import CarParams from openpilot.selfdrive.car.gm.radar_interface import RADAR_HEADER_MSG from openpilot.selfdrive.car.gm.values import CAR, CruiseButtons, CarControllerParams, EV_CAR, CAMERA_ACC_CAR, CanBus from openpilot.selfdrive.car.interfaces import CarInterfaceBase, TorqueFromLateralAccelCallbackType, FRICTION_THRESHOLD, LatControlInputs, NanoFFModel -ButtonType = car.CarState.ButtonEvent.Type +ButtonType = structs.CarState.ButtonEvent.Type EventName = car.CarEvent.EventName -GearShifter = car.CarState.GearShifter -TransmissionType = CarParams.TransmissionType -NetworkLocation = CarParams.NetworkLocation +GearShifter = structs.CarState.GearShifter +TransmissionType = structs.CarParams.TransmissionType +NetworkLocation = structs.CarParams.NetworkLocation BUTTONS_DICT = {CruiseButtons.RES_ACCEL: ButtonType.accelCruise, CruiseButtons.DECEL_SET: ButtonType.decelCruise, CruiseButtons.MAIN: ButtonType.altButton3, CruiseButtons.CANCEL: ButtonType.cancel} @@ -49,7 +48,7 @@ class CarInterface(CarInterfaceBase): else: return CarInterfaceBase.get_steer_feedforward_default - def torque_from_lateral_accel_siglin(self, latcontrol_inputs: LatControlInputs, torque_params: CarParams.LateralTorqueTuning, lateral_accel_error: float, + def torque_from_lateral_accel_siglin(self, latcontrol_inputs: LatControlInputs, torque_params: structs.CarParams.LateralTorqueTuning, lateral_accel_error: float, lateral_accel_deadzone: float, friction_compensation: bool, gravity_adjusted: bool) -> float: friction = get_friction(lateral_accel_error, lateral_accel_deadzone, FRICTION_THRESHOLD, torque_params, friction_compensation) @@ -71,7 +70,7 @@ class CarInterface(CarInterfaceBase): steer_torque = (sig(latcontrol_inputs.lateral_acceleration * a) * b) + (latcontrol_inputs.lateral_acceleration * c) return float(steer_torque) + friction - def torque_from_lateral_accel_neural(self, latcontrol_inputs: LatControlInputs, torque_params: CarParams.LateralTorqueTuning, lateral_accel_error: float, + def torque_from_lateral_accel_neural(self, latcontrol_inputs: LatControlInputs, torque_params: structs.CarParams.LateralTorqueTuning, lateral_accel_error: float, lateral_accel_deadzone: float, friction_compensation: bool, gravity_adjusted: bool) -> float: friction = get_friction(lateral_accel_error, lateral_accel_deadzone, FRICTION_THRESHOLD, torque_params, friction_compensation) inputs = list(latcontrol_inputs) @@ -89,9 +88,9 @@ class CarInterface(CarInterfaceBase): return self.torque_from_lateral_accel_linear @staticmethod - def _get_params(ret: CarParams, candidate, fingerprint, car_fw, experimental_long, docs): + def _get_params(ret: structs.CarParams, candidate, fingerprint, car_fw, experimental_long, docs): ret.carName = "gm" - ret.safetyConfigs = [get_safety_config(CarParams.SafetyModel.gm)] + ret.safetyConfigs = [get_safety_config(structs.CarParams.SafetyModel.gm)] ret.autoResumeSng = False ret.enableBsm = 0x142 in fingerprint[CanBus.POWERTRAIN] diff --git a/selfdrive/car/gm/radar_interface.py b/selfdrive/car/gm/radar_interface.py index b305d418b8..919e2940f8 100755 --- a/selfdrive/car/gm/radar_interface.py +++ b/selfdrive/car/gm/radar_interface.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 import math -from cereal import car from opendbc.can.parser import CANParser +from openpilot.selfdrive.car import structs from openpilot.selfdrive.car.conversions import Conversions as CV from openpilot.selfdrive.car.gm.values import DBC, CanBus from openpilot.selfdrive.car.interfaces import RadarInterfaceBase @@ -52,7 +52,7 @@ class RadarInterface(RadarInterfaceBase): if self.trigger_msg not in self.updated_messages: return None - ret = car.RadarData.new_message() + ret = structs.RadarData() header = self.rcp.vl[RADAR_HEADER_MSG] fault = header['FLRRSnsrBlckd'] or header['FLRRSnstvFltPrsntInt'] or \ header['FLRRYawRtPlsblityFlt'] or header['FLRRHWFltPrsntInt'] or \ @@ -82,7 +82,7 @@ class RadarInterface(RadarInterfaceBase): targetId = cpt['TrkObjectID'] currentTargets.add(targetId) if targetId not in self.pts: - self.pts[targetId] = car.RadarData.RadarPoint.new_message() + self.pts[targetId] = structs.RadarData.RadarPoint() self.pts[targetId].trackId = targetId distance = cpt['TrkRange'] self.pts[targetId].dRel = distance # from front of car diff --git a/selfdrive/car/honda/carstate.py b/selfdrive/car/honda/carstate.py index 8058ab7733..1c55f5b2cd 100644 --- a/selfdrive/car/honda/carstate.py +++ b/selfdrive/car/honda/carstate.py @@ -106,7 +106,7 @@ class CarState(CarStateBase): self.dash_speed_seen = False def update(self, cp, cp_cam, cp_body): - ret = car.CarState.new_message() + ret = structs.CarState() # car params v_weight_v = [0., 1.] # don't trust smooth speed at low values to avoid premature zero snapping diff --git a/selfdrive/car/honda/interface.py b/selfdrive/car/honda/interface.py index 538f6bb319..cdcb757c36 100755 --- a/selfdrive/car/honda/interface.py +++ b/selfdrive/car/honda/interface.py @@ -1,20 +1,19 @@ #!/usr/bin/env python3 from cereal import car from panda import Panda +from openpilot.selfdrive.car import create_button_events, get_safety_config, structs from openpilot.selfdrive.car.conversions import Conversions as CV -from openpilot.selfdrive.car.structs import CarParams from openpilot.selfdrive.car.helpers import interp from openpilot.selfdrive.car.honda.hondacan import CanBus from openpilot.selfdrive.car.honda.values import CarControllerParams, CruiseButtons, CruiseSettings, HondaFlags, CAR, HONDA_BOSCH, \ HONDA_NIDEC_ALT_SCM_MESSAGES, HONDA_BOSCH_RADARLESS -from openpilot.selfdrive.car import create_button_events, get_safety_config from openpilot.selfdrive.car.interfaces import CarInterfaceBase from openpilot.selfdrive.car.disable_ecu import disable_ecu -ButtonType = car.CarState.ButtonEvent.Type +ButtonType = structs.CarState.ButtonEvent.Type EventName = car.CarEvent.EventName -TransmissionType = CarParams.TransmissionType +TransmissionType = structs.CarParams.TransmissionType BUTTONS_DICT = {CruiseButtons.RES_ACCEL: ButtonType.accelCruise, CruiseButtons.DECEL_SET: ButtonType.decelCruise, CruiseButtons.MAIN: ButtonType.altButton3, CruiseButtons.CANCEL: ButtonType.cancel} SETTINGS_BUTTONS_DICT = {CruiseSettings.DISTANCE: ButtonType.gapAdjustCruise, CruiseSettings.LKAS: ButtonType.altButton1} @@ -33,13 +32,13 @@ class CarInterface(CarInterfaceBase): return CarControllerParams.NIDEC_ACCEL_MIN, interp(current_speed, ACCEL_MAX_BP, ACCEL_MAX_VALS) @staticmethod - def _get_params(ret: CarParams, candidate, fingerprint, car_fw, experimental_long, docs): + def _get_params(ret: structs.CarParams, candidate, fingerprint, car_fw, experimental_long, docs): ret.carName = "honda" CAN = CanBus(ret, fingerprint) if candidate in HONDA_BOSCH: - ret.safetyConfigs = [get_safety_config(CarParams.SafetyModel.hondaBosch)] + ret.safetyConfigs = [get_safety_config(structs.CarParams.SafetyModel.hondaBosch)] ret.radarUnavailable = True # Disable the radar and let openpilot control longitudinal # WARNING: THIS DISABLES AEB! @@ -48,7 +47,7 @@ class CarInterface(CarInterfaceBase): ret.openpilotLongitudinalControl = experimental_long ret.pcmCruise = not ret.openpilotLongitudinalControl else: - ret.safetyConfigs = [get_safety_config(CarParams.SafetyModel.hondaNidec)] + ret.safetyConfigs = [get_safety_config(structs.CarParams.SafetyModel.hondaNidec)] ret.openpilotLongitudinalControl = True ret.pcmCruise = True diff --git a/selfdrive/car/honda/radar_interface.py b/selfdrive/car/honda/radar_interface.py index 8090f8e03e..8dd1ddd529 100755 --- a/selfdrive/car/honda/radar_interface.py +++ b/selfdrive/car/honda/radar_interface.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -from cereal import car from opendbc.can.parser import CANParser +from openpilot.selfdrive.car import structs from openpilot.selfdrive.car.interfaces import RadarInterfaceBase from openpilot.selfdrive.car.honda.values import DBC @@ -47,7 +47,7 @@ class RadarInterface(RadarInterfaceBase): return rr def _update(self, updated_messages): - ret = car.RadarData.new_message() + ret = structs.RadarData() for ii in sorted(updated_messages): cpt = self.rcp.vl[ii] @@ -57,7 +57,7 @@ class RadarInterface(RadarInterfaceBase): self.radar_wrong_config = cpt['RADAR_STATE'] == 0x69 elif cpt['LONG_DIST'] < 255: if ii not in self.pts or cpt['NEW_TRACK']: - self.pts[ii] = car.RadarData.RadarPoint.new_message() + self.pts[ii] = structs.RadarData.RadarPoint() self.pts[ii].trackId = self.track_id self.track_id += 1 self.pts[ii].dRel = cpt['LONG_DIST'] # from front of car diff --git a/selfdrive/car/hyundai/carstate.py b/selfdrive/car/hyundai/carstate.py index 1b56b3304e..5e8acb13dc 100644 --- a/selfdrive/car/hyundai/carstate.py +++ b/selfdrive/car/hyundai/carstate.py @@ -56,7 +56,7 @@ class CarState(CarStateBase): if self.CP.carFingerprint in CANFD_CAR: return self.update_canfd(cp, cp_cam) - ret = car.CarState.new_message() + ret = structs.CarState() cp_cruise = cp_cam if self.CP.carFingerprint in CAMERA_SCC_CAR else cp self.is_metric = cp.vl["CLU11"]["CF_Clu_SPEED_UNIT"] == 0 speed_conv = CV.KPH_TO_MS if self.is_metric else CV.MPH_TO_MS @@ -169,7 +169,7 @@ class CarState(CarStateBase): return ret def update_canfd(self, cp, cp_cam): - ret = car.CarState.new_message() + ret = structs.CarState() self.is_metric = cp.vl["CRUISE_BUTTONS_ALT"]["DISTANCE_UNIT"] != 1 speed_factor = CV.KPH_TO_MS if self.is_metric else CV.MPH_TO_MS diff --git a/selfdrive/car/hyundai/interface.py b/selfdrive/car/hyundai/interface.py index 8ce194b238..170dc6c100 100644 --- a/selfdrive/car/hyundai/interface.py +++ b/selfdrive/car/hyundai/interface.py @@ -1,17 +1,16 @@ from cereal import car from panda import Panda -from openpilot.selfdrive.car.structs import CarParams +from openpilot.selfdrive.car import create_button_events, get_safety_config, structs from openpilot.selfdrive.car.hyundai.hyundaicanfd import CanBus from openpilot.selfdrive.car.hyundai.values import HyundaiFlags, CAR, DBC, CANFD_CAR, CAMERA_SCC_CAR, CANFD_RADAR_SCC_CAR, \ CANFD_UNSUPPORTED_LONGITUDINAL_CAR, EV_CAR, HYBRID_CAR, LEGACY_SAFETY_MODE_CAR, \ UNSUPPORTED_LONGITUDINAL_CAR, Buttons from openpilot.selfdrive.car.hyundai.radar_interface import RADAR_START_ADDR -from openpilot.selfdrive.car import create_button_events, get_safety_config from openpilot.selfdrive.car.interfaces import CarInterfaceBase from openpilot.selfdrive.car.disable_ecu import disable_ecu -Ecu = CarParams.Ecu -ButtonType = car.CarState.ButtonEvent.Type +Ecu = structs.CarParams.Ecu +ButtonType = structs.CarState.ButtonEvent.Type EventName = car.CarEvent.EventName ENABLE_BUTTONS = (Buttons.RES_ACCEL, Buttons.SET_DECEL, Buttons.CANCEL) BUTTONS_DICT = {Buttons.RES_ACCEL: ButtonType.accelCruise, Buttons.SET_DECEL: ButtonType.decelCruise, @@ -20,7 +19,7 @@ BUTTONS_DICT = {Buttons.RES_ACCEL: ButtonType.accelCruise, Buttons.SET_DECEL: Bu class CarInterface(CarInterfaceBase): @staticmethod - def _get_params(ret: CarParams, candidate, fingerprint, car_fw, experimental_long, docs): + def _get_params(ret: structs.CarParams, candidate, fingerprint, car_fw, experimental_long, docs): ret.carName = "hyundai" ret.radarUnavailable = RADAR_START_ADDR not in fingerprint[1] or DBC[ret.carFingerprint]["radar"] is None @@ -101,9 +100,9 @@ class CarInterface(CarInterfaceBase): # *** panda safety config *** if candidate in CANFD_CAR: - cfgs = [get_safety_config(CarParams.SafetyModel.hyundaiCanfd), ] + cfgs = [get_safety_config(structs.CarParams.SafetyModel.hyundaiCanfd), ] if CAN.ECAN >= 4: - cfgs.insert(0, get_safety_config(CarParams.SafetyModel.noOutput)) + cfgs.insert(0, get_safety_config(structs.CarParams.SafetyModel.noOutput)) ret.safetyConfigs = cfgs if ret.flags & HyundaiFlags.CANFD_HDA2: @@ -117,9 +116,9 @@ class CarInterface(CarInterfaceBase): else: if candidate in LEGACY_SAFETY_MODE_CAR: # these cars require a special panda safety mode due to missing counters and checksums in the messages - ret.safetyConfigs = [get_safety_config(CarParams.SafetyModel.hyundaiLegacy)] + ret.safetyConfigs = [get_safety_config(structs.CarParams.SafetyModel.hyundaiLegacy)] else: - ret.safetyConfigs = [get_safety_config(CarParams.SafetyModel.hyundai, 0)] + ret.safetyConfigs = [get_safety_config(structs.CarParams.SafetyModel.hyundai, 0)] if candidate in CAMERA_SCC_CAR: ret.safetyConfigs[0].safetyParam |= Panda.FLAG_HYUNDAI_CAMERA_SCC diff --git a/selfdrive/car/hyundai/radar_interface.py b/selfdrive/car/hyundai/radar_interface.py index 5260050986..1a5915f298 100644 --- a/selfdrive/car/hyundai/radar_interface.py +++ b/selfdrive/car/hyundai/radar_interface.py @@ -1,7 +1,7 @@ import math -from cereal import car from opendbc.can.parser import CANParser +from openpilot.selfdrive.car import structs from openpilot.selfdrive.car.interfaces import RadarInterfaceBase from openpilot.selfdrive.car.hyundai.values import DBC @@ -44,7 +44,7 @@ class RadarInterface(RadarInterfaceBase): return rr def _update(self, updated_messages): - ret = car.RadarData.new_message() + ret = structs.RadarData() if self.rcp is None: return ret @@ -58,7 +58,7 @@ class RadarInterface(RadarInterfaceBase): msg = self.rcp.vl[f"RADAR_TRACK_{addr:x}"] if addr not in self.pts: - self.pts[addr] = car.RadarData.RadarPoint.new_message() + self.pts[addr] = structs.RadarData.RadarPoint() self.pts[addr].trackId = self.track_id self.track_id += 1 diff --git a/selfdrive/car/mazda/carstate.py b/selfdrive/car/mazda/carstate.py index 83aa09b66b..159f75d861 100644 --- a/selfdrive/car/mazda/carstate.py +++ b/selfdrive/car/mazda/carstate.py @@ -23,7 +23,7 @@ class CarState(CarStateBase): def update(self, cp, cp_cam): - ret = car.CarState.new_message() + ret = structs.CarState() self.prev_distance_button = self.distance_button self.distance_button = cp.vl["CRZ_BTNS"]["DISTANCE_LESS"] diff --git a/selfdrive/car/mazda/interface.py b/selfdrive/car/mazda/interface.py index 33d4c098b1..3a1b48d04c 100755 --- a/selfdrive/car/mazda/interface.py +++ b/selfdrive/car/mazda/interface.py @@ -1,20 +1,19 @@ #!/usr/bin/env python3 from cereal import car -from openpilot.selfdrive.car import create_button_events, get_safety_config +from openpilot.selfdrive.car import create_button_events, get_safety_config, structs from openpilot.selfdrive.car.conversions import Conversions as CV -from openpilot.selfdrive.car.structs import CarParams from openpilot.selfdrive.car.mazda.values import CAR, LKAS_LIMITS from openpilot.selfdrive.car.interfaces import CarInterfaceBase -ButtonType = car.CarState.ButtonEvent.Type +ButtonType = structs.CarState.ButtonEvent.Type EventName = car.CarEvent.EventName class CarInterface(CarInterfaceBase): @staticmethod - def _get_params(ret: CarParams, candidate, fingerprint, car_fw, experimental_long, docs): + def _get_params(ret: structs.CarParams, candidate, fingerprint, car_fw, experimental_long, docs): ret.carName = "mazda" - ret.safetyConfigs = [get_safety_config(CarParams.SafetyModel.mazda)] + ret.safetyConfigs = [get_safety_config(structs.CarParams.SafetyModel.mazda)] ret.radarUnavailable = True ret.dashcamOnly = candidate not in (CAR.MAZDA_CX5_2022, CAR.MAZDA_CX9_2021) diff --git a/selfdrive/car/mock/interface.py b/selfdrive/car/mock/interface.py index 47c25454fb..8ebf6990b1 100755 --- a/selfdrive/car/mock/interface.py +++ b/selfdrive/car/mock/interface.py @@ -1,5 +1,4 @@ #!/usr/bin/env python3 -from cereal import car import cereal.messaging as messaging from openpilot.selfdrive.car.structs import CarParams from openpilot.selfdrive.car.interfaces import CarInterfaceBase @@ -26,7 +25,7 @@ class CarInterface(CarInterfaceBase): self.sm.update(0) gps_sock = 'gpsLocationExternal' if self.sm.recv_frame['gpsLocationExternal'] > 1 else 'gpsLocation' - ret = car.CarState.new_message() + ret = structs.CarState() ret.vEgo = self.sm[gps_sock].speed ret.vEgoRaw = self.sm[gps_sock].speed diff --git a/selfdrive/car/nissan/carstate.py b/selfdrive/car/nissan/carstate.py index c38173c3e3..4440559159 100644 --- a/selfdrive/car/nissan/carstate.py +++ b/selfdrive/car/nissan/carstate.py @@ -1,8 +1,8 @@ import copy from collections import deque -from cereal import car from opendbc.can.can_define import CANDefine from opendbc.can.parser import CANParser +from openpilot.selfdrive.car import structs from openpilot.selfdrive.car.conversions import Conversions as CV from openpilot.selfdrive.car.interfaces import CarStateBase from openpilot.selfdrive.car.nissan.values import CAR, DBC, CarControllerParams @@ -24,7 +24,7 @@ class CarState(CarStateBase): self.distance_button = 0 def update(self, cp, cp_adas, cp_cam): - ret = car.CarState.new_message() + ret = structs.CarState() self.prev_distance_button = self.distance_button self.distance_button = cp.vl["CRUISE_THROTTLE"]["FOLLOW_DISTANCE_BUTTON"] diff --git a/selfdrive/car/nissan/interface.py b/selfdrive/car/nissan/interface.py index ab89242dcf..40c4063b1a 100644 --- a/selfdrive/car/nissan/interface.py +++ b/selfdrive/car/nissan/interface.py @@ -1,26 +1,25 @@ from cereal import car from panda import Panda -from openpilot.selfdrive.car import create_button_events, get_safety_config -from openpilot.selfdrive.car.structs import CarParams +from openpilot.selfdrive.car import create_button_events, get_safety_config, structs from openpilot.selfdrive.car.interfaces import CarInterfaceBase from openpilot.selfdrive.car.nissan.values import CAR -ButtonType = car.CarState.ButtonEvent.Type +ButtonType = structs.CarState.ButtonEvent.Type class CarInterface(CarInterfaceBase): @staticmethod - def _get_params(ret: CarParams, candidate, fingerprint, car_fw, experimental_long, docs): + def _get_params(ret: structs.CarParams, candidate, fingerprint, car_fw, experimental_long, docs): ret.carName = "nissan" - ret.safetyConfigs = [get_safety_config(CarParams.SafetyModel.nissan)] + ret.safetyConfigs = [get_safety_config(structs.CarParams.SafetyModel.nissan)] ret.autoResumeSng = False ret.steerLimitTimer = 1.0 ret.steerActuatorDelay = 0.1 - ret.steerControlType = CarParams.SteerControlType.angle + ret.steerControlType = structs.CarParams.SteerControlType.angle ret.radarUnavailable = True if candidate == CAR.NISSAN_ALTIMA: @@ -35,7 +34,7 @@ class CarInterface(CarInterfaceBase): ret.buttonEvents = create_button_events(self.CS.distance_button, self.CS.prev_distance_button, {1: ButtonType.gapAdjustCruise}) - events = self.create_common_events(ret, extra_gears=[car.CarState.GearShifter.brake]) + events = self.create_common_events(ret, extra_gears=[CarState.GearShifter.brake]) if self.CS.lkas_enabled: events.add(car.CarEvent.EventName.invalidLkasSetting) diff --git a/selfdrive/car/subaru/carstate.py b/selfdrive/car/subaru/carstate.py index 0501494fdd..4297f62fa8 100644 --- a/selfdrive/car/subaru/carstate.py +++ b/selfdrive/car/subaru/carstate.py @@ -1,7 +1,7 @@ import copy -from cereal import car from opendbc.can.can_define import CANDefine from opendbc.can.parser import CANParser +from openpilot.selfdrive.car import structs from openpilot.selfdrive.car.conversions import Conversions as CV from openpilot.selfdrive.car.interfaces import CarStateBase from openpilot.selfdrive.car.subaru.values import DBC, CanBus, SubaruFlags @@ -17,7 +17,7 @@ class CarState(CarStateBase): self.angle_rate_calulator = CanSignalRateCalculator(50) def update(self, cp, cp_cam, cp_body): - ret = car.CarState.new_message() + ret = structs.CarState() throttle_msg = cp.vl["Throttle"] if not (self.CP.flags & SubaruFlags.HYBRID) else cp_body.vl["Throttle_Hybrid"] ret.gas = throttle_msg["Throttle_Pedal"] / 255. diff --git a/selfdrive/car/tesla/carstate.py b/selfdrive/car/tesla/carstate.py index 5aa21cbc7c..7094c44f73 100644 --- a/selfdrive/car/tesla/carstate.py +++ b/selfdrive/car/tesla/carstate.py @@ -21,7 +21,7 @@ class CarState(CarStateBase): self.das_control_counters = deque(maxlen=32) def update(self, cp, cp_cam): - ret = car.CarState.new_message() + ret = structs.CarState() # Vehicle speed ret.vEgoRaw = cp.vl["ESP_B"]["ESP_vehicleSpeed"] * CV.KPH_TO_MS diff --git a/selfdrive/car/volkswagen/carstate.py b/selfdrive/car/volkswagen/carstate.py index c53639a7dd..862fa7cc06 100644 --- a/selfdrive/car/volkswagen/carstate.py +++ b/selfdrive/car/volkswagen/carstate.py @@ -36,7 +36,7 @@ class CarState(CarStateBase): if self.CP.flags & VolkswagenFlags.PQ: return self.update_pq(pt_cp, cam_cp, ext_cp, trans_type) - ret = car.CarState.new_message() + ret = structs.CarState() # Update vehicle speed and acceleration from ABS wheel speeds. ret.wheelSpeeds = self.get_wheel_speeds( pt_cp.vl["ESP_19"]["ESP_VL_Radgeschw_02"], @@ -156,7 +156,7 @@ class CarState(CarStateBase): return ret def update_pq(self, pt_cp, cam_cp, ext_cp, trans_type): - ret = car.CarState.new_message() + ret = structs.CarState() # Update vehicle speed and acceleration from ABS wheel speeds. ret.wheelSpeeds = self.get_wheel_speeds( pt_cp.vl["Bremse_3"]["Radgeschw__VL_4_1"], diff --git a/selfdrive/car/volkswagen/interface.py b/selfdrive/car/volkswagen/interface.py index 27e846d087..4dd3421cbd 100644 --- a/selfdrive/car/volkswagen/interface.py +++ b/selfdrive/car/volkswagen/interface.py @@ -1,11 +1,10 @@ from cereal import car from panda import Panda -from openpilot.selfdrive.car import get_safety_config -from openpilot.selfdrive.car.structs import CarParams +from openpilot.selfdrive.car import get_safety_config, structs from openpilot.selfdrive.car.interfaces import CarInterfaceBase from openpilot.selfdrive.car.volkswagen.values import CAR, CANBUS, CarControllerParams, NetworkLocation, TransmissionType, GearShifter, VolkswagenFlags -ButtonType = car.CarState.ButtonEvent.Type +ButtonType = structs.CarState.ButtonEvent.Type EventName = car.CarEvent.EventName @@ -21,13 +20,13 @@ class CarInterface(CarInterfaceBase): self.cp_ext = self.cp_cam @staticmethod - def _get_params(ret: CarParams, candidate: CAR, fingerprint, car_fw, experimental_long, docs): + def _get_params(ret: structs.CarParams, candidate: CAR, fingerprint, car_fw, experimental_long, docs): ret.carName = "volkswagen" ret.radarUnavailable = True if ret.flags & VolkswagenFlags.PQ: # Set global PQ35/PQ46/NMS parameters - ret.safetyConfigs = [get_safety_config(CarParams.SafetyModel.volkswagenPq)] + ret.safetyConfigs = [get_safety_config(structs.CarParams.SafetyModel.volkswagenPq)] ret.enableBsm = 0x3BA in fingerprint[0] # SWA_1 if 0x440 in fingerprint[0] or docs: # Getriebe_1 @@ -50,7 +49,7 @@ class CarInterface(CarInterfaceBase): else: # Set global MQB parameters - ret.safetyConfigs = [get_safety_config(CarParams.SafetyModel.volkswagen)] + ret.safetyConfigs = [get_safety_config(structs.CarParams.SafetyModel.volkswagen)] ret.enableBsm = 0x30F in fingerprint[0] # SWA_01 if 0xAD in fingerprint[0] or docs: # Getriebe_11