mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-06-28 01:52:06 +08:00
Honda Civic 2022: forward fault bit from camera (#25280)
civic22_brakesystemlight Rename and add comment Try using camera's LKAS_PROBLEM value old-commit-hash: d7409403470f01479737de5299e959c6b630f8e2
This commit is contained in:
@@ -237,7 +237,7 @@ class CarController:
|
||||
if self.frame % 10 == 0:
|
||||
hud = HUDData(int(pcm_accel), int(round(hud_v_cruise)), hud_control.leadVisible,
|
||||
hud_control.lanesVisible, fcw_display, acc_alert, steer_required)
|
||||
can_sends.extend(hondacan.create_ui_commands(self.packer, self.CP, CC.enabled, pcm_speed, hud, CS.is_metric, CS.stock_hud))
|
||||
can_sends.extend(hondacan.create_ui_commands(self.packer, self.CP, CC.enabled, pcm_speed, hud, CS.is_metric, CS.acc_hud, CS.lkas_hud))
|
||||
|
||||
if self.CP.openpilotLongitudinalControl and self.CP.carFingerprint not in HONDA_BOSCH:
|
||||
self.speed = pcm_speed
|
||||
|
||||
@@ -275,11 +275,14 @@ class CarState(CarStateBase):
|
||||
else:
|
||||
ret.stockAeb = bool(cp_cam.vl["BRAKE_COMMAND"]["AEB_REQ_1"] and cp_cam.vl["BRAKE_COMMAND"]["COMPUTER_BRAKE"] > 1e-5)
|
||||
|
||||
self.stock_hud = False
|
||||
self.acc_hud = False
|
||||
self.lkas_hud = False
|
||||
if self.CP.carFingerprint not in HONDA_BOSCH:
|
||||
ret.stockFcw = cp_cam.vl["BRAKE_COMMAND"]["FCW"] != 0
|
||||
self.stock_hud = cp_cam.vl["ACC_HUD"]
|
||||
self.acc_hud = cp_cam.vl["ACC_HUD"]
|
||||
self.stock_brake = cp_cam.vl["BRAKE_COMMAND"]
|
||||
if self.CP.carFingerprint in HONDA_BOSCH_RADARLESS:
|
||||
self.lkas_hud = cp_cam.vl["LKAS_HUD"]
|
||||
|
||||
if self.CP.enableBsm and self.CP.carFingerprint in (CAR.CRV_5G, ):
|
||||
# BSM messages are on B-CAN, requires a panda forwarding B-CAN messages to CAN 0
|
||||
@@ -300,12 +303,15 @@ class CarState(CarStateBase):
|
||||
("STEERING_CONTROL", 100),
|
||||
]
|
||||
|
||||
if CP.carFingerprint in HONDA_BOSCH_RADARLESS and not CP.openpilotLongitudinalControl:
|
||||
signals += [
|
||||
("CRUISE_SPEED", "ACC_HUD"),
|
||||
("CRUISE_CONTROL_LABEL", "ACC_HUD"),
|
||||
]
|
||||
checks.append(("ACC_HUD", 10))
|
||||
if CP.carFingerprint in HONDA_BOSCH_RADARLESS:
|
||||
signals.append(("LKAS_PROBLEM", "LKAS_HUD"))
|
||||
checks.append(("LKAS_HUD", 10))
|
||||
if not CP.openpilotLongitudinalControl:
|
||||
signals += [
|
||||
("CRUISE_SPEED", "ACC_HUD"),
|
||||
("CRUISE_CONTROL_LABEL", "ACC_HUD"),
|
||||
]
|
||||
checks.append(("ACC_HUD", 10))
|
||||
|
||||
elif CP.carFingerprint not in HONDA_BOSCH:
|
||||
signals += [("COMPUTER_BRAKE", "BRAKE_COMMAND"),
|
||||
|
||||
@@ -101,7 +101,7 @@ def create_bosch_supplemental_1(packer, car_fingerprint):
|
||||
return packer.make_can_msg("BOSCH_SUPPLEMENTAL_1", bus, values)
|
||||
|
||||
|
||||
def create_ui_commands(packer, CP, enabled, pcm_speed, hud, is_metric, stock_hud):
|
||||
def create_ui_commands(packer, CP, enabled, pcm_speed, hud, is_metric, acc_hud, lkas_hud):
|
||||
commands = []
|
||||
bus_pt = get_pt_bus(CP.carFingerprint)
|
||||
radar_disabled = CP.carFingerprint in HONDA_BOSCH and CP.openpilotLongitudinalControl
|
||||
@@ -125,10 +125,10 @@ def create_ui_commands(packer, CP, enabled, pcm_speed, hud, is_metric, stock_hud
|
||||
acc_hud_values['PCM_SPEED'] = pcm_speed * CV.MS_TO_KPH
|
||||
acc_hud_values['PCM_GAS'] = hud.pcm_accel
|
||||
acc_hud_values['SET_ME_X01'] = 1
|
||||
acc_hud_values['FCM_OFF'] = stock_hud['FCM_OFF']
|
||||
acc_hud_values['FCM_OFF_2'] = stock_hud['FCM_OFF_2']
|
||||
acc_hud_values['FCM_PROBLEM'] = stock_hud['FCM_PROBLEM']
|
||||
acc_hud_values['ICONS'] = stock_hud['ICONS']
|
||||
acc_hud_values['FCM_OFF'] = acc_hud['FCM_OFF']
|
||||
acc_hud_values['FCM_OFF_2'] = acc_hud['FCM_OFF_2']
|
||||
acc_hud_values['FCM_PROBLEM'] = acc_hud['FCM_PROBLEM']
|
||||
acc_hud_values['ICONS'] = acc_hud['ICONS']
|
||||
commands.append(packer.make_can_msg("ACC_HUD", bus_pt, acc_hud_values))
|
||||
|
||||
lkas_hud_values = {
|
||||
@@ -141,6 +141,8 @@ def create_ui_commands(packer, CP, enabled, pcm_speed, hud, is_metric, stock_hud
|
||||
if CP.carFingerprint in HONDA_BOSCH_RADARLESS:
|
||||
lkas_hud_values['LANE_LINES'] = 3
|
||||
lkas_hud_values['DASHED_LANES'] = hud.lanes_visible
|
||||
# car likely needs to see LKAS_PROBLEM fall within a specific time frame, so forward from camera
|
||||
lkas_hud_values['LKAS_PROBLEM'] = lkas_hud['LKAS_PROBLEM']
|
||||
|
||||
if not (CP.flags & HondaFlags.BOSCH_EXT_HUD):
|
||||
lkas_hud_values['SET_ME_X48'] = 0x48
|
||||
|
||||
Reference in New Issue
Block a user