From 773207df1d0d3f82ab0c3e5f9112cd1940f3095d Mon Sep 17 00:00:00 2001 From: Jason Wen Date: Sun, 23 Feb 2025 17:28:14 -0800 Subject: [PATCH] Ford: Parse Lane Centering button from steering wheel (#1275) * Ford: Parse Lane Centering button from steering wheel * fix name --- opendbc/car/ford/carstate.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/opendbc/car/ford/carstate.py b/opendbc/car/ford/carstate.py index 620f0e6ac6..b273137af1 100644 --- a/opendbc/car/ford/carstate.py +++ b/opendbc/car/ford/carstate.py @@ -19,6 +19,7 @@ def __init__(self, CP): self.shifter_values = can_define.dv["PowertrainData_10"]["TrnRng_D_Rq"] self.distance_button = 0 + self.lc_button = 0 def update(self, can_parsers) -> structs.CarState: cp = can_parsers[Bus.pt] @@ -91,7 +92,9 @@ def update(self, can_parsers) -> structs.CarState: # TODO: block this going to the camera otherwise it will enable stock TJA ret.genericToggle = bool(cp.vl["Steering_Data_FD1"]["TjaButtnOnOffPress"]) prev_distance_button = self.distance_button + prev_lc_button = self.lc_button self.distance_button = cp.vl["Steering_Data_FD1"]["AccButtnGapTogglePress"] + self.lc_button = bool(cp.vl["Steering_Data_FD1"]["TjaButtnOnOffPress"]) # lock info ret.doorOpen = any([cp.vl["BodyInfo_3_FD1"]["DrStatDrv_B_Actl"], cp.vl["BodyInfo_3_FD1"]["DrStatPsngr_B_Actl"], @@ -110,7 +113,10 @@ def update(self, can_parsers) -> structs.CarState: self.acc_tja_status_stock_values = cp_cam.vl["ACCDATA_3"] self.lkas_status_stock_values = cp_cam.vl["IPMA_Data"] - ret.buttonEvents = create_button_events(self.distance_button, prev_distance_button, {1: ButtonType.gapAdjustCruise}) + ret.buttonEvents = [ + *create_button_events(self.distance_button, prev_distance_button, {1: ButtonType.gapAdjustCruise}), + *create_button_events(self.lc_button, prev_lc_button, {1: ButtonType.lkas}), + ] return ret