Skip to content

Commit

Permalink
Subaru: ignore eyesight faults when openpilot is controlling long (co…
Browse files Browse the repository at this point in the history
…mmaai#30390)

ignore eyesight faults
  • Loading branch information
jnewb1 authored Nov 23, 2023
1 parent 8d3bf1f commit f845c69
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 6 deletions.
7 changes: 4 additions & 3 deletions selfdrive/car/subaru/carcontroller.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,8 @@ def update(self, CC, CS, now_nanos):

else:
if self.frame % 10 == 0:
can_sends.append(subarucan.create_es_dashstatus(self.packer, self.frame // 10, CS.es_dashstatus_msg, CC.enabled, self.CP.openpilotLongitudinalControl,
CC.longActive, hud_control.leadVisible))
can_sends.append(subarucan.create_es_dashstatus(self.packer, self.frame // 10, CS.es_dashstatus_msg, CC.enabled,
self.CP.openpilotLongitudinalControl, CC.longActive, hud_control.leadVisible))

can_sends.append(subarucan.create_es_lkas_state(self.packer, self.frame // 10, CS.es_lkas_state_msg, CC.enabled, hud_control.visualAlert,
hud_control.leftLaneVisible, hud_control.rightLaneVisible,
Expand All @@ -110,7 +110,8 @@ def update(self, CC, CS, now_nanos):
can_sends.append(subarucan.create_es_status(self.packer, self.frame // 5, CS.es_status_msg,
self.CP.openpilotLongitudinalControl, CC.longActive, cruise_rpm))

can_sends.append(subarucan.create_es_brake(self.packer, self.frame // 5, CS.es_brake_msg, CC.enabled, cruise_brake))
can_sends.append(subarucan.create_es_brake(self.packer, self.frame // 5, CS.es_brake_msg,
self.CP.openpilotLongitudinalControl, CC.longActive, cruise_brake))

can_sends.append(subarucan.create_es_distance(self.packer, self.frame // 5, CS.es_distance_msg, 0, pcm_cancel_cmd,
self.CP.openpilotLongitudinalControl, cruise_brake > 0, cruise_throttle))
Expand Down
12 changes: 9 additions & 3 deletions selfdrive/car/subaru/subarucan.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ def create_es_distance(packer, frame, es_distance_msg, bus, pcm_cancel_cmd, long

# Do not disable openpilot on Eyesight Soft Disable, if openpilot is controlling long
values["Cruise_Soft_Disable"] = 0
values["Cruise_Fault"] = 0

if brake_cmd:
values["Cruise_Brake_Active"] = 1
Expand Down Expand Up @@ -160,14 +161,15 @@ def create_es_dashstatus(packer, frame, dashstatus_msg, enabled, long_enabled, l

if long_enabled:
values["PCB_Off"] = 1 # AEB is not presevered, so show the PCB_Off on dash
values["Cruise_Fault"] = 0

# Filter stock LKAS disabled and Keep hands on steering wheel OFF alerts
if values["LKAS_State_Msg"] in (2, 3):
values["LKAS_State_Msg"] = 0

return packer.make_can_msg("ES_DashStatus", CanBus.main, values)

def create_es_brake(packer, frame, es_brake_msg, enabled, brake_value):
def create_es_brake(packer, frame, es_brake_msg, long_enabled, long_active, brake_value):
values = {s: es_brake_msg[s] for s in [
"CHECKSUM",
"Signal1",
Expand All @@ -182,8 +184,11 @@ def create_es_brake(packer, frame, es_brake_msg, enabled, brake_value):

values["COUNTER"] = frame % 0x10

if enabled:
values["Cruise_Activated"] = 1
if long_enabled:
values["Cruise_Brake_Fault"] = 0

if long_active:
values["Cruise_Activated"] = 1

values["Brake_Pressure"] = brake_value

Expand All @@ -210,6 +215,7 @@ def create_es_status(packer, frame, es_status_msg, long_enabled, long_active, cr

if long_enabled:
values["Cruise_RPM"] = cruise_rpm
values["Cruise_Fault"] = 0

if long_active:
values["Cruise_Activated"] = 1
Expand Down

0 comments on commit f845c69

Please sign in to comment.