mirror of
https://github.com/MoreTore/openpilot.git
synced 2026-08-05 08:16:06 +08:00
cars: various small cleanups (#28031)
* finally fix subarucan formatting * no need for intermediate variables * make this check explicit
This commit is contained in:
@@ -26,8 +26,6 @@ class CarController:
|
||||
can_sends = []
|
||||
|
||||
### STEER ###
|
||||
lkas_hud_msg = CS.lkas_hud_msg
|
||||
lkas_hud_info_msg = CS.lkas_hud_info_msg
|
||||
steer_hud_alert = 1 if hud_control.visualAlert in (VisualAlert.steerRequired, VisualAlert.ldw) else 0
|
||||
|
||||
if CC.latActive:
|
||||
@@ -65,14 +63,14 @@ class CarController:
|
||||
can_sends.append(nissancan.create_steering_control(
|
||||
self.packer, apply_angle, self.frame, CC.enabled, self.lkas_max_torque))
|
||||
|
||||
if lkas_hud_msg and lkas_hud_info_msg:
|
||||
if self.CP.carFingerprint != CAR.ALTIMA:
|
||||
if self.frame % 2 == 0:
|
||||
can_sends.append(nissancan.create_lkas_hud_msg(
|
||||
self.packer, lkas_hud_msg, CC.enabled, hud_control.leftLaneVisible, hud_control.rightLaneVisible, hud_control.leftLaneDepart, hud_control.rightLaneDepart))
|
||||
self.packer, CS.lkas_hud_msg, CC.enabled, hud_control.leftLaneVisible, hud_control.rightLaneVisible, hud_control.leftLaneDepart, hud_control.rightLaneDepart))
|
||||
|
||||
if self.frame % 50 == 0:
|
||||
can_sends.append(nissancan.create_lkas_hud_info_msg(
|
||||
self.packer, lkas_hud_info_msg, steer_hud_alert
|
||||
self.packer, CS.lkas_hud_info_msg, steer_hud_alert
|
||||
))
|
||||
|
||||
new_actuators = actuators.copy()
|
||||
|
||||
@@ -14,8 +14,8 @@ class CarState(CarStateBase):
|
||||
super().__init__(CP)
|
||||
can_define = CANDefine(DBC[CP.carFingerprint]["pt"])
|
||||
|
||||
self.lkas_hud_msg = None
|
||||
self.lkas_hud_info_msg = None
|
||||
self.lkas_hud_msg = {}
|
||||
self.lkas_hud_info_msg = {}
|
||||
|
||||
self.steeringTorqueSamples = deque(TORQUE_SAMPLES*[0], TORQUE_SAMPLES)
|
||||
self.shifter_values = can_define.dv["GEARBOX"]["GEAR_SHIFTER"]
|
||||
|
||||
@@ -3,6 +3,7 @@ from cereal import car
|
||||
|
||||
VisualAlert = car.CarControl.HUDControl.VisualAlert
|
||||
|
||||
|
||||
def create_steering_control(packer, apply_steer):
|
||||
values = {
|
||||
"LKAS_Output": apply_steer,
|
||||
@@ -11,9 +12,11 @@ def create_steering_control(packer, apply_steer):
|
||||
}
|
||||
return packer.make_can_msg("ES_LKAS", 0, values)
|
||||
|
||||
|
||||
def create_steering_status(packer):
|
||||
return packer.make_can_msg("ES_LKAS_State", 0, {})
|
||||
|
||||
|
||||
def create_es_distance(packer, es_distance_msg, bus, pcm_cancel_cmd):
|
||||
values = copy.copy(es_distance_msg)
|
||||
values["COUNTER"] = (values["COUNTER"] + 1) % 0x10
|
||||
@@ -21,8 +24,8 @@ def create_es_distance(packer, es_distance_msg, bus, pcm_cancel_cmd):
|
||||
values["Cruise_Cancel"] = 1
|
||||
return packer.make_can_msg("ES_Distance", bus, values)
|
||||
|
||||
def create_es_lkas_state(packer, es_lkas_state_msg, enabled, visual_alert, left_line, right_line, left_lane_depart, right_lane_depart):
|
||||
|
||||
def create_es_lkas_state(packer, es_lkas_state_msg, enabled, visual_alert, left_line, right_line, left_lane_depart, right_lane_depart):
|
||||
values = copy.copy(es_lkas_state_msg)
|
||||
|
||||
# Filter the stock LKAS "Keep hands on wheel" alert
|
||||
@@ -52,18 +55,19 @@ def create_es_lkas_state(packer, es_lkas_state_msg, enabled, visual_alert, left_
|
||||
# Ensure we don't overwrite potentially more important alerts from stock (e.g. FCW)
|
||||
if visual_alert == VisualAlert.ldw and values["LKAS_Alert"] == 0:
|
||||
if left_lane_depart:
|
||||
values["LKAS_Alert"] = 12 # Left lane departure dash alert
|
||||
values["LKAS_Alert"] = 12 # Left lane departure dash alert
|
||||
elif right_lane_depart:
|
||||
values["LKAS_Alert"] = 11 # Right lane departure dash alert
|
||||
values["LKAS_Alert"] = 11 # Right lane departure dash alert
|
||||
|
||||
values["LKAS_ACTIVE"] = 1 # Show LKAS lane lines
|
||||
values["LKAS_Dash_State"] = 2 if enabled else 0 # Green enabled indicator
|
||||
values["LKAS_ACTIVE"] = 1 # Show LKAS lane lines
|
||||
values["LKAS_Dash_State"] = 2 if enabled else 0 # Green enabled indicator
|
||||
|
||||
values["LKAS_Left_Line_Visible"] = int(left_line)
|
||||
values["LKAS_Right_Line_Visible"] = int(right_line)
|
||||
|
||||
return packer.make_can_msg("ES_LKAS_State", 0, values)
|
||||
|
||||
|
||||
def create_es_dashstatus(packer, dashstatus_msg):
|
||||
values = copy.copy(dashstatus_msg)
|
||||
|
||||
@@ -73,6 +77,7 @@ def create_es_dashstatus(packer, dashstatus_msg):
|
||||
|
||||
return packer.make_can_msg("ES_DashStatus", 0, values)
|
||||
|
||||
|
||||
def create_infotainmentstatus(packer, infotainmentstatus_msg, visual_alert):
|
||||
# Filter stock LKAS disabled and Keep hands on steering wheel OFF alerts
|
||||
if infotainmentstatus_msg["LKAS_State_Infotainment"] in (3, 4):
|
||||
@@ -88,12 +93,14 @@ def create_infotainmentstatus(packer, infotainmentstatus_msg, visual_alert):
|
||||
|
||||
return packer.make_can_msg("INFOTAINMENT_STATUS", 0, infotainmentstatus_msg)
|
||||
|
||||
|
||||
# *** Subaru Pre-global ***
|
||||
|
||||
def subaru_preglobal_checksum(packer, values, addr):
|
||||
dat = packer.make_can_msg(addr, 0, values)[2]
|
||||
return (sum(dat[:7])) % 256
|
||||
|
||||
|
||||
def create_preglobal_steering_control(packer, apply_steer):
|
||||
values = {
|
||||
"LKAS_Command": apply_steer,
|
||||
@@ -103,8 +110,8 @@ def create_preglobal_steering_control(packer, apply_steer):
|
||||
|
||||
return packer.make_can_msg("ES_LKAS", 0, values)
|
||||
|
||||
def create_preglobal_es_distance(packer, cruise_button, es_distance_msg):
|
||||
|
||||
def create_preglobal_es_distance(packer, cruise_button, es_distance_msg):
|
||||
values = copy.copy(es_distance_msg)
|
||||
values["Cruise_Button"] = cruise_button
|
||||
|
||||
|
||||
Reference in New Issue
Block a user