Subaru: log stock AEB (#28052)
* Subaru: log stock AEB * Remove stockFcw from stockAeb * Subaru: Add FCW_Cont_Beep to stockFcw signals * add ES_Brake * use actuation bit * bump opendbc * remove aeb from UI fix * Update selfdrive/car/subaru/carstate.py --------- Co-authored-by: Shane Smiskol <shane@smiskol.com> old-commit-hash: 5cb9360fa0061222bcef18882f829ec8b9fcece4
This commit is contained in:
2
opendbc
2
opendbc
Submodule opendbc updated: d03ae519e9...e808a1ec3d
@@ -69,6 +69,7 @@ class CarState(CarStateBase):
|
||||
cp.vl["BodyInfo"]["DOOR_OPEN_FL"]])
|
||||
ret.steerFaultPermanent = cp.vl["Steering_Torque"]["Steer_Error_1"] == 1
|
||||
|
||||
cp_es_distance = cp_body if self.car_fingerprint in GLOBAL_GEN2 else cp_cam
|
||||
if self.car_fingerprint in PREGLOBAL_CARS:
|
||||
self.cruise_button = cp_cam.vl["ES_Distance"]["Cruise_Button"]
|
||||
self.ready = not cp_cam.vl["ES_DashStatus"]["Not_Ready_Startup"]
|
||||
@@ -76,10 +77,13 @@ class CarState(CarStateBase):
|
||||
ret.steerFaultTemporary = cp.vl["Steering_Torque"]["Steer_Warning"] == 1
|
||||
ret.cruiseState.nonAdaptive = cp_cam.vl["ES_DashStatus"]["Conventional_Cruise"] == 1
|
||||
ret.cruiseState.standstill = cp_cam.vl["ES_DashStatus"]["Cruise_State"] == 3
|
||||
ret.stockFcw = cp_cam.vl["ES_LKAS_State"]["LKAS_Alert"] == 2
|
||||
ret.stockFcw = (cp_cam.vl["ES_LKAS_State"]["LKAS_Alert"] == 1) or \
|
||||
(cp_cam.vl["ES_LKAS_State"]["LKAS_Alert"] == 2)
|
||||
# 8 is known AEB, there are a few other values related to AEB we ignore
|
||||
ret.stockAeb = (cp_es_distance.vl["ES_Brake"]["AEB_Status"] == 8) and \
|
||||
(cp_es_distance.vl["ES_Brake"]["Brake_Pressure"] != 0)
|
||||
self.es_lkas_state_msg = copy.copy(cp_cam.vl["ES_LKAS_State"])
|
||||
|
||||
cp_es_distance = cp_body if self.car_fingerprint in GLOBAL_GEN2 else cp_cam
|
||||
self.es_distance_msg = copy.copy(cp_es_distance.vl["ES_Distance"])
|
||||
self.es_dashstatus_msg = copy.copy(cp_cam.vl["ES_DashStatus"])
|
||||
if self.CP.flags & SubaruFlags.SEND_INFOTAINMENT:
|
||||
@@ -106,6 +110,18 @@ class CarState(CarStateBase):
|
||||
|
||||
return signals, checks
|
||||
|
||||
@staticmethod
|
||||
def get_global_es_brake_signals():
|
||||
signals = [
|
||||
("AEB_Status", "ES_Brake"),
|
||||
("Brake_Pressure", "ES_Brake"),
|
||||
]
|
||||
checks = [
|
||||
("ES_Brake", 20),
|
||||
]
|
||||
|
||||
return signals, checks
|
||||
|
||||
@staticmethod
|
||||
def get_global_es_distance_signals():
|
||||
signals = [
|
||||
@@ -304,7 +320,9 @@ class CarState(CarStateBase):
|
||||
|
||||
if CP.carFingerprint not in GLOBAL_GEN2:
|
||||
signals += CarState.get_global_es_distance_signals()[0]
|
||||
signals += CarState.get_global_es_brake_signals()[0]
|
||||
checks += CarState.get_global_es_distance_signals()[1]
|
||||
checks += CarState.get_global_es_brake_signals()[1]
|
||||
|
||||
if CP.flags & SubaruFlags.SEND_INFOTAINMENT:
|
||||
signals += [
|
||||
@@ -324,7 +342,9 @@ class CarState(CarStateBase):
|
||||
if CP.carFingerprint in GLOBAL_GEN2:
|
||||
signals, checks = CarState.get_common_global_signals()
|
||||
signals += CarState.get_global_es_distance_signals()[0]
|
||||
signals += CarState.get_global_es_brake_signals()[0]
|
||||
checks += CarState.get_global_es_distance_signals()[1]
|
||||
checks += CarState.get_global_es_brake_signals()[1]
|
||||
return CANParser(DBC[CP.carFingerprint]["pt"], signals, checks, 1)
|
||||
|
||||
return None
|
||||
|
||||
Reference in New Issue
Block a user