diff --git a/CHANGELOGS.md b/CHANGELOGS.md index ebd12259ab..77bf202168 100644 --- a/CHANGELOGS.md +++ b/CHANGELOGS.md @@ -50,6 +50,9 @@ sunnypilot - 0.9.7.0 (2024-05-xx) * Display Metrics Below Chevron * NEW❗: Metrics is now being displayed below the chevron instead of above * NEW❗: Display both Distance and Speed simultaneously +* Ford F-150 2022-23 support +* Ford F-150 Lightning 2021-23 support +* Ford Mustang Mach-E 2021-23 support sunnypilot - 0.9.6.1 (2024-02-27) ======================== diff --git a/panda b/panda index 8607e23cdf..67c63b3cf9 160000 --- a/panda +++ b/panda @@ -1 +1 @@ -Subproject commit 8607e23cdf0fd3a89c2f99f51cf4f91cadb5b189 +Subproject commit 67c63b3cf9b2c2f537d90ef8d6ce0992e01457b6 diff --git a/selfdrive/car/ford/interface.py b/selfdrive/car/ford/interface.py index 5d6fa7dde4..bce7dfd2d6 100644 --- a/selfdrive/car/ford/interface.py +++ b/selfdrive/car/ford/interface.py @@ -20,7 +20,6 @@ class CarInterface(CarInterfaceBase): @staticmethod def _get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs): ret.carName = "ford" - ret.dashcamOnly = bool(ret.flags & FordFlags.CANFD) ret.radarUnavailable = True ret.steerControlType = car.CarParams.SteerControlType.angle @@ -45,6 +44,12 @@ class CarInterface(CarInterfaceBase): if ret.flags & FordFlags.CANFD: ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_FORD_CANFD + ret.longitudinalTuning.kpBP = [0.] + ret.longitudinalTuning.kpV = [0.5] + ret.longitudinalTuning.kiV = [0.] + ret.longitudinalTuning.deadzoneBP = [0., 9.] + ret.longitudinalTuning.deadzoneV = [.0, .20] + # Auto Transmission: 0x732 ECU or Gear_Shift_by_Wire_FD1 found_ecus = [fw.ecu for fw in car_fw] if Ecu.shiftByWire in found_ecus or 0x5A in fingerprint[CAN.main] or docs: diff --git a/selfdrive/car/sunnypilot_carname.json b/selfdrive/car/sunnypilot_carname.json index b42d6702e4..14bd5df389 100644 --- a/selfdrive/car/sunnypilot_carname.json +++ b/selfdrive/car/sunnypilot_carname.json @@ -28,6 +28,9 @@ "Ford Escape Plug-in Hybrid 2020-22": "FORD_ESCAPE_MK4", "Ford Explorer 2020-23": "FORD_EXPLORER_MK6", "Ford Explorer Hybrid 2020-23": "FORD_EXPLORER_MK6", + "Ford F-150 2022-23": "FORD_F_150_MK14", + "Ford F-150 Hybrid 2022-23": "FORD_F_150_MK14", + "Ford F-150 Lightning 2021-23": "FORD_F_150_LIGHTNING_MK1", "Ford Focus 2018": "FORD_FOCUS_MK4", "Ford Focus Hybrid 2018": "FORD_FOCUS_MK4", "Ford Kuga 2020-22": "FORD_ESCAPE_MK4", @@ -37,6 +40,8 @@ "Ford Maverick 2023-24": "FORD_MAVERICK_MK1", "Ford Maverick Hybrid 2022": "FORD_MAVERICK_MK1", "Ford Maverick Hybrid 2023-24": "FORD_MAVERICK_MK1", + "Ford Mustang Mach-E 2021-23": "FORD_MUSTANG_MACH_E_MK1", + "Ford Ranger 2024": "FORD_RANGER_MK2", "Genesis G70 2018": "GENESIS_G70", "Genesis G70 2019-21": "GENESIS_G70_2020", "Genesis G70 2022-23": "GENESIS_G70_2020", diff --git a/selfdrive/car/tests/routes.py b/selfdrive/car/tests/routes.py index 3ab4047c77..11141d2144 100755 --- a/selfdrive/car/tests/routes.py +++ b/selfdrive/car/tests/routes.py @@ -17,7 +17,6 @@ from openpilot.selfdrive.car.body.values import CAR as COMMA # TODO: add routes for these cars non_tested_cars = [ - FORD.FORD_F_150_MK14, GM.CADILLAC_ATS, GM.HOLDEN_ASTRA, GM.CHEVROLET_MALIBU, @@ -54,6 +53,7 @@ routes = [ CarTestRoute("e886087f430e7fe7|2023-06-16--23-06-36", FORD.FORD_FOCUS_MK4), CarTestRoute("bd37e43731e5964b|2023-04-30--10-42-26", FORD.FORD_MAVERICK_MK1), CarTestRoute("112e4d6e0cad05e1|2023-11-14--08-21-43", FORD.FORD_F_150_LIGHTNING_MK1), + CarTestRoute("24574459dd7fb3e0|2023-11-06--06-23-44", FORD.FORD_F_150_MK14), CarTestRoute("83a4e056c7072678|2023-11-13--16-51-33", FORD.FORD_MUSTANG_MACH_E_MK1), CarTestRoute("37998aa0fade36ab/00000000--48f927c4f5", FORD.FORD_RANGER_MK2), #TestRoute("f1b4c567731f4a1b|2018-04-30--10-15-35", FORD.FUSION),