From b587098c57383f0035f954ccc955aa5496cd3dca Mon Sep 17 00:00:00 2001 From: MoreTore Date: Sat, 15 Feb 2025 00:08:29 -0600 Subject: [PATCH] No FSC --- selfdrive/car/mazda/carcontroller.py | 3 ++- selfdrive/car/mazda/carstate.py | 20 +++++++++++--------- selfdrive/car/mazda/mazdacan.py | 27 ++++++++++++++------------- 3 files changed, 27 insertions(+), 23 deletions(-) diff --git a/selfdrive/car/mazda/carcontroller.py b/selfdrive/car/mazda/carcontroller.py index 2210562a7c..383fc68120 100644 --- a/selfdrive/car/mazda/carcontroller.py +++ b/selfdrive/car/mazda/carcontroller.py @@ -74,7 +74,8 @@ class CarController(CarControllerBase): steer_required = CC.hudControl.visualAlert == VisualAlert.steerRequired # TODO: find a way to silence audible warnings so we can add more hud alerts steer_required = steer_required and CS.lkas_allowed_speed - can_sends.append(mazdacan.create_alert_command(self.packer, CS.cam_laneinfo, ldw, steer_required)) + if not self.CP.flags & MazdaFlags.NO_FSC: + can_sends.append(mazdacan.create_alert_command(self.packer, CS.cam_laneinfo, ldw, steer_required)) if self.CP.flags & MazdaFlags.RADAR_INTERCEPTOR: hold = False diff --git a/selfdrive/car/mazda/carstate.py b/selfdrive/car/mazda/carstate.py index b1be120eb2..dd8752a5d0 100644 --- a/selfdrive/car/mazda/carstate.py +++ b/selfdrive/car/mazda/carstate.py @@ -147,10 +147,11 @@ class CarState(CarStateBase): self.crz_btns_counter = cp.vl["CRZ_BTNS"]["CTR"] # camera signals - self.lkas_disabled = cp_cam.vl["CAM_LANEINFO"]["LANE_LINES"] == 0 if not self.CP.flags & MazdaFlags.TORQUE_INTERCEPTOR else False - self.cam_lkas = cp_cam.vl["CAM_LKAS"] - self.cam_laneinfo = cp_cam.vl["CAM_LANEINFO"] - ret.steerFaultPermanent = cp_cam.vl["CAM_LKAS"]["ERR_BIT_1"] == 1 if not self.CP.flags & MazdaFlags.TORQUE_INTERCEPTOR else False + if not self.CP.flags & MazdaFlags.NO_FSC: + self.lkas_disabled = cp_cam.vl["CAM_LANEINFO"]["LANE_LINES"] == 0 if not self.CP.flags & MazdaFlags.TORQUE_INTERCEPTOR else False + self.cam_lkas = cp_cam.vl["CAM_LKAS"] + self.cam_laneinfo = cp_cam.vl["CAM_LANEINFO"] + ret.steerFaultPermanent = cp_cam.vl["CAM_LKAS"]["ERR_BIT_1"] == 1 if not self.CP.flags & MazdaFlags.TORQUE_INTERCEPTOR else False self.cp_cam = cp_cam self.cp = cp @@ -281,11 +282,12 @@ class CarState(CarStateBase): messages = [] if CP.flags & MazdaFlags.GEN1: - messages += [ - # address, frequency - ("CAM_LANEINFO", 2), - ("CAM_LKAS", 16), - ] + if not CP.flags & MazdaFlags.NO_FSC: + messages += [ + # address, frequency + ("CAM_LANEINFO", 2), + ("CAM_LKAS", 16), + ] if CP.flags & MazdaFlags.RADAR_INTERCEPTOR: messages += [ diff --git a/selfdrive/car/mazda/mazdacan.py b/selfdrive/car/mazda/mazdacan.py index a9b1fe7e25..eb721ffca5 100644 --- a/selfdrive/car/mazda/mazdacan.py +++ b/selfdrive/car/mazda/mazdacan.py @@ -46,19 +46,20 @@ def create_steering_control(packer, CP, frame, apply_steer, lkas): csum = csum % 256 values = {} if CP.flags & MazdaFlags.GEN1: - values = { - "LKAS_REQUEST": apply_steer, - "CTR": ctr, - "ERR_BIT_1": er1, - "LINE_NOT_VISIBLE" : lnv, - "LDW": ldw, - "BIT_1": b1, - "ERR_BIT_2": er2, - "STEERING_ANGLE": steering_angle, - "ANGLE_ENABLED": b2, - "CHKSUM": csum - } - msgs.append(packer.make_can_msg("CAM_LKAS", 0, values)) + if not CP.flags & MazdaFlags.NO_FSC: + values = { + "LKAS_REQUEST": apply_steer, + "CTR": ctr, + "ERR_BIT_1": er1, + "LINE_NOT_VISIBLE" : lnv, + "LDW": ldw, + "BIT_1": b1, + "ERR_BIT_2": er2, + "STEERING_ANGLE": steering_angle, + "ANGLE_ENABLED": b2, + "CHKSUM": csum + } + msgs.append(packer.make_can_msg("CAM_LKAS", 0, values)) if CP.flags & MazdaFlags.TORQUE_INTERCEPTOR: values = {